Aleksandr Demshin Platform repository
Homework - 1. Kubernetes Intro Homework - 2. Kubernetes Controllers
Q: Почему все pod в namespace kube-system восстановились после удаления?
A: Первое, посмотрим на список pod'ов
kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-66bff467f8-rw9xq 1/1 Running 0 162m
etcd-minikube 1/1 Running 0 162m
kube-apiserver-minikube 1/1 Running 0 162m
kube-controller-manager-minikube 1/1 Running 0 162m
kube-proxy-jfb4q 1/1 Running 0 162m
kube-scheduler-minikube 1/1 Running 0 162m
coredns восстановился, потому что контроллируется ReplicaSet:
❯ kubectl describe -n=kube-system pod coredns-66bff467f8-rw9xq | grep Controlled
Controlled By: ReplicaSet/coredns-66bff467f8
kube-proxy восстановился, потому что контроллируется DaemonSet:
❯ kubectl describe -n=kube-system pod kube-proxy-jfb4q | grep Controlled
Controlled By: DaemonSet/kube-proxy
etcd-minikube, kube-controller-manager-minikube, kube-scheduler-minikube контроллируются kubelet:
❯ kubectl describe -n=kube-system pod etcd-minikube | grep Controlled
Controlled By: Node/minikube
- Работа с приложением web:
- Создан Dockerfile c публикацией образа в Docker Hub.
- Создан манифест для использование образа, собранного ранее, в кластере.
- Добавлен init-контейнер в pod'е выше, так же использованы volume'ы.
- Изучен port forwarding с использованием
kubectl port-forward
и Kube Forwarder
- Работа с приложением Hipster Shop.
- Изучен способ запуска подов ad-hoc.
- Изучена генерация манифестов с использованием ad-hoc режима.
- Задание со 🌟. Выяснена и устранена причина ошибок при старте Hipster Shop frontend.
- Установлен Kind и запущен кластер. См.
kubernetes-controllers/kind-config.yaml
. - Изучен ReplicaSet.
- Изучен Deployment, включая задание со 🌟.
- Изучены Probes.
- Изучен DaemonSet на примере Node Exporter, включая задания со 🌟 и 🌟🌟.
Работа с ServiceAccounts, Roles, ClusterRoles, ClusterRoleBindings, RoleBindings, Namespaces.