KubeEdge边缘节点显示calico、kube-proxy、nodelocaldns

KubeEdge边缘节点显示calico、kube-proxy、nodelocaldns等,并且

  • kubeproxy显示部署成功

  • calico初始化出现Error

这会导致部分 Pod 在调度至该边缘节点上后可能会一直处于 Pending 状态

这是因为部分守护进程集(例如,Calico)有强容忍度,在KubeSphere v3.1.1,网络插件是通过daemonset部署的,所以需要去daemonset调整kubeproxy和calico的亲和性防止它们调度至该边缘节点。

kubectl edit daemonset -n kube-system calico-node
kubectl edit daemonset -n kube-system kube-proxy
kubectl edit daemonset -n kube-system nodelocaldns

在spec里新增以下内容

spec:
  ...
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: node-role.kubernetes.io/edge
                operator: DoesNotExist
    ...            

然后刷新边缘节点容器组页面,即可看到kube-proxy、calico、nodelocaldns已经消失

posted @ 2021-08-28 15:53  请务必优秀  阅读(1397)  评论(0编辑  收藏  举报