kubernetes-the-hard-way/README.md

50 lines
3.3 KiB
Markdown
Raw Normal View History

2019-04-01 10:56:09 +03:00
# Kubernetes The Hard Way On VirtualBox
2016-07-07 17:15:59 +03:00
2019-03-20 07:34:49 +03:00
This tutorial walks you through setting up Kubernetes the hard way on a local machine using VirtualBox.
This guide is not for people looking for a fully automated command to bring up a Kubernetes cluster.
If that's you then check out [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine), or the [Getting Started Guides](http://kubernetes.io/docs/getting-started-guides/).
2016-07-07 17:27:23 +03:00
2017-08-29 00:19:25 +03:00
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.
2016-07-09 02:35:09 +03:00
2019-04-01 10:57:19 +03:00
This tutorial is a modified version of the original developed by [Kelsey Hightower](https://github.com/kelseyhightower/kubernetes-the-hard-way).
2019-04-01 10:57:31 +03:00
While the original one uses GCP as the platform to deploy kubernetes, we use VirtualBox and Vagrant to deploy a cluster on a local machine. If you prefer the cloud version, refer to the original one [here](https://github.com/kelseyhightower/kubernetes-the-hard-way)
2019-03-20 07:34:49 +03:00
2019-03-20 07:37:38 +03:00
Another difference is that we use Docker instead of containerd. There are a few other differences to the original and they are documented [here](docs/differences-to-original.md)
2019-03-20 07:34:49 +03:00
2017-08-29 00:19:25 +03:00
> The results of this tutorial should not be viewed as production ready, and may receive limited support from the community, but don't let that stop you from learning!
2016-09-11 23:37:41 +03:00
2016-07-07 17:27:23 +03:00
## Target Audience
2017-08-29 00:19:25 +03:00
The target audience for this tutorial is someone planning to support a production Kubernetes cluster and wants to understand how everything fits together.
2016-07-07 17:27:23 +03:00
2016-07-07 23:47:11 +03:00
## Cluster Details
2017-08-29 00:19:25 +03:00
Kubernetes The Hard Way guides you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.
2016-07-07 23:47:11 +03:00
2019-03-20 07:34:49 +03:00
* [Kubernetes](https://github.com/kubernetes/kubernetes) 1.13.0
* [Docker Container Runtime](https://github.com/containerd/containerd) 18.06
* [CNI Container Networking](https://github.com/containernetworking/cni) 0.7.5
* [Weave Networking](https://www.weave.works/docs/net/latest/kubernetes/kube-addon/)
* [etcd](https://github.com/coreos/etcd) v3.3.9
* [CoreDNS](https://github.com/coredns/coredns) v1.2.2
2016-09-11 09:27:33 +03:00
## Labs
2017-08-29 00:19:25 +03:00
* [Prerequisites](docs/01-prerequisites.md)
2019-03-20 09:52:05 +03:00
* [Provisioning Compute Resources](docs/02-compute-resources.md)
* [Installing the Client Tools](docs/03-client-tools.md)
2017-08-29 00:19:25 +03:00
* [Provisioning the CA and Generating TLS Certificates](docs/04-certificate-authority.md)
* [Generating Kubernetes Configuration Files for Authentication](docs/05-kubernetes-configuration-files.md)
* [Generating the Data Encryption Config and Key](docs/06-data-encryption-keys.md)
* [Bootstrapping the etcd Cluster](docs/07-bootstrapping-etcd.md)
* [Bootstrapping the Kubernetes Control Plane](docs/08-bootstrapping-kubernetes-controllers.md)
* [Bootstrapping the Kubernetes Worker Nodes](docs/09-bootstrapping-kubernetes-workers.md)
2019-03-20 07:34:49 +03:00
* [TLS Bootstrapping the Kubernetes Worker Nodes](docs/10-tls-bootstrapping-kubernetes-workers.md)
* [Configuring kubectl for Remote Access](docs/11-configuring-kubectl.md)
* [Deploy Weave - Pod Networking Solution](docs/12-configure-pod-networking.md)
2019-03-20 13:12:49 +03:00
* [Kube API Server to Kubelet Configuration](docs/13-kube-apiserver-to-kubelet.md)
* [Deploying the DNS Cluster Add-on](docs/14-dns-addon.md)
2019-03-20 07:34:49 +03:00
* [Smoke Test](docs/15-smoke-test.md)
* [E2E Test](docs/16-e2e-tests.md)
* [Extra - Dynamic Kubelet Configuration](docs/17-extra-dynamic-kubelet-configuration.md)