现在kargo在GitHub上已经改名为kubesprary,我采用了现成的开源部署方案。
(1)集群环境
kargo 10.142.114.30
master 10.142.114.11
node 10.142.114.12
(2)安装部署节点,包括ansible等
$ yum install -y epel-release
$ yum install -y python-pip python-netaddr ansible git
$ pip install --upgrade pip
$ pip install --upgrade Jinja2
下载Kubespray
$ git clone [https://github.com/iamwlb/kubespray-kubernetes1.8.git](https://github.com/iamwlb/kubespray-kubernetes1.8.git)
配置主机文件
$ cd kubespray
$ cp inventory/inventory.example inventory/inventory.cfg
$ vim inventory/inventory.cfg
内容如下:
[all]
master ansible_host=10.142.114.11 ansible_user=root ip=10.142.114.11
node ansible_host=10.142.114.12 ansible_user=root ip=10.142.114.12
[kube-master]
master
[kube-node]
node
[etcd]
master
[k8s-cluster:children]
kube-node
kube-master
(3)配置部署节点免密码登陆集群节点
$ ssh-keygen
$ ssh-copy-id root@192.168.100.11
$ ssh-copy-id root@192.168.100.12
(4)关闭所有节点防火墙
$ ansible -i inventory/inventory.cfg all -a "systemctl stop firewalld"
$ ansible -i inventory/inventory.cfg all -a "systemctl disable firewalld"
(5)关闭所有节点SElinux
(6)配置ip转发
$ ansible -i inventory/inventory.cfg all -a "sysctl -w net.ipv4.ip_forward=1"
# 查看ip转发设置
$ ansible -i inventory/inventory.cfg all -a "sysctl net.ipv4.ip_forward"
(7)禁用虚拟内存
$ ansible -i inventory/inventory.cfg all -a "swapoff -a"
$ ansible -i inventory/inventory.cfg all -a "sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab"
$ ansible -i inventory/inventory.cfg all -a "free -m"
(8)部署Kubernetes
$ ansible-playbook -i inventory/inventory.cfg cluster.yml -b -v --private-key=~/.ssh/id_rsa
网友评论