Kubernetes 部署:错误:无法创建部署:

时间:2021-02-09 10:05:03

标签: kubernetes kubernetes-pod

环境详情:

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

请帮助我解决此问题,因为我无法理解问题所在。

1 个答案:

答案 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