私は 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
されていましたが、現在、コマンドはRunning
nginx ポッドを含むすべてのポッドを表示しています...つまり、マスター ノード VM とワーカー ノード VM の両方を完全に再起動した後、問題は解決しました。
もう一度完全な再起動を行ったところ、すべてのポッドが実行中として表示されていますが、これは問題ありません。