zoukankan      html  css  js  c++  java
  • kubernetes 在pod内无法ping通servicename和ClusterIP的解决方法

    kubernetes 在pod内无法ping通servicename和ClusterIP的解决方法

    1、需要使用 ipvs 替换iptables,操作是在所有节点上

    [root@master ~]# vim /etc/sysctl.d/k8s.conf

     增加   net.ipv4.ip_forward = 1

    [root@master ~]# sysctl --system

    2、安装IPVS

    [root@master ~]# yum -y install ipvsadm  ipset

    # 临时生效
    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
     
    # 永久生效
    cat > /etc/sysconfig/modules/ipvs.modules <<EOF
    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
    EOF
    

     3:配置kube-proxy,在master上操作,因使用kubeadmin安装,所以操作方式如下

    [root@master] # kubectl edit cm kube-proxy -n kube-system
    configmap/kube-proxy edited
     
    #修改如下
    kind: MasterConfiguration
    apiVersion: kubeadm.k8s.io/v1alpha1
    ...
    ipvs:
          excludeCIDRs: null
          minSyncPeriod: 0s
          scheduler: ""
          syncPeriod: 30s
        kind: KubeProxyConfiguration
        metricsBindAddress: 127.0.0.1:10249
        mode: "ipvs"                  #修改
    

     在  mode: "ipvs"

    4:在master重启kube-proxy

    kubectl  get pod -n kube-system | grep kube-proxy | awk '{print $1}' | xargs kubectl delete pod -n kube-system
    

     5:验证ipvs是否开启

    [root@master ]# kubectl logs kube-proxy-97w6h -n kube-system

     6:验证:进入pod内,现在可以ping通servicename了

    [root@master ~] # kubectl exec -it pod-net-test -c t1 sh

  • 相关阅读:
    Office Shared-Addin : Favorite的下载、安装和使用(2020.2.22)
    VBA编程常用词汇英汉对照表
    Excel-DNA自定义函数的参数智能提示功能:ExcelDna.IntelliSense1.1.0.rar
    VSTO开发中级教程 配套资源下载
    TreeviewEditor.rar
    FaceIDViewer.rar
    imageMso7345.rar
    VisualStudioAddin2016Setup.rar
    VBE2014_Setup_20160709.rar
    documen.write 和 innerHTML 的区别?
  • 原文地址:https://www.cnblogs.com/yyuuee/p/15305104.html
Copyright © 2011-2022 走看看