CKA [Installation] – Ubuntu 从0架设,配置Kubelet Preferred Address Type

根据以上的图片,我们在使用apiserver 进入到pod内的时候,apiserver 会使用hostname解析WorkerNode在网络的地址,然后和kubelet进行连接。但是如果本机的/etc/hosts删除了hostname的解析ip的话,就无法使用hostname连接了。
在AWS EC2 如果使用来自不同VPC的主机的话(使用VpcPeering链接)hostname是无法解析和连接的。
所以根据以上的问题,我们可以把hostname改成使用ip来让MasterNode和WorkerNode做连接。
1. 更改apiserver service的配置
nano /etc/systemd/system/kube-apiserver.service
2. 在ExecStart 的最尾端加上这个命令行 , 就是优先使用IP来和WorkerNode进行通讯
--kubelet-preferred-address-types InternalIP

3. 刷新服务, 重启apiserver的服务需要2-3分钟
systemctl daemon-reload
systemctl restart kube-apiserver
4. 创建一个pod, 然后来测试list出来pod的文件目录
kubectl run nginx --image=nginx
kubectl exec -it nginx -- ls
Facebook评论