Запустите с правами 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 дня не помещается никак
Мало часов
Очень сложная тема, необходимо еще несколько раз переслушать материал
Много, сложно. Даже в том что я думаю, что усвоил, на самом деле не уверен
Объем данных создал в голове кашу
Было очень тяжело. Во первых удерживать постоянно внимание. Это очень трудно Второй день была лекция почти 4 часа и там удержание внимание превращается в подвиг.
Поэтому нужны перерывы. Хотя бы 5 минут на 40-60 минут освободить внимание.
Второй момент связан с той ситуацией, когда на второй день на самой тяжёлой лекции один студент сказал, а чем вы вообще занимаемся занимаемся. На мой взгляд его вопрос связан не с пониманием каких-то конкретных вещей, а с потерей общего понимания занятия, его цели и смысла.
И тут, на мой взгляд, просто нужен общий план лекций или план работ.
Без такого плана непонятно как распределять силы. Непонятно что важно, что не очень важно. Непонятно что из чего вытекает.
Как правило по ходу лекции ты улавливаешь, что из чего вытекает в данный конкретный момент, но при этом через некоторый промежуток времени теряется общий план задачи. А что бы собственного говоря делаем, к чему идём? Зачем все эти шаги?
Если студент имеют возможность смотреть на такой план, то он может понять на каком этапе он находится, что он уже сделал и что ему предстоит.
А если не может, то преподавателю при наличии такого плана достаточно будет 2-3 минут что бы вернуть к сути «заблудившегося» студента.
Мы сейчас находимся условно в пункте II.5. То есть мы проделали то, то и то. Сейчас мы делаем это, а после этого у нас по плану то-то, то.
Как реализуется управление конфигурацией и секретами в 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