kubernetes集群怎么访问外部的服务mysql、redis?

发布于 2022-09-05 15:47:40 字数 1433 浏览 24 评论 0

kubernetes pod中的container 无法ping通本地其他物理机。

集群信息

k8s-master 192.168.10.12
k8s-node-1 192.168.10.14
k8s-node-2 192.168.10.15

cat my-nginx.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: registry:5000/nginx:1.9
        ports:
        - containerPort: 80
    

kubectl create -f my-nginx.yaml
创建两个nginx的pod。
两个nginx 的ip分别为10.0.48.7,10.0.98.5。分别在两个node节点上。

kubectl exec my-nginx-1192235638-hvlmk -i -t -- /bin/bash
登录其中一台。

clipboard.png

ping 10.0.48.7 可以ping通

clipboard.png

但是ping物理机ip无法ping通,只能ping通container所在物理机。

clipboard.png

container所在物理机iptables如下:

clipboard.png

想使用容器访问192.168.10.13物理机的mysql和redis,但是根本不通啊?跪求大神帮忙解释一下!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

把时间冻结 2022-09-12 15:47:40

加上路由 试试 ?

参考 https://www.jianshu.com/p/9a4...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文