- Use Terraform.
- Use and dive into Ansible.
- Deploy a from-scratch Kubernetes cluster against multiple cloud providers.
-
instance-0
node should initialize the kube cluster. - The node must install Calico networking component.
- The nodes should join the kube cluster automatically.
- The cluter should have an LB to expose Nginx as first app.
- Decouple files to adapt from different cloud providers.
instance_number = 1 # Increase this number if you wish more computing power.
disk_size = 10\*1024 # MG to GB, increase first operand to increase disk size
region = "" # One region that is provided by your provider
instance_type = "" # Instance code from your provider
auth_keys = [] # SSH public key to add in the known_hosts node's file
root_pwd = "" # Explicit.
Plan & Apply terraform file :
terraform plan
terraform apply
Provision deployed nodes :
ansible-galaxy install -r ./ansible/requirements.yaml # Do it once
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ./ansible/inventory.yaml --private-key ${PRIVATE_KEY} ./ansible/playbook.yaml