クーバーネディス故障シュート-control plain


1


k 8 s環境ではappが正常に動作しない可能性があります.
原因を見つけて修復しましょう.
kubectl get all --all-namespaces

descripeでもっと詳しく見てみましょう.
kubectl describe pod -n kube-system kube-scheduler-controlplane

この部分に問題があるようです.
kube-schedulerの宣言文書を修正します.
vi /etc/kubernetes/manifests/kube-scheduler.yaml 
# in kube-scheduler.yaml
spec:
  containers:
  - command:
    - kube-scheduler
    - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
    - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
    - --bind-address=127.0.0.1
    - --kubeconfig=/etc/kubernetes/scheduler.conf
    - --leader-elect=true
    - --port=0
リカバリを確認するには、再度チェックします.
kubectl get all --all-namespaces

good~

2


デプロイ中のpodを1つから2つに拡張してから、例外が発生しました.
kubectl get all --all-namespaces

よく見せてください.
kubectl describe pod -n kube-system kube-controller-manager-controlplane 
しかしdescibeだけでは原因を特定するのは難しい.
ログを表示します.
kubectl logs -n kube-system kube-controller-manager-controlplane  

config file名が正しくない可能性があります.
root@controlplane:~# ls /etc/kubernetes/          
admin.conf               kubelet.conf             pki/                     
controller-manager.conf  manifests/               scheduler.conf   
修正はcontroller-managet.confです.
 vi /etc/kubernetes/manifests/kube-controller-manager.yaml 
spec:
  containers:
  - command:
	...중략...
    - --kubeconfig=/etc/kubernetes/controller-manager.conf
    ...중략...
正常に動いているかもう一度確認します.
kubectl get all --all-namespaces

good~

3

kubectl logs -n kube-system kube-controller-manager-controlplane  

ログから、パスに問題があることがわかります.
kubectl describe pod -n kube-system kube-controller-manager-controlplane 

例外パスが含まれていることを確認.
正しいパスで修正します.
 vi /etc/kubernetes/manifests/kube-controller-manager.yaml 
  volumes:
  ...중략...
  - hostPath:
      path: /etc/kubernetes/pki
      type: DirectoryOrCreate
    name: k8s-certs
  ...중략...
確認します.

good!