kubernetesのnodeダウンタイム、pod駆除問題解決

3410 ワード

背景:
Nodeがダウンタイムした場合、nodeノード上のpodが他のノードに迅速に分散し、サービスを提供することが望ましい.テストでは、5分待つと、上のpodが疎開することが分かった.
ネット上では/etc/kubernetes/manifests/kube-controller-managerを修正することで紹介されています.yaml
    - --node-monitor-grace-period=10s
    - --node-monitor-period=2s
    - --pod-eviction-timeout=10s

ただし、検証は有効ではありません.
解決策:
deploymentを変更して解決
[root@node-01 testnginx]# kubectl describe pod  nginx-deployment|grep -i toleration -A 2
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:          
--
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:          
[root@node-01 testnginx]# cat test-nginx.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: my-nginx
    spec:
      tolerations:
      - key: "node.kubernetes.io/unreachable"
        operator: "Exists"
        effect: "NoExecute"
        tolerationSeconds: 2
      - key: "node.kubernetes.io/not-ready"
        operator: "Exists"
        effect: "NoExecute"
        tolerationSeconds: 2
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 443

亲测が有効!!!
転載先:https://www.cnblogs.com/cptao/p/10911959.html