栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【记录】kubernetes解决pod内无法通过服务别名通信问题

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【记录】kubernetes解决pod内无法通过服务别名通信问题

目录

前言

我的k8s版本用ipvs替换iptables

在所有节点上操作如下配置kube-proxy,在master上操作 现在进入pod内,可以ping通了!!!

前言

今天在搭建k8s的时候,发现不同服务间容器内无法通过别名来通信,但是能通过容器ip来通信,说白了就是

ping 服务名 --不通

ping 容器IP --通

网上查阅很多资料,才找到问题所在,话不多说,以下是解决方案。

我的k8s版本

kubernetes :v1.20.13kuboard:v3.3.0.6 用ipvs替换iptables 在所有节点上操作如下

开启内核支持

cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

让配置生效

sysctl -p

开启ipvs支持

yum -y install ipvsadm  ipset

ipvs生效

# 临时生效
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 < 
配置kube-proxy,在master上操作 

因使用kubeadmin安装,所以操作方式如

kubectl edit cm kube-proxy -n kube-system

修改mode配置

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"                  #修改这里

在master重启kube-proxy

kubectl  get pod -n kube-system | grep kube-proxy | awk '{print $1}' | xargs kubectl delete pod -n kube-system
现在进入pod内,可以ping通了!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740868.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号