其他机器kubectl如何访问虚拟机的k8s集群
mac需要访问window虚拟机创建的集群,记录下操作
1、端口映射
需要在window下将宿主机即window的端口和虚拟机的端口做映射。
我的宿主机ip是192.168.124.16,虚拟机master的ip是192.168.50.100。我需要将master的apiserver端口即6443端口通过宿主机映射出来。我选择使用宿主机的6443端口。
需要使用管理员权限进行设置
进入cmd命令行,执行以下命令
netsh interface portproxy add v4tov4 listenport=6443 listenaddress=192.168.124.16 connectport=6443 connectaddress=192.168.50.100
listen是宿主机ip,connect是虚拟机ip
通过以下命令查看结果
netsh interface portproxy show v4tov4
之后需要通过控制面板-防火墙-高级设置-入站规则-新建入站规则-端口,添加端口
2、修改集群config,新增支持192.168.124.16这个ip
进入虚拟机master终端执行
rm -rf /etc/kubernetres/pki/apiserver.*
删除旧证书
kubeadm init phase certs apiserver --apiserver-advertise-address 192.168.50.100 --apiserver-cert-extra-sans 192.168.124.16
新增ip
kubeadm alpha certs renew admin.conf
更新配置
kubectl delete pod apiserver名称 -n kube-system
删除apiserver并让其使用新配置重启
3、将新的config文件拷贝到mac上
将~/.kube/config拷贝到宿主机,然后在拷贝到mac
放到~/.kube/config
执行kubectl cluster-info查看结果