在高安全要求环境下部署K8S集群的建议
一、前言在近期的某个项目中,我们需要将一套基于物理服务器的K8S环境迁移至甲方内部网络。由于现场部署周期很短,因此决定先将物理服务器运到实验室,把K8S集群及应用部署完成后打包物理机迁移至甲方机房。在这个项目实施过程中,遇到了几个在非高安全环境部署情况下不会出现的问题。二、问题1. 服务器需要根据等保三级要求配置登录策略及防火墙策略。2. 服务器在接入实验室网络时使用的是实验室内网ip,与甲方机房
一、前言
在近期的某个项目中,我们需要将一套基于物理服务器的K8S环境迁移至甲方内部网络。由于现场部署周期很短,因此决定先将物理服务器运到实验室,把K8S集群及应用部署完成后打包物理机迁移至甲方机房。
在这个项目实施过程中,遇到了几个在非高安全环境部署情况下不会出现的问题。
二、问题
1. 服务器需要根据等保三级要求配置登录策略及防火墙策略。
2. 服务器在接入实验室网络时使用的是实验室内网ip,与甲方机房ip不同网段,存在后期ip修改问题。
三、经验总结
根据该次项目实施的过程遇到的问题,我总结了几个方面的建议。
1. 在服务器操作系统层面配置两个ip。
(1)在本次项目实施中最大的问题即是在安装完成K8S集群的情况下轻易改动服务器IP。为此采用了两个IP的配置,使用一个内部IP用于K8S集群通信,一个外部IP用于暴露应用及网络连接。
(2)在本次实施过程中甲方环境要求开启防火墙并限制端口,由于K8S中的calico和kube-proxy是动态端口启动,也研究不出具体的端口范围,由于采用了两个ip,所以直接在firewalld放行了对内部ip的全部端口,规避了因为防火墙限制导致集群异常的问题。
2. firewalld开启后需要配置允许NAT转发
(1)在本次项目实施中开启防火墙并放开端口后,发现K8S集群通信异常,ETCD状态异常,应用状态正常但是端口不通。研究后发现是calico封包通信的时候被firewalld拦截了,允许NAT转发后该问题解决。
3. 把禁止使用root远程ssh登录配置放在最后一步
(1)在做集群部署的时候,使用了ansible做自动化配置。由于服务器使用了root用户配置免密,ansible playbook中使用了root用户进行远程配置,一旦配置禁止root远程则无法使用ansible进行配置。
更多推荐
所有评论(0)