Kubernetes:kubeadm 加入主节点失败

标签 kubernetes kubeadm

我试图 create a single master cluster with kubeadm在 CentOS 虚拟机中。

我想在主节点上调度 pod,因此我运行以下命令

kubectl taint nodes --all node-role.kubernetes.io/master-

但是,当我尝试运行

kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>

正确输入 token 、主 IP、主端口和哈希值。飞行前检查给出以下错误:

/etc/kubernetes/manifests is not empty
/etc/kubernetes/kubelet.config already exists
Port 10250 is in use
/etc/kubernetes/pki/ca.crt already exists

如何修复错误以便仍可以在主节点上调度 Pod?谢谢

最佳答案

你基本上不需要kubeadm join在主服务器上,因为它已经由 kubeadm init 设置。此外,您删除了主节点上的污点以运行 Pod 的事实应该足以让您在主节点上运行 Pod(仅用于测试)。

如果您希望 K8s 节点加入集群来运行您的 Pod,您可以使用 kubeadm join ,在这种情况下,您可以污染您的 master,使其不运行任何 pod。 (如果您愿意,您可以删除污点,但不建议在主服务器上运行工作负载,尤其是在生产中)

关于Kubernetes:kubeadm 加入主节点失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53166555/

相关文章:

kubernetes - 如何解决k8adpersistentvolume-controller没有适用于kubeadm的音量插件

kubernetes - 用于 Google Kubernetes Engine 中 Stackdriver 日志记录的 JSON 格式

go - 使用 kubernetes/go-client 无法从集群配置中恢复数据

docker - kubernetes集群间歇性丢失

ubuntu - 无法验证 kubelet 标志 : the container runtime endpoint address was not specified or empty, 使用 --container-runtime-endpoint 来设置

kubernetes - ETCD kubeadm getsockopt : connection refused

nginx - Ingress-Nginx 的正则表达式路径匹配

docker - 是否有minikube的docker镜像

kubernetes - Knative服务http超时设置

kubernetes - 为什么需要 kubeadm config 的 controlPlaneEndpoint?