├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── deployments ├── coredns.yaml └── kube-dns.yaml ├── docs ├── 01-prerequisites.md ├── 02-compute-resources.md ├── 03-client-tools.md ├── 04-certificate-authority.md ├── 05-kubernetes-configuration-files.md ├── 06-data-encryption-keys.md ├── 07-bootstrapping-etcd.md ├── 08-bootstrapping-kubernetes-controllers.md ├── 09-bootstrapping-kubernetes-workers.md ├── 10-tls-bootstrapping-kubernetes-workers.md ├── 11-configuring-kubectl.md ├── 12-configure-pod-networking.md ├── 13-kube-apiserver-to-kubelet.md ├── 14-dns-addon.md ├── 15-smoke-test.md ├── 16-e2e-tests.md ├── 17-extra-dynamic-kubelet-configuration.md ├── differences-to-original.md └── images │ └── tmux-screenshot.png ├── practice-questions-answers ├── README.md ├── application-lifecycle-management │ ├── commands-and-arguments │ │ └── answer.md │ ├── configmaps │ │ └── answer.md │ ├── liveness-probes │ │ └── answer.md │ ├── rolling-updates-and-rollbacks │ │ └── answer.md │ └── secrets │ │ └── answer.md ├── cluster-maintenance │ ├── backup-etcd │ │ ├── answer.md │ │ └── etcd-backup-and-restore.md │ ├── cluster-upgrade-process │ │ └── answer.md │ └── os-upgrades │ │ └── answer.md ├── core-concepts │ ├── deployments │ │ └── answer.md │ ├── namespaces │ │ └── answer.md │ ├── pods │ │ └── answer.md │ └── replicasets │ │ └── answer.md ├── install │ ├── bootstrap-worker-node-2 │ │ ├── answer.md │ │ └── tls-bootstrap-worker-node-2.md │ ├── bootstrap-worker-node │ │ └── answer.md │ └── end-to-end-tests-run-and-analyze │ │ └── answer.md ├── logging-monitoring │ ├── managing-application-logs │ │ └── answer.md │ └── monitor-cluster-components │ │ └── answer.md ├── networking │ ├── cni-in-kubernetes │ │ └── answer.md │ ├── cni-weave-read │ │ └── answer.md │ ├── cni-weave │ │ └── answer.md │ └── coredns-in-kubernetes │ │ └── answer.md ├── scheduling │ ├── daemonsets │ │ └── answer.md │ ├── labels-and-selectors │ │ └── answer.md │ ├── manual-scheduling │ │ └── answer.md │ ├── multiple-schedulers │ │ └── answer.md │ └── resource-limits │ │ └── answer.md ├── security │ ├── certificates-api │ │ └── answer.md │ ├── cluster-roles │ │ └── answer.md │ ├── image-security │ │ └── answer.md │ ├── kubeconfig │ │ └── answer.md │ ├── network-policies │ │ └── answer.md │ ├── security-contexts │ │ └── answer.md │ └── view-certificate-details │ │ └── answer.md └── troubleshooting │ ├── application-failure │ └── answer.md │ ├── control-plane-failure │ └── answer.md │ └── worker-node-failure │ └── answer.md ├── tools ├── README.md └── kubernetes-certs-checker.xlsx └── vagrant ├── Vagrantfile └── ubuntu ├── allow-bridge-nf-traffic.sh ├── install-docker.sh ├── update-dns.sh └── vagrant ├── install-guest-additions.sh └── setup-hosts.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/README.md -------------------------------------------------------------------------------- /deployments/coredns.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/deployments/coredns.yaml -------------------------------------------------------------------------------- /deployments/kube-dns.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/deployments/kube-dns.yaml -------------------------------------------------------------------------------- /docs/01-prerequisites.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/01-prerequisites.md -------------------------------------------------------------------------------- /docs/02-compute-resources.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/02-compute-resources.md -------------------------------------------------------------------------------- /docs/03-client-tools.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/03-client-tools.md -------------------------------------------------------------------------------- /docs/04-certificate-authority.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/04-certificate-authority.md -------------------------------------------------------------------------------- /docs/05-kubernetes-configuration-files.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/05-kubernetes-configuration-files.md -------------------------------------------------------------------------------- /docs/06-data-encryption-keys.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/06-data-encryption-keys.md -------------------------------------------------------------------------------- /docs/07-bootstrapping-etcd.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/07-bootstrapping-etcd.md -------------------------------------------------------------------------------- /docs/08-bootstrapping-kubernetes-controllers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/08-bootstrapping-kubernetes-controllers.md -------------------------------------------------------------------------------- /docs/09-bootstrapping-kubernetes-workers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/09-bootstrapping-kubernetes-workers.md -------------------------------------------------------------------------------- /docs/10-tls-bootstrapping-kubernetes-workers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/10-tls-bootstrapping-kubernetes-workers.md -------------------------------------------------------------------------------- /docs/11-configuring-kubectl.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/11-configuring-kubectl.md -------------------------------------------------------------------------------- /docs/12-configure-pod-networking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/12-configure-pod-networking.md -------------------------------------------------------------------------------- /docs/13-kube-apiserver-to-kubelet.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/13-kube-apiserver-to-kubelet.md -------------------------------------------------------------------------------- /docs/14-dns-addon.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/14-dns-addon.md -------------------------------------------------------------------------------- /docs/15-smoke-test.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/15-smoke-test.md -------------------------------------------------------------------------------- /docs/16-e2e-tests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/16-e2e-tests.md -------------------------------------------------------------------------------- /docs/17-extra-dynamic-kubelet-configuration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/17-extra-dynamic-kubelet-configuration.md -------------------------------------------------------------------------------- /docs/differences-to-original.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/differences-to-original.md -------------------------------------------------------------------------------- /docs/images/tmux-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/docs/images/tmux-screenshot.png -------------------------------------------------------------------------------- /practice-questions-answers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/practice-questions-answers/README.md -------------------------------------------------------------------------------- /practice-questions-answers/application-lifecycle-management/commands-and-arguments/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/application-lifecycle-management/configmaps/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/application-lifecycle-management/liveness-probes/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/application-lifecycle-management/rolling-updates-and-rollbacks/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/application-lifecycle-management/secrets/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/cluster-maintenance/backup-etcd/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/cluster-maintenance/backup-etcd/etcd-backup-and-restore.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/practice-questions-answers/cluster-maintenance/backup-etcd/etcd-backup-and-restore.md -------------------------------------------------------------------------------- /practice-questions-answers/cluster-maintenance/cluster-upgrade-process/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/cluster-maintenance/os-upgrades/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/core-concepts/deployments/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/core-concepts/namespaces/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/core-concepts/pods/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/core-concepts/replicasets/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/install/bootstrap-worker-node-2/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/install/bootstrap-worker-node-2/tls-bootstrap-worker-node-2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/practice-questions-answers/install/bootstrap-worker-node-2/tls-bootstrap-worker-node-2.md -------------------------------------------------------------------------------- /practice-questions-answers/install/bootstrap-worker-node/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/install/end-to-end-tests-run-and-analyze/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/logging-monitoring/managing-application-logs/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/logging-monitoring/monitor-cluster-components/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/networking/cni-in-kubernetes/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/networking/cni-weave-read/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/networking/cni-weave/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/networking/coredns-in-kubernetes/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/scheduling/daemonsets/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/scheduling/labels-and-selectors/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/scheduling/manual-scheduling/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/scheduling/multiple-schedulers/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/scheduling/resource-limits/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/security/certificates-api/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/security/cluster-roles/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/security/image-security/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/security/kubeconfig/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/security/network-policies/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/security/security-contexts/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/security/view-certificate-details/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/troubleshooting/application-failure/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/troubleshooting/control-plane-failure/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /practice-questions-answers/troubleshooting/worker-node-failure/answer.md: -------------------------------------------------------------------------------- 1 | # Practice Test Solution 2 | -------------------------------------------------------------------------------- /tools/README.md: -------------------------------------------------------------------------------- 1 | # Some useful tools 2 | -------------------------------------------------------------------------------- /tools/kubernetes-certs-checker.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/tools/kubernetes-certs-checker.xlsx -------------------------------------------------------------------------------- /vagrant/Vagrantfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/vagrant/Vagrantfile -------------------------------------------------------------------------------- /vagrant/ubuntu/allow-bridge-nf-traffic.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/vagrant/ubuntu/allow-bridge-nf-traffic.sh -------------------------------------------------------------------------------- /vagrant/ubuntu/install-docker.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/vagrant/ubuntu/install-docker.sh -------------------------------------------------------------------------------- /vagrant/ubuntu/update-dns.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/vagrant/ubuntu/update-dns.sh -------------------------------------------------------------------------------- /vagrant/ubuntu/vagrant/install-guest-additions.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/vagrant/ubuntu/vagrant/install-guest-additions.sh -------------------------------------------------------------------------------- /vagrant/ubuntu/vagrant/setup-hosts.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddometita/mmumshad-kubernetes-the-hard-way/HEAD/vagrant/ubuntu/vagrant/setup-hosts.sh --------------------------------------------------------------------------------