准备环境
类型 | IP地址 | 主机名 |
---|---|---|
k8s-etcd1 | 10.49.33.65 | k8s-etcd1.likai.com |
k8s-etcd2 | 10.49.33.66 | k8s-etcd2.likai.com |
k8s-etcd3 | 10.49.33.67 | k8s-etcd3.likai.com |
k8s-master1 | 10.49.33.83 | k8s-master1.likai.com |
k8s-master2 | 10.49.33.84 | k8s-master2.likai.com |
k8s-master3 | 10.49.33.85 | k8s-master3.likai.com |
k8s-node1 | 10.49.33.92 | k8s-node1.likai.com |
k8s-node2 | 10.49.33.93 | k8s-node2.likai.com |
k8s-node3 | 10.49.33.94 | k8s-node3.likai.com |
deploy | 10.49.33.147 |
1、准备如上机器,关闭firewalld、selinux,需要安装iptables、net-tools、vim等工具包
2、在deploy机器上安装ansible、sshpass
3、在deploy机器上生成ssh公钥,并将公钥同步到各节点上
4、使用ezctl脚本创建一个集群的工作目录
执行后会在deploy机器上创建一个目录/etc/kubeasz/clusters/k8s-cluster1,该目录下有hosts、config.yml两个文件;
hosts是配置这个集群包含的机器的文件,包含机器组、网络组件选择配置等
config.yml文件是一些具体的配置项:
hosts、config.yml两个文件修改成预期的项目后,就可以开始初始化集群
5、按步骤初始化集群
01步骤是准备阶段,包含卸载、安装、关闭selinux、swap、修改内核参数等
02步骤部署etcd
03初始化container-runtime运行时
04初始化master节点
05初始化node节点
06部署网络插件calico
这个步骤我卡了一个星期,work节点上的calico-node一直连不上集群的apiserver地址,最后翻容器日志发现需要用到iptabels工具,但节点上没有这个工具,通用yum安装iptaibnes后,解决了这个问题