假设我想在裸机服务器上创建一个k8s集群,其中包含1个主节点和2个节点。我必须在防火墙中打开哪些端口,以便主服务器和节点可以通过Internet进行通信? (我知道我可以使用VPN,但我只想知道我需要哪些端口)。我想我至少需要以下端口。我需要更多吗?如果我使用法兰绒或印花布怎么样?我想创建一个所有可能的k8s服务和所需端口的综合列表。谢谢。
kubectl - 8080
ui - 80或443或9090
etcd - 2379,2380
答案 0 :(得分:12)
答案 1 :(得分:8)
Kubernestes需要:
主节点:
TCP 6443* Kubernetes API Server
TCP 2379-2380 etcd server client API
TCP 10250 Kubelet API
TCP 10251 kube-scheduler
TCP 10252 kube-controller-manager
TCP 10255 Read-Only Kubelet API
工作人员节点(小兵):
TCP 10250 Kubelet API
TCP 10255 Read-Only Kubelet API
TCP 30000-32767 NodePort Services
答案 2 :(得分:0)
如果API服务器,etcd,调度程序和控制器管理器在同一台机器上运行,那么在没有VPN的情况下需要公开打开的端口是:
主6443(如果禁用TLS则为8080)
客户端从节点(kubelet,kube-proxy,pods)和用户(kubectl,...)连接到API服务器
10250(默认情况下不安全!)
Kubelet端口,接受来自API服务器(主服务器)的连接。
节点应该能够在用于Kubernetes pods(法兰绒,编织,印花布......)的网络结构上的几乎任何端口上接收来自其他节点和主节点的流量。
如果使用NodePort服务或Ingress资源公开应用程序,则应在节点上打开相应的端口。