Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.
Go to file
mbenabda de0fa7e688 VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
inventory VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
scripts VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
.gitignore VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
README.md VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
Vagrantfile VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
ansible.cfg VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
check_local_prerequisites.yml VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
end_goal.plantuml VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
install_container_runtime.yml VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00
kthw-playbook.yml VTWO-14496: configure nodes with ansible instead of bash scripts 2019-06-27 20:33:56 +02:00

README.md

Introduction

This repository is intended for demo-ing the manual install of kubernetes's components on both master and worker nodes.

It should be able to get you to a working single master (insecure) kubernetes setup on a set of VMs

End goal diagram

prerequisites

  • vagrant
  • cfssl
  • cfssljson

You can run the following command to check if you've missed something (don't worry, it won't install anything on your machine)

ansible-playbook kthw-playbook.yml -t check_local_prerequisites -l localhost

setup

  • run vagrant up to start the vms. This will create a master node and 2 worker nodes on your host's network

  • setup a container runtime on the nodes

ansible-playbook kthw-playbook.yml -t install_container_runtime -l k8s_nodes
  • install kubelet, kube-proxy, apiserver, scheduler and native controllers on the master nodes
ansible-playbook kthw-playbook.yml -t install_kubernetes_master_components -l masters
  • install kubelet & kube-proxy on the worker nodes
ansible-playbook kthw-playbook.yml -t install_kubernetes_worker_components -l workers
  • install etcd on the master nodes
ansible-playbook kthw-playbook.yml -t install_etcd -l masters