This is an old revision of the document!
Запустите с правами Administrator C:\cmder\cmder.exe bash cd test -d conf && rm -rf conf git clone http://val.bmstu.ru/unix/conf.git cd conf/virtualbox/ !!! 9 - это номер курса, вместо X укажите Ваш номер стенда, если не знаете его, спросите преподавателя !!! ./setup.sh X 9
# sh net_gate.sh # init 6
# sh net_server.sh # init 6
server:~# git -C conf/ pull server:~# sh conf/dns.sh
# cat /etc/resolv.conf
search corpX.un nameserver 192.168.X.10
# nslookup kubeN
gate:~# git -C conf/ pull gate:~# sh conf/dhcp.sh
server# apt install apache2 server# rm /var/www/html/index.html server# cp wild.crt /var/www/html/ca.crt
bash -c ' scp /var/www/html/ca.crt kube1:/usr/local/share/ca-certificates/ ssh kube1 update-ca-certificates ssh kube1 systemctl restart containerd scp /var/www/html/ca.crt kube2:/usr/local/share/ca-certificates/ ssh kube2 update-ca-certificates ssh kube2 systemctl restart containerd scp /var/www/html/ca.crt kube3:/usr/local/share/ca-certificates/ ssh kube3 update-ca-certificates ssh kube3 systemctl restart containerd ' kubeN# crictl pull server.corpX.un:5000/student/gowebd crictl images crictl rmi server.corpX.un:5000/student/gowebd
kube1:~# mkdir pywebd-k8s;cd $_
kube1:~/pywebd-k8s# kubectl -n my-ns exec -ti pods/my-webd-<TAB> -- sh ~ $ kill -STOP 16 kube1:~/pywebd-k8s# kubectl get pods -n my-ns --watch
server.corpX.un:~# cat /etc/bind/corpX.un
... pywebd A 192.168.X.221 A 192.168.X.222 A 192.168.X.223 ...
$ curl http://pywebd.corpX.un
$ curl --connect-to "":"":server.corpX.un:4443 https://pywebd.corpX.un
$ curl --connect-to "":"":192.168.X.64:443 https://pywebd.corpX.un server# cat /etc/bind/corpX.un
... pywebd A 192.168.X.64 ...
kube1:~# mkdir -p gowebd-k8s;cd $_
kube1:~/gowebd-k8s# cp my-webd-deployment.yaml my-webd-deployment-env.yaml kube1:~/gowebd-k8s# cat my-webd-deployment-env.yaml
... image: server.corpX.un:5000/student/gowebd:$VER ...
kube1:~/gowebd-k8s# export VER=ver1.2 kube1:~/gowebd-k8s# envsubst < my-webd-deployment-env.yaml | kubectl apply -f - -n my-ns kubeN# curl my-webd.my-ns.svc.cluster.local
server.corpX.un:~# cat /etc/bind/corpX.un
... gowebd A 192.168.X.221 A 192.168.X.222 A 192.168.X.223 ...
$ curl http://gowebd.corpX.un
gitlab-runner@server:~$ helm list -n my-ns
server:~# ssh-copy-id gate
“Хором” в классе можно выполнить шаг 4
выполняем работы:
Много материала в 3 дня не помещается никак
Мало часов
Очень сложная тема, необходимо еще несколько раз переслушать материал
Много, сложно. Даже в том что я думаю, что усвоил, на самом деле не уверен
Объем данных создал в голове кашу
Как реализуется управление конфигурацией и секретами в Kubernetes, и чем это лучше или хуже по сравнению с Ansible Vault?
Как Docker сети (bridge, host, overlay) работают и взаимодействуют между контейнерами на одном хосте и в кластере Kubernetes?
Какие подходы существуют для организации сетевого взаимодействия и безопасности (например, через Service и Ingress) при масштабном развертывании микросервисов в Kubernetes?
Очень хотелось бы рассмотреть https://github.com/rancher/rancher на живом примере (подготовка к развертыванию, работа в его веб-интерфейсе) Rancher — это платформа для управления контейнерами с открытым исходным кодом. Rancher позволяет легко запускать Kubernetes в любом месте, соответствовать требованиям ИТ и расширять возможности команд DevOps.
1 Базовые и продвинутые сущности k8s
2 Стратегии deploy и rollback с реальными примерами из практики
3 Работу с облаками
Хотелось бы рассмотреть поподробнее компоненты k8s
Такие как
Coredns
Ingress
Sidecar
Istio
Может рассмотреть подробно как работает например kube api и etcd, scheduler, kube-proxy
Можно показать визуально как это выглядит в k9s