问题简述
原本用
kubeadm
安装的的kubernetes 1.11.x集群升级到1.12.x 后(使用kubeadm upgrade
升级)发现无法将新的node加入到集群中,会出现以下报错信息
1 | [preflight] running pre-flight checks |
原本用
kubeadm
安装的的kubernetes 1.11.x集群升级到1.12.x 后(使用kubeadm upgrade
升级)发现无法将新的node加入到集群中,会出现以下报错信息
1 | [preflight] running pre-flight checks |
kubeadm部署的kubernets证书一直都是个诟病,默认都只有一年有效期,kubeadm 1.14.x安装后有部分证书还是一年有效期,但个别证书已修改为10年有效期,但对我们使用来说,一年有效期还是一个比较的坑,需要进行调整。
1 | /etc/kubernetes/pki/apiserver.crt |
我们可以通过 Service 生成的ClusterIP(VIP)
来访问 Pod 提供的服务,但是在使用的时候还有一个问题:我们怎么知道某个应用的 VIP 呢?比如我们有两个应用,一个是 api 应用,一个是 db 应用,两个应用都是通过Deployment
进行管理的,并且都通过 Service 暴露出了端口提供服务。api 需要连接到 db 这个应用,我们只知道 db 应用的名称和 db 对应的 Service 的名称,但是并不知道它的 VIP 地址,我们前面的 Service 课程中是不是学习到我们通过ClusterIP
就可以访问到后面的Pod
服务,如果我们知道了 VIP 的地址是不是就行了?
我们知道可以从 apiserver 中直接查询获取到对应 service 的后端 Endpoints信息,所以最简单的办法是从 apiserver 中直接查询,如果偶尔一个特殊的应用,我们通过apiserver
去查询到Service
后面的 Endpoints
直接使用是没问题的,但是如果每个应用都在启动的时候去查询依赖的服务,这不但增加了应用的复杂度,这也导致了我们的应用需要依赖Kubernetes
了,耦合度太高了,不具有通用性。
1 | # 设置主机名 |