mirror of
https://github.com/jpetazzo/container.training.git
synced 2026-05-11 03:16:35 +00:00
66 lines
1.6 KiB
Markdown
66 lines
1.6 KiB
Markdown
# Setting up Kubernetes
|
|
|
|
- How did we set up these Kubernetes clusters that we're using?
|
|
|
|
--
|
|
|
|
- We used `kubeadm` on "fresh" EC2 instances with 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)
|
|
<br/>
|
|
(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`
|
|
|
|
---
|
|
|
|
## `kubeadm` drawbacks
|
|
|
|
- Doesn't set up Docker or any other container engine
|
|
|
|
- Doesn't set up the overlay network
|
|
|
|
- Scripting is complex
|
|
<br/>
|
|
(because extracting the token requires advanced `kubectl` commands)
|
|
|
|
- Doesn't set up multi-master (no high availability)
|
|
|
|
--
|
|
|
|
- It's still twice as many steps as setting up a Swarm cluster 😕
|
|
|
|
---
|
|
|
|
## Other deployment options
|
|
|
|
- If you are on Google Cloud:
|
|
[GKE](https://cloud.google.com/container-engine/)
|
|
|
|
Empirically the best Kubernetes deployment out there
|
|
|
|
- If you are on AWS:
|
|
[kops](https://github.com/kubernetes/kops)
|
|
|
|
... But with AWS re:invent just around the corner, expect some changes
|
|
|
|
- On a local machine:
|
|
[minikube](https://kubernetes.io/docs/getting-started-guides/minikube/),
|
|
[kubespawn](https://github.com/kinvolk/kube-spawn),
|
|
[Docker4Mac (coming soon)](https://beta.docker.com/)
|
|
|
|
- If you want something customizable:
|
|
[kubicorn](https://github.com/kris-nova/kubicorn)
|
|
|
|
Probably the closest to a multi-cloud/hybrid solution so far, but in development
|
|
|
|
- Also, many commercial options!
|