如何为pod创建第二个网络接口。
特别是,我实际上有一个用例,其中第二个网络接口应该是主机(第二个网络接口)的理想共享网络接口,因为主机有第二个网络域?
外部服务(在作为主机的单独子网上)不在同一群集内控制(并由其他一些销售控制)。它通过将客户端ips列入白名单来限制其访问。
请建议。
感谢。
答案 0 :(得分:2)
在pod和主机之间共享网络接口。您需要以主机模式启动pod,这意味着pod将与主机节点共享相同的网络命名空间。
在pod配置文件中,您需要指定" hostNetwork:true"。
对于1.1之前的Kubernetes版本,你需要使用--host-network-sources =" *"启动kubelet时的选项。
以下是示例pod配置文件:
apiVersion: v1
kind: Pod
metadata:
name: test
spec:
hostNetwork: true
restartPolicy: Never
containers:
- name: test
image: ubuntu
command: ["bash", "sleep 1000"]
以下是示例kublet命令:
kubelet --api_servers=http://$MASTER_IP:8080 --address=0.0.0.0 --cluster_dns=10.0.0.10 --cluster_domain="kubernetes.local" --host-network-sources="*" --pod-infra-container-image="kiwenlau/pause:0.8.0
参考文献:
kubernetes specified host networking, but is disallowed? kubernetes network performance issue: moving service from physical machine to kubernetes get half rps drop