项目作者: 4admin2root

项目描述 :
ansible playbook for kubeadm
高级语言: Nginx
项目地址: git://github.com/4admin2root/ansible-kubeadm.git
创建时间: 2017-06-30T09:04:44Z
项目社区:https://github.com/4admin2root/ansible-kubeadm

开源协议:MIT License

下载


An ansible playbook script to build kubernetes using kubeadm

完全使用国内网络

reference

http://tonybai.com/2017/05/15/setup-a-ha-kubernetes-cluster-based-on-kubeadm-part2/

get ready

please to check disk devices for docker direct-lvm(default: /dev/vdb) and glusterfs(default: /dev/vdc)

edit config files

k8s.hosts and group_vars/k8s.yml

run

ansible-playbook -i k8s.hosts -s k8s_init.yml
please use a normal user to get ssh connection and the user with sudo privilege

rerun

before you run the playbook, please run the script as follow

  1. # for example
  2. ###################### for k8s configure
  3. for i in {1..6}
  4. do
  5. ssh k8sprod$i 'sudo rm -rf /var/lib/kubelet;sudo kubeadm reset;sudo docker stop etcd ;sudo docker rm etcd;sudo rm -rf /opt/etcd/;sudo rm -fr /var/lib/etcd;sudo rm -rf /opt/k8s_init;sudo service nginx stop;sudo service keepalived stop;sudo ip addr del 10.9.5.243/32 dev eth0'
  6. done
  7. ###################### for kube packages
  8. for i in {1..6}
  9. do
  10. ssh k8sprod$i 'sudo yum remove kubectl kubeadm kubelet kubernetes-cni -y'
  11. done
  12. ###################### for docker
  13. for i in {1..6}
  14. do
  15. ssh k8sprod$i 'sudo systemctl stop docker ; sudo yum remove docker-engine docker-engine-selinux -y; sudo vgremove -f docker ;sudo pvremove /dev/vdb;sudo rm /etc/lvm/profile/docker-thinpool.profile'
  16. done

rerun create gluster

  1. for i in {3..6}
  2. do
  3. ssh k8sprod$i 'sudo systemctl stop heketi;sudo systemctl stop glusterd;sudo vgdisplay -v|grep vg_ ;sudo yum remove heketi heketi-client -y; sudo yum remove glusterfs* -y'
  4. done
  5. # please check vgdisplay and vgremove -f in manual

todo:

if docker installed , will not reinstall it
deal with {{ vars[‘ansible_’ + ka_interface][‘ipv4’][‘address’] }}
ceph.conf (hostname -s)
sync heketi.db
test : ceph
why simplehttpserver not work sometimes
create loadbalance at front-end