如何配置MicroK8s,避免切换网络时频繁更新证书?
解决MicroK8s切换网络后Kubectl命令挂起的永久方案
问题根源
你猜的没错,MicroK8s默认会用节点当前的外部IP生成API Server证书,切换网络后IP变更,Kubectl访问时证书验证不通过,就会出现无限挂起的情况。用refresh-certs临时修复可行,但每次切换都操作太麻烦,下面是几个永久解决办法:
方法一:用本地回环地址访问API Server(推荐)
本地回环地址127.0.0.1不受外部网络变化影响,让Kubectl通过回环访问MicroK8s,从根本上避开IP依赖问题:
修改API Server配置
编辑MicroK8s的API Server启动参数文件:sudo nano /var/snap/microk8s/current/args/kube-apiserver添加或修改以下参数:
--advertise-address=127.0.0.1 --bind-address=0.0.0.0保存后重启MicroK8s:
sudo microk8s stop && sudo microk8s start刷新API Server证书(包含回环地址)
执行命令让证书添加上127.0.0.1和localhost的SAN(主题备用名称):sudo microk8s refresh-certs --cert apiserver.crt更新Kubeconfig指向回环地址
替换Kubeconfig里的API Server地址为127.0.0.1:microk8s config | sed 's/server: https:\/\/.*:16443/server: https:\/\/127.0.0.1:16443/' > ~/.kube/config之后验证连接:
kubectl get nodes
方法二:用固定主机名替代IP
如果需要其他设备也能访问你的MicroK8s,可配置固定主机名:
设置机器固定主机名
sudo hostnamectl set-hostname dev-k8s-laptop让主机名指向本地回环(可选,本地访问用)
编辑/etc/hosts添加:127.0.0.1 dev-k8s-laptop修改API Server配置使用主机名
编辑/var/snap/microk8s/current/args/kube-apiserver,添加:--advertise-address=dev-k8s-laptop --bind-address=0.0.0.0重启MicroK8s并刷新证书:
sudo microk8s stop && sudo microk8s start sudo microk8s refresh-certs --cert apiserver.crt更新Kubeconfig使用主机名
microk8s config | sed 's/server: https:\/\/.*:16443/server: https:\/\/dev-k8s-laptop:16443/' > ~/.kube/config
团队统一配置建议
可以把上述步骤写成一个shell脚本,分享给团队成员一键执行:
#!/bin/bash # 配置MicroK8s使用回环地址 sudo sed -i '/--advertise-address/d' /var/snap/microk8s/current/args/kube-apiserver sudo sed -i '/--bind-address/d' /var/snap/microk8s/current/args/kube-apiserver echo "--advertise-address=127.0.0.1" | sudo tee -a /var/snap/microk8s/current/args/kube-apiserver echo "--bind-address=0.0.0.0" | sudo tee -a /var/snap/microk8s/current/args/kube-apiserver # 重启并刷新证书 sudo microk8s stop && sudo microk8s start sudo microk8s refresh-certs --cert apiserver.crt -y # 更新kubeconfig microk8s config | sed 's/server: https:\/\/.*:16443/server: https:\/\/127.0.0.1:16443/' > ~/.kube/config echo "配置完成,执行kubectl get nodes验证"
内容的提问来源于stack exchange,提问作者Bart
相关产品推荐
相关产品推荐

