kubernetes和gPaaS部署开启iptables或防火墙后需要开放的端口
通常情况下,kubernetes和gPaaS部署会关闭selinux以及清空iptables规则,允许苍穹应用、gPaaS、中间件以及kubernetes组件之间的端口通信。
但是在部署环境需要严格安全管控的情况下,需要按需要开放通信或访问端口。
根据部署实践情况,主要有两种安全管控场景。
1 部署环境允许内部主机端口之间通信,但与访问环境隔离。
安装部署环境中,主机之间不做通信限制,可以相互通信访问,使用苍穹安装器等安装工具,正常安装即可。但是当我们在办公环境访问苍穹应用页面或gPaaS管理页面,是访问不通的,需要开放相应的web访问端口。
这种场景,我们根据提前部署的规划,可以清楚地知道需要开放访问的端口,比如苍穹访问端口地址、mc访问端口地址、gPaaS访问端口地址等,并提前进行申请。
2 部署环境内部主机端口通信默认禁止,按需开放。
这是比较严格的管控模式,需要细细的梳理通信端口,该场景下的端口梳理是本文重点说明的地方。
关于端口的开放,都可以到相应的主机上,通过netstat -anpt命令查看到,如下图,这需要我们识别出来,并开放端口。
2.1 kubernetes 组件开放的端口
端口 | 组件 | 端口说明 | 参数 | 协议 | 必须开启 |
---|---|---|---|---|---|
6443 | kube-apiserver | 安全端口 | --secure-port | TCP | 是 |
10248 | kubelet | 健康检测端口 | --healthz-port | TCP | 否,0表示关闭 |
10249 | kube-proxy | 指标端口 | --metrics-port | TCP | 否,0表示关闭 |
10250 | kubelet | 安全端口 | --port | TCP | 是 |
10251 | kube-scheduler | 非安全端口 | --port | TCP | 否,0表示关闭 |
10252 | kube-controller-manager | 非安全端口 | --port | TCP | 否,0表示关闭 |
10255 | kubelet | 非安全端口 | --read-only-port | TCP | 否,0表示关闭 |
10256 | kube-proxy | 健康检测端口 | --healthz-port | TCP | 否,0表示关闭 |
10257 | kube-controller-manager | 本机安全端口 | --secure-port | TCP | 否,0表示关闭 |
10259 | kube-scheduler | 本机安全端口 | --secure-port | TCP | 否,0表示关闭 |
2379 | etcd | 客户端请求端口 | TCP | 是 | |
2380 | etcd | 节点通信 | TCP | 是 | |
179 | calico | 节点通信 | TCP | 是 | |
53 | coredns | TCP和UDP | 是 |
注:正常情况下,我们把上面表格的端口开放访问的权限。最小开放,并且保证k8s集群可用的情况,只需要开放上面加粗的端口,但不建议。
2.2 业务开放的端口
在kubernetes上部署的业务访问端口,是指苍穹gPaaS、苍穹服务页面访问所需要的端口,包括服务内部通信的端口。这些端口是根据k8s上所部署的服务来决定的,只要通过k8s命令就可以知道需要开放的端口。在k8s上通过执行命令:
kubectl get svc -A
可以列出端口情况,如下图,我们只要把这命令列出的所有端口,去掉重复端口进行开放即可。
比如:
苍穹应用的端口:8080、8081、8765、30001、30002、30003、30004等;
gPaaS的端口:80、8098、9931、9641、9001、9934、8888、8200、9093、8001、9645、9655等;
prometheus端口:8443、9443、9100、9090等。
kubernetes和gPaaS部署开启iptables或防火墙后需要开放的端口
本文2024-09-23 01:10:20发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144234.html