K8S云平台是目前公司核心产品的主推部署方式,通过云平台进行产品、方案部署,可以加快部署效率,特别是针对集群式、高可用部署,云平台具有天然的优势。云平台部署模式在满足常规部署的同时,也提供了对于服务器资源的监控、运维的辅助,能协助运维人员快速进行服务器升级、扩容、启停等操作,降低运维难度。
最近参与了实际项目的K8S集群部署工作,参考已有的部署文档顺利地完成云平台部署,所以在原有的集群部署方案基础上对相关内容进行了梳理,同时也总结了在云平台部署时UMC产品的一些配置内容。
1基础环境
基础环境主要是对服务器进行一些配置工作,以满足K8S云平台部署的需要,由于本次部署采用的是Centos7系统,因此以Centos7为例进行说明,包括各服务器之间的通信、防火墙策略以及一些系统参数等。
1.1主机名称
1.为了便于K8S集群各台服务器之间的通信,对主机名称进行修改。
2.修改hosts文件,添加主机名与IP对应:
1.2安全策略
本文的服务器安全主要针对于服务器防火墙进行处理,包括防火墙端口的开放以及IP白名单配置,以保证云平台部署和后续运行时各服务器之间的通信,以及部署后外部访问的需要。
1.2.1防火墙端口
1.编辑public.xml:
2.添加80端口:
3.保存退出,重启防火墙:
注意:这里采用直接修改配置文件的方式,也可以通过firewall-cmd命令添加。
1.2.2防火墙白名单
1.编辑trusted.xml:
2.添加各服务器IP:
注意:10.244.0.0/16为K8S内部通信IP。
3.保存退出,重启防火墙:
1.3其他配置
服务器一些其他参数的配置,K8S基础环境(非高可用)的部署主要是处理网络映射以及selinux和swap模块,以屏蔽K8S集群部署时的异常信息。
1.3.1网络映射
添加配置文件,将桥接的IPv4流量传递到iptables的链;
1.编辑k8s.conf文件:
2.添加配置:
3.添加完毕后执行生效:
1.3.2selinux
1.修改selinux配置文件:
2.关闭selinux:
3.立即生效:
1.3.3swap
1.临时关闭swap:
2.修改配置文件:
3.永久关闭swap:
2软件安装
主要是安装K8S云平台必要的一些资源,如docker、K8S组件以及一些配置参数,这一部分的内容不论是高可用部署还是非高可用部署都需要安装。
2.1安装Docker
在K8S集群的各台服务器上部署Docker并进行设置启动项。
1.所有服务器都需要安装;
2.非root用于在命令前加“sudo”,并且输入root账户服务器密码;
3.系统没有wget时需要先安装:yum -y install wget。
2.2添加yum源
在/etc/yum.repos.d目录下创建kubernetes.repo文件;