kubernetes Kubespray:无法运行升级由于警戒失败的istiod [关闭]

qxgroojn  于 2023-06-05  发布在  Kubernetes
关注(0)|答案(1)|浏览(185)

**已关闭。**此问题为not about programming or software development。目前不接受答复。

这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
7天前关闭
Improve this question
我在4台运行Ubuntu 20.04的裸机服务器上运行Kubespray v.2.19.0。4台服务器设置为一个主节点和3个工作节点。这是我在家里运行的一个小集群,用来运行我自己的计算机和“玩”
我正在尝试使用以下命令运行升级:

ansible-playbook -kK -i inventory/mycluster/hosts.yaml upgrade-cluster.yml --become --become-user=root -e ignore_assert_errors=yes

但是当它试图封锁主节点(服务器名为server)时,我得到以下结果:

TASK [upgrade/pre-upgrade : Drain node] ****************************************
fatal: [server -> server]: FAILED! => {"attempts": 3, "changed": true, "cmd": ["/usr/local/bin/kubectl", "--kubeconfig", "/etc/kubernetes/admin.conf", "drain", "--force", "--ignore-daemonsets", "--grace-period", "300", "--timeout", "360s", "--delete-emptydir-data", "server"], "delta": "0:06:02.042964", "end": "2023-05-28 10:14:07.440240", "failed_when_result": true, "msg": "non-zero return code", "rc": 1, "start": "2023-05-28 10:08:05.397276", "stderr": "WARNING: ignoring DaemonSet-managed Pods: ingress-nginx/ingress-nginx-controller-rmdtj, kube-system/calico-node-rmdjg, kube-system/kube-proxy-fb6ff, kube-system/nodelocaldns-w5tzq\nerror when evicting pods/\"istiod-6b56cffbd9-thdjl\" -n \"istio-system\" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.\nerror when evicting pods/\"istiod-6b56cffbd9-thdjl\" -n \"istio-system\" (will retry after 5s):...

是否有一些标志可以传递给升级,告诉它忽略分发预算或完全忽略这些错误?

i5desfxk

i5desfxk1#

我建议您不要试图创建一个变通方案来解决实际问题。
你有两个选择您可以将复制副本增加到2。或者您可以禁用pod中断预算。
既然你只运行一个家庭实验室,我会选择第二个选项,不要浪费资源在第二个吊舱上,你可能不需要。
不清楚你是如何安装istio的,但这就是你如何使用操作符清单来安装的:

apiVersion: install.istio.io/v1alpha1 
kind: IstioOperator 
spec: 
  profile: default # your profile
  tag: 1.17.2 # your version 
  values: 
    global: 
      defaultPodDisruptionBudget: 
        enabled: false

将其保存到类似config.yaml的文件中,并使用istioctl install -f config.yaml安装。

相关问题