0

microk8s 中的简单 ubuntu pod 无法 ping 外部服务器。以下是部署清单。

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: myapp 
  name: valet-pod 
spec:
  selector:
    matchLabels:
      app: valet-pod 
  replicas: 1
  template:
    metadata:
      labels:
        app: valet-pod 
        tenantid: softwareag
    spec:
      containers:
        - name: valet-pod 
          image: ubuntu 
          command: ["/bin/bash", "-c"]
          args:
            - apt-get update -y;
              apt-get install -y curl traceroute net-tools iputils-ping;
              echo "Sleeping for 5000";
              sleep 5000;

但是,docker 容器通过 ping 任何外部服务器。

这发生在笔记本电脑的 ubuntu 18 中。以下是网络设置。

ufw allow in on cbr0
ufw default allow FORWARD
sysctl net.ipv4.ip_forward=1 

可以使用什么工具来解决此类情况?

4

1 回答 1

0

在 microk8s 1.16 版本中,网络接口是cni0,在microk8s的低版本中是 cbr0。

因此,修复是允许接口 cni0(而不是 cbr0)上的传入数据包。

ufw allow in on cni0

这解决了这个问题。

于 2020-02-27T19:26:21.553 回答