Easypack: 使用Ansible快速部署Kubernetes集群

在这里插入图片描述
使用Easypack中提供的Ansible脚本,可以快速构建集群,这篇文章介绍一下构建单机版本集群和一主多从的集群的方法。

事前准备

  • 操作系统准备
[root@host131 ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@host131 ~]# uname -a
Linux host131 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@host131 ~]#

最小化安装即可,无需特定设定。

  • Ansible安装准备

安装命令:yum install ansible

[root@host131 ~]# ansible --version
ansible 2.4.2.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
[root@host131 ~]# 
  • git安装

安装命令:yum install git

  • 安装脚本下载

git clone http://github.com/liumiaocn/easypack.git
cd easypack/k8s/ansible/

  • ssh设定

ssh-keygen
ssh-copy-id -i 机器名或者ip

二进制安装脚本下载与准备

执行命令:ansible-playbook download/tests/test.yml

说明:网络条件允许的情况下缺省会下载至/tmp/binary目录下

[root@host131 ansible]# ls /tmp/binary
cfssl  cni  docker  etcd  flannel  images  kubernetes
[root@host131 ansible]# 

安装之前确认var_src_binary的设定,缺省为/tmp/binary,如此目录不存在或权限错误等,脚本执行时会提示错误。

安装:单机版本

hosts设定示例

# kubernetes : all-node
[all-in-one]
localhost var_master_host=192.168.163.131 var_etcd_host=192.168.163.131 var_node_host=192.168.163.131 var_master_node_flag=True

只需要修改上述ip(192.168.163.131)为自己机器的ip即可。然后执行如下命令:

mv hosts.all-in-one hosts

扫描二维码关注公众号,回复: 8675122 查看本文章

安装单机版本

ansible-playbook 10.all-in-one.yml

安装:一主多从多节点版本

hosts设定示例

[root@host131 ansible]# cat hosts.multi-nodes 
# kubernetes : master
[master-nodes]
host131 var_master_host=192.168.163.131 var_master_node_flag=True

# kubernetes : node
[agent-nodes]
host131 var_node_host=192.168.163.131 var_etcd_host=192.168.163.131 var_master_host=192.168.163.131 var_master_node_flag=True
host132 var_node_host=192.168.163.132 var_etcd_host=192.168.163.131 var_master_host=192.168.163.131 var_master_node_flag=False
host133 var_node_host=192.168.163.133 var_etcd_host=192.168.163.131 var_master_host=192.168.163.131 var_master_node_flag=False
host134 var_node_host=192.168.163.134 var_etcd_host=192.168.163.131 var_master_host=192.168.163.131 var_master_node_flag=False

# kubernetes : etcd
[etcd]
host131 var_etcd_host=192.168.163.131
[root@host131 ansible]# 

说明:master节点和etcd的安装节点为192.168.163.131 ,192.168.163.132-134均为Node节点,192.168.163.131 本身也会作为Node节点。
只需要修改上述ip为自己机器的ip即可。然后执行如下命令:

mv hosts.multi-nodes hosts

安装一主多从多节点版本

ansible-playbook 20.multi-nodes.yml

注:已使用1.15-1.17的kubernetes版本进行过验证

发布了1002 篇原创文章 · 获赞 1287 · 访问量 396万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/103725251