- Automatically prepare k8s running environment, eg: disable swap and ufw, ensure ipvs kernel modules have been loaded, install docker, kubeadm, kubelet etc. You can use the prepared environment for kubeadm bootstrap lately
- Handle gcr docker image pulling issue specific to GFW
- Prepare your ubuntu server with sshd installed
- Install python3.6 and pipenv where ansible will be run
- Checkout source code and cd to the checked out directory, then run 'pipenv shell' and 'pipenv update'
- Modify inventories/production/hosts to suite your needs
- Run ansible-playbook -i inventories/production/hosts k8s-deploy.yml
- You may limit the playbook running on specific hosts by using '-l' option, or retrict it on tagged tasks with '-t' option. For more information, see ansible-playbook -h
- distinguish docker image pulling between master and worker
- migrate actions from bash script to ansible directives, in order to make it explicitly idempotent.