We have two extra variables in the slides: @@GITREPO@@ (current value: github.com/jpetazzo/container.training) @@SLIDES@@ (current value: http://container.training/) These variables are set with gitrepo and slides in the YAML files. (Just like the chat variable.) Supercedes #256
2.4 KiB
Setting up Kubernetes
- How did we set up these Kubernetes clusters that we're using?
--
-
We used
kubeadmon freshly installed VM instances running Ubuntu 16.04 LTS-
Install Docker
-
Install Kubernetes packages
-
Run
kubeadm initon the master node -
Set up Weave (the overlay network)
(that step is just onekubectl applycommand; discussed later) -
Run
kubeadm joinon the other nodes (with the token produced bykubeadm init) -
Copy the configuration file generated by
kubeadm init
-
-
Check the prepare VMs README for more details
kubeadm drawbacks
-
Doesn't set up Docker or any other container engine
-
Doesn't set up the overlay network
-
Doesn't set up multi-master (no high availability)
--
(At least ... not yet!)
--
- "It's still twice as many steps as setting up a Swarm cluster 😕" -- Jérôme
Other deployment options
-
If you are on Azure: AKS
-
If you are on Google Cloud: GKE
-
On a local machine: minikube, kubespawn, Docker4Mac
-
If you want something customizable: kubicorn
Probably the closest to a multi-cloud/hybrid solution so far, but in development
Even more deployment options
-
If you like Ansible: kubespray
-
If you like Terraform: typhoon
-
You can also learn how to install every component manually, with the excellent tutorial Kubernetes The Hard Way
Kubernetes The Hard Way is optimized for learning, which means taking the long route to ensure you understand each task required to bootstrap a Kubernetes cluster.
-
There are also many commercial options available!
-
For a longer list, check the Kubernetes documentation:
it has a great guide to pick the right solution to set up Kubernetes.