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

Loading

Facebook评论