zoukankan      html  css  js  c++  java
  • 处理K8S集群pod不能访问其他service的问题

    当时K8S环境想用来设计部署微服务这块的架构才发现的这个问题

    我的K8S集群是使用kubeadm安装的,当时也是跟着网上教程走的,并没有注意网络路由使用的iptables规则

    现在出现pod不能ping通service或者ping通CLUSTER-IP的问题,导致如果我再集群里部署注册中心,并不能正常使用的问题

    以下为把iptables变更为ipvs模块的操作

    修改网络模式ipvs
    1、修改kube-proxy
    再master上执行:kubectl edit cm kube-proxy -n kube-system   (如果是高可用,在第一个master上执行)
    mode “ipvs”   (找到kind: KubeProxyConfiguration这一项。。。他下面的第二行就是这个mode)

    2、添加ipvs模块(每个节点上执行)

    cat > /etc/sysconfig/modules/ipvs.modules <<EOF
    #!/bin/bash
    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
    EOF

    3、添加权限并生效(每个节点上执行)

    chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

    4、重启kube-proxy(master上执行)

    kubectl get pod -n kube-system | grep kube-proxy |awk '{system("kubectl delete pod "$1" -n kube-system")}'

    5、查看kube-proxy启动日志,确认是否为ipvs
    kubectl logs -n kube-system kube-proxy-ff74q  (这个pod名称使用命令kubectl get pod -n kube-system查出来)
    6、验证是否可以pod访问service

  • 相关阅读:
    Hive-1.2.1_05_案例操作
    Hive-1.2.1_04_DML操作
    Hive-1.2.1_03_DDL操作
    Hive-1.2.1_02_简单操作与访问方式
    Hive-1.2.1_01_安装部署
    Hadoop2.7.6_08_Federation联邦机制
    Hadoop2.7.6_07_HA高可用
    NFS服务搭建与配置
    Hadoop2.7.6_06_mapreduce参数优化
    Hadoop2.7.6_05_mapreduce-Yarn
  • 原文地址:https://www.cnblogs.com/deny/p/13880589.html
Copyright © 2011-2022 走看看