Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

部分 XI. Kubernetes

目录

106. Minikube
106.1. CentOS 8 安装 minikube
106.1.1. CentOS
106.1.2. Mac OS
106.2. Quickstart
106.3. minikube 命令
106.3.1. minikube ip 地址
106.3.2. 启动 minikube
106.3.3. 停止 minikube
106.3.4. Docker 环境变量
106.3.5. SSH
106.3.6. 缓存镜像
106.3.7. 清理 minikube
106.3.8. Kubernetes 控制面板
106.3.9. service
106.3.10. 查看日志
106.3.11. 查看 Docker 环境变量
106.3.12. profile
106.3.13. addons
106.3.14. SSH
106.3.15. 查看IP地址
106.3.16. 镜像管理
106.3.17. kubectl
106.4. Minikube 案例演示
106.5. FAQ
106.5.1. This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
106.5.2. ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables
106.5.3. ERROR ImagePull
106.5.4. 证书已存在错误
106.5.5. http: server gave HTTP response to HTTPS client
106.5.6. provided port is not in the valid range. The range of valid ports is 30000-32767
106.5.7. Exiting due to MK_ENABLE: run callbacks: running callbacks: [verifying registry addon pods : timed out waiting for the condition: timed out waiting for the condition]
106.5.8. Exiting due to SVC_URL_TIMEOUT: http://127.0.0.1:11068/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ is not accessible: Temporary Error: unexpected response code: 503
106.5.9. Mac minikube ip 不通,ingress 不工作
107. microk8s
107.1. 安装 microk8s
107.1.1. 安装指定版本
107.2. 组件管理
107.2.1. dns
107.2.2. dashboard
107.3. kubectl
107.4. Kubernetes Addons
107.4.1.
108. Kubernetes 集群管理
108.1. 配置
108.1.1. KUBECONFIG
108.1.2. use-context
108.2. 如何从 docker 过渡到 kubectl 命令
108.2.1. 执行 Shell
108.2.2. 查看信息
108.2.3. 查看 pod 日志
108.2.4. 复制文件
108.2.5. edit
108.2.6. 端口转发
108.2.7. 操作系统资源配置
108.2.8. endpoints
108.2.9. explain
108.2.10. describe
108.3. namespace 命名空间
108.3.1. 查看命名空间
108.3.2. 创建命名空间
108.3.3. 使用 yaml 创建命名空间
108.3.4. 删除命名空间
108.4. label 标签
108.5. 服务管理
108.5.1. 列出服务
108.5.2. 创建服务
108.5.3. 查看服务详细信息
108.5.4. 更新服务
108.5.5. 删除服务
108.5.6. clusterip
108.5.7. 设置外部IP
108.5.8. externalname
108.5.9. 负载均衡
108.5.10. nodeport
108.5.11. Example
108.6. serviceaccount
108.7. Pod 管理
108.7.1. 查看 POD 状态
108.7.2. 运行 POD
108.7.3. 删除 pod
108.7.4. 查看 Pod 的事件
108.7.5. Taint(污点)和 Toleration(容忍)
108.7.6. 镜像拉取策略
108.7.7. 指定主机名
108.7.8. 环境变量
108.7.9. 健康状态检查
108.7.10. securityContext
108.7.11. nodeName 选择节点
108.7.12. nodeSelector 选择节点
108.7.13. nodeAffinity 选择节点
108.7.14. Taint(污点)和 Toleration(容忍)
108.7.15. strategy
108.8. 部署管理
108.8.1. expose
108.8.2. 部署容器
108.8.3. 删除 deployment
108.8.4. 扩容管理
108.8.5. rollout
108.8.6. 重启容器
108.8.7. 更新镜像
108.9. secret 密钥管理
108.9.1. 获取 Token
108.9.2. 创建 Secret
108.9.3. Private Registry 用户认证
108.9.4. 配置TLS SSL
108.10. ConfigMap
108.10.1. 创建 Key-Value 配置项
108.10.2. 从文件创建 ConfigMap
108.10.3. 从环境变量文件创建 ConfigMap
108.10.4. 查看 ConfigMap
108.10.5. 删除 ConfigMap
108.10.6. ConfigMap
108.11. Job/CronJob
108.11.1. CronJob
108.11.2. Job
108.12. clusterrolebinding
108.13. Volume
108.13.1. local
108.14. Ingress
108.14.1. 管理 Ingress
108.14.2. 挂载 SSL 证书上
108.14.3. 端口
108.14.4. URI 规则
108.14.5. vhost 虚拟主机
108.14.6. rewrite
108.14.7. annotations 配置
108.14.8. 金丝雀发布(灰度发布)
108.14.9. 解决 504 网关超时
109. kubectl example
109.1. 私有 registry
109.2. mongodb
109.3. tomcat
110. istio
110.1. 启动 istio
110.2. 禁用 istio
111. Kubeapps
112. Helm - The package manager for Kubernetes
112.1. 安装 Helm
112.1.1. AlmaLinux
112.1.2. Rocky Linux
112.1.3. Ubuntu
112.1.4. Mac
112.2. 快速开始
112.3. Helm 命令
112.3.1. 初始化 Helm
112.3.2. 查看仓库列表
112.3.3. 搜索
112.3.4. 查看包信息
112.3.5. 安装
112.3.6. 列表
112.3.7. 删除
112.3.8. 升级
112.3.9. 回滚
112.3.10. 查看状态
112.4. ingress-nginx
112.5. elastic
112.6. Helm The package manager for Kubernetes
112.7. Helm Faq
113. Rancher - Multi-Cluster Kubernetes Management
113.1. 安装 Rancher
113.1.1. Rancher Server
113.1.2. Rancher Kubernetes Engine (RKE) 2
113.1.3. Rancher Kubernetes Engine (RKE) 1
113.1.4. Rancher CLI
113.1.5. rancher-compose
113.2. 快速入门
113.2.1. API
113.3. Rancher Compose
113.3.1. Rancher Compose 命令
113.3.2. 操作演示
113.4. Rancher CLI
113.4.1. 登陆 Rancher
113.4.2. 查看集群
113.4.3. 查看节点
113.4.4. catalog
113.4.5. 查看设置
113.4.6. rancher kubectl
113.5. K3s
113.5.1. AutoK3s
113.5.2. 安装 K3s(Docker 模式)
113.5.3. 安装 K3s(VM 模式)
113.5.4. k3d
113.5.5. TLS 证书
113.5.6. 创建 Token
113.5.7. FAQ
113.6. Rancher Demo
113.6.1. Rancher 部署 Nginx
113.6.2. local-path-provisioner
113.7. Longhorn
113.7.1. 安装 Longhorn
113.7.2. 选择磁盘类型
113.7.3. 节点选择
113.7.4. FAQ
113.8. FAQ
113.8.1. 调试 Rancher 查看日志
113.8.2. [network] Host [rancher.netkiller.cn] is not able to connect to the following ports: [rancher.netkiller.cn:2379]. Please check network policies and firewall rules
113.8.3. cgroups v2

1. 常见问题

1.1. 从局域网访问POD

		
宿主主机:172.18.200.5
POD网络:

[root@agent-5 ~]# kubectl -n project get pods -o wide
NAME                                         READY   STATUS             RESTARTS         AGE     IP            NODE      NOMINATED NODE   READINESS GATES
neo-sms-cb888b96b-khhjb                 	 1/1     Running            0                9d      10.42.0.101   master    <none>           <none>
neo-xxl-job-admin-6868fc69b6-rdjkx     	 	 1/1     Running            0                9d      10.42.6.165   agent-5   <none>           <none>
neo-job-executor-5ddd9c8f56-6pbzr       	 1/1     Running            0                9d      10.42.6.164   agent-5   <none>           <none>
netkiller-gateway-575cc78dd8-pg8w7           1/1     Running            0                9d      10.42.1.182   agent-1   <none>           <none>
netkiller-aaa-portal-f49849579-l4gp5         1/1     Running            0                9d      10.42.0.102   master    <none>           <none>
netkiller-pay-5d4bbcd695-47v7w               1/1     Running            0                9d      10.42.0.112   master    <none>           <none>
netkiller-pay-5565c6ffc-x4gl2                1/1     Running            0                9d      10.42.0.116   master    <none>           <none>
neo-finance-admin-696f55f858-ffgbt           1/1     Running            0                8d      10.42.1.232   agent-1   <none>           <none>
neo-finance-7676dcbf8-q2sxq                  1/1     Running            0                5d18h   10.42.1.23    agent-1   <none>           <none>
		
		

我们只需要在访问 POD 的机器上配置路由即可

		
root@netkiller ~# ip route add 10.42.0.0/16 via 172.18.200.5		
		
		

ping 测试

		
root@netkiller ~# ping 10.42.1.101 -c 1
PING 10.42.1.101 (10.42.1.101) 56(84) bytes of data.
64 bytes from 10.42.1.101: icmp_seq=1 ttl=62 time=0.530 ms

--- 10.42.1.101 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.530/0.530/0.530/0.000 ms		
		
		

MacOS

		
sudo route -n add -net 192.168.0.0 -netmask 255.255.255.0 192.168.5.254 
sudo route -n add -net 10.42.0.0 -netmask 255.255.0.0 172.18.200.5 		


Last login: Wed Apr 19 16:43:30 on ttys007
neo@MacBook-Pro-M2 ~ % sudo route -n add -net 10.42.0.0 -netmask 255.255.0.0 172.18.200.5
Password:
add net 10.42.0.0: gateway 172.18.200.5