Files
container.training/slides/kube/setup-k8s.md
Jerome Petazzoni 5bb37dff49 Parametrize git repo and slides URLs
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
2018-05-23 15:27:57 -05:00

2.4 KiB

Setting up Kubernetes

  • How did we set up these Kubernetes clusters that we're using?

--

  • We used kubeadm on freshly installed VM instances running Ubuntu 16.04 LTS

    1. Install Docker

    2. Install Kubernetes packages

    3. Run kubeadm init on the master node

    4. Set up Weave (the overlay network)
      (that step is just one kubectl apply command; discussed later)

    5. Run kubeadm join on the other nodes (with the token produced by kubeadm init)

    6. 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

  • If you are on AWS: EKS or kops

  • 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.