23

私は Kubernetes のすべてに慣れていないので、まだ学ぶことがたくさんあります。

2 ノードの Kubernetes クラスターを作成し、両方のノード (マスターとワーカー) で作業を行う準備ができています。

[monkey@k8s-dp1 nginx-test]# kubectl get nodes
NAME      STATUS    ROLES     AGE       VERSION
k8s-dp1   Ready     master    2h        v1.9.1
k8s-dp2   Ready     <none>    2h        v1.9.1

また、すべての Kubernetes Pod は正常に見えます。

[monkey@k8s-dp1 nginx-test]# kubectl get pods --all-namespaces
NAMESPACE     NAME                              READY     STATUS    RESTARTS   AGE
kube-system   etcd-k8s-dp1                      1/1       Running   0          2h
kube-system   kube-apiserver-k8s-dp1            1/1       Running   0          2h
kube-system   kube-controller-manager-k8s-dp1   1/1       Running   0          2h
kube-system   kube-dns-86cc76f8d-9jh2w          3/3       Running   0          2h
kube-system   kube-proxy-65mtx                  1/1       Running   1          2h
kube-system   kube-proxy-wkkdm                  1/1       Running   0          2h
kube-system   kube-scheduler-k8s-dp1            1/1       Running   0          2h
kube-system   weave-net-6sbbn                   2/2       Running   0          2h
kube-system   weave-net-hdv9b                   2/2       Running   3          2h

ただし、クラスターで新しいデプロイメントを作成しようとすると、デプロイメントは作成されますが、そのポッドは適切な RUNNING 状態になりません。例えば

[monkey@k8s-dp1 nginx-test]# kubectl apply -f https://k8s.io/docs/tasks/run-application/deployment.yaml
deployment "nginx-deployment" created

[monkey@k8s-dp1 nginx-test]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                READY     STATUS              RESTARTS   AGE
default       nginx-deployment-569477d6d8-f42pz   0/1       ContainerCreating   0          5s
default       nginx-deployment-569477d6d8-spjqk   0/1       ContainerCreating   0          5s
kube-system   etcd-k8s-dp1                        1/1       Running             0          3h
kube-system   kube-apiserver-k8s-dp1              1/1       Running             0          3h
kube-system   kube-controller-manager-k8s-dp1     1/1       Running             0          3h
kube-system   kube-dns-86cc76f8d-9jh2w            3/3       Running             0          3h
kube-system   kube-proxy-65mtx                    1/1       Running             1          2h
kube-system   kube-proxy-wkkdm                    1/1       Running             0          3h
kube-system   kube-scheduler-k8s-dp1              1/1       Running             0          3h
kube-system   weave-net-6sbbn                     2/2       Running             0          2h
kube-system   weave-net-hdv9b                     2/2       Running             3          2h

問題が何であるかを理解する方法がわかりませんが、たとえば を実行するkubectl get evと、次の疑わしいイベントが表示されます。

<invalid>   <invalid>    1         nginx-deployment-569477d6d8-f42pz.15087c66386edf5d   Pod
             Warning   FailedCreatePodSandBox   kubelet, k8s-dp2        Failed create pod sandbox.

しかし、私はここからどこへ行くべきかわかりません。また、nginx docker イメージ自体が に表示されないこともわかりますdocker images

問題の詳細を確認するにはどうすればよいですか? kubernetes セットアップで基本的な何かが欠けていますか?

--- 新しい情報 ---

役立つ場合の背景情報については...

Kubernetes ノードは、Windows 10 hyper-v でホストされている CentOS 7 VM で実行されています。

--- 新しい情報 ---

実行kubectl describe podsすると、次の警告が表示されます。

Warning  NetworkNotReady         1m                             kubelet, k8s-dp2  network is not ready: [runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized]

--- 新しい情報 ---

昼の仕事が終わった夜、Kubernetes を実行している Hyper-v VM の電源を切り、今朝オフィスに戻ると、もう一度 Kubernetes VM の電源を入れて続行し、約 15 分間、次のコマンドを実行しました。

kubectl get pods --all-namespacesこれらの nginx ポッドについては昨日と同じようにまだ表示ContainerCreatingされていましたが、現在、コマンドはRunningnginx ポッドを含むすべてのポッドを表示しています...つまり、マスター ノード VM とワーカー ノード VM の両方を完全に再起動した後、問題は解決しました。

もう一度完全な再起動を行ったところ、すべてのポッドが実行中として表示されていますが、これは問題ありません。

4

10 に答える 10

0

Had same issue but problem with my side was that cluster took too much time to pull the image, may a quick cluster restart can help to make the process faster

于 2021-09-11T09:55:53.557 に答える