环境详情:
Kubernetes version: `v1.20.2`
Master Node: `Bare Metal/Host OS: CentOS 7`
Worker Node: `VM/Host OS: CentOS 7`
我已经安装并配置了 Kubernetes 集群、裸机服务器上的主节点和 Windows Server 2012 HyperV 虚拟机上的工作节点。 master 节点和 worker 节点都具有相同的 Kubernetes 版本 (v1.20.2) & centos7。成功加入worker节点到master,下面是get节点状态。
$ kubectl get nodes
**NAME STATUS ROLES AGE VERSION
k8s-worker-node1 Ready <none> 2d2h v1.20.2
master-node Ready control-plane,master 3d4h v1.20.2**
在工作节点上创建部署时,我收到以下错误消息。
在工作节点上,我发出了以下命令。
$ kubectl create deployment nginx-depl --image=nginx
Error message is:
error: failed to create deployment: Post “http://localhost:8080/apis/apps/v1/namespaces/default/deployments?fieldManager=kubectl-create”: dial tcp: lookup localhost on 8.8.8.8:53: no such host
请帮助我解决此问题,因为我无法理解问题所在。
答案 0 :(得分:0)
您似乎是在工作节点上发出 kubectl create deployment
命令。这将不起作用,因为 kubectl 命令与 kub-apiserver 进行通信以进行集群通信。由于 apiserver 不在工作节点上运行,在其上执行命令会引发错误。
改为在主节点上以非root用户的身份使用以下附加命令执行相同的kubectl
命令,
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
$ kubectl create deployment nginx-depl --image=nginx