Networking microk8s中的简单ubuntu pod无法ping外部服务器

Networking microk8s中的简单ubuntu pod无法ping外部服务器,networking,microk8s,Networking,Microk8s,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

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任何外部服务器

这是发生在笔记本电脑的Ubuntu18上。以下是网络设置

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

可以使用什么工具对此类情况进行故障排除

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

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

ufw允许在cni0上进入

这就解决了问题