一、问题:k8s的19版本集群启用了ipvs,但是service对应的pod未加入ipvs策略中(使用ipvsadm -L命令查看)

https://kubernetes.io/zh/docs/reference/command-line-tools-reference/feature-gates/——搜索Endpoint关键字,查看EndpointSlice和EndpointSliceProxying的相关内容

从上图中,可以看到,1.19版本的k8s集群的参数EndpointSliceProxying默认是True。

 

二、解决方案:在kube-system这个命名空间中的configMap资源kube-proxy,中添加如下红框中的参数

 

三、操作过程:

[root@k8s-1-19-6-master01 ~]# kubectl edit cm kube-proxy -n kube-system
data:
  config.conf: |-
    apiVersion: kubeproxy.config.k8s.io/v1alpha1
    featureGates:                                       # 新增的参数
      EndpointSliceProxying: false                      # 新增的参数


[root@k8s-1-19-6-master01 ~]# kubectl delete pod kube-proxy...... -n kube-system    # 删除全部的以kube-proxy开头的pod。因为以kube-proxy开头的pod是以daemonset的形式运行的,所以删除之后,会自动再重新启动
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐