
K8S——init时报错:“Error getting node“ err=“node \“k8s-master\“ not found“
"Error getting node" err="node \"k8s-master\" not found"
·
问题:在对master节点进行init时报错"Error getting node" err=“node “k8s-master” not found”
使用以下命令进行init
kubeadm init --apiserver-advertise-address=服务器公网ip --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.6 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
报错:“Error getting node” err=“node “k8s-master” not found”
后来尝试将公网ip改成了私有ip发现init成功了
然后我就想着就用私有ip对了,就将/etc/hosts文件也该了,但是到Node加入的时候新问题来了,Node找不到master,就怀疑还是这个私有ip的问题。
之后尝试ping了以下,结果果然ping不通私有ip(我是才入门,所以不知道私有ip本来就ping不通,结果在安全组和防火墙上折腾了半天)。
结果发现,Kubernetes 的 API 服务器的证书默认只包含私有 IP 地址,如果你需要使用公有 IP 地址,需要进行额外的配置。
因此,就需要把公有ip配置到证书里,为了方便启动和配置,写了一个配置文件:
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: v1.23.6
imageRepository: registry.aliyuncs.com/google_containers
controlPlaneEndpoint: "公有IP:6443"
networking:
serviceSubnet: "10.96.0.0/12"
podSubnet: "10.244.0.0/16"
apiServer:
certSANs:
- "公有IP"
- "私有IP"
然后运行:
kubeadm init --config=/etc/kubeadm-config.yaml
成功了!!!
更多推荐
所有评论(0)