This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
доступ_к_приложениям_в_bare-metal_kubernetes [2024/04/04 07:31] val [Шаг 1. Исходные данные] |
доступ_к_приложениям_в_bare-metal_kubernetes [2025/03/18 15:36] (current) val [Шаг 12. Использование ArgoCD для развертывания http приложения] |
||
---|---|---|---|
Line 14: | Line 14: | ||
===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
- | * https://youtu.be/oIczkkD-hOU | + | * [[https://youtu.be/oIczkkD-hOU|Доступ к приложениям в Bare-Metal Kubernetes]] ([[https://rutube.ru/video/356186164509624a323079127c4bd690/|RuTube]]) |
* Тэги: Kubernetes, LoadBalancer, ClusterIP, MetalLB, Nginx, Keepalived, Ingress-Nginx, Helm, HAProxy, ArgoCD, Dashboard | * Тэги: Kubernetes, LoadBalancer, ClusterIP, MetalLB, Nginx, Keepalived, Ingress-Nginx, Helm, HAProxy, ArgoCD, Dashboard | ||
Line 30: | Line 30: | ||
~/kubespray# git checkout origin/release-2.22 | ~/kubespray# git checkout origin/release-2.22 | ||
+ | |||
+ | ~/kubespray# time pip3 install -r requirements.txt | ||
~/kubespray# cp -rvfpT inventory/sample inventory/mycluster | ~/kubespray# cp -rvfpT inventory/sample inventory/mycluster | ||
Line 40: | Line 42: | ||
</code> | </code> | ||
- | * GitLab и его registry c http доступом и проектом с образом gowebd | + | * GitLab и его registry c http доступом и проектом с образом student/gowebd |
===== Шаг 2. Переводим GitLab и его registry на https ===== | ===== Шаг 2. Переводим GitLab и его registry на https ===== | ||
Line 123: | Line 125: | ||
===== Шаг 6. Делаем отказоустойчивым gate ===== | ===== Шаг 6. Делаем отказоустойчивым gate ===== | ||
- | * Импортируем gate2 | + | * Импортируем gate2 (debian 12) |
<code> | <code> | ||
- | server# cat /etc/bind/corp13.un | + | server# cat /etc/bind/corpX.un |
</code><code> | </code><code> | ||
... | ... | ||
- | gate1 A 192.168.13.21 | + | gate1 A 192.168.X.21 |
- | gate2 A 192.168.13.22 | + | gate2 A 192.168.X.22 |
</code> | </code> | ||
* Превращаем gate в gate1 | * Превращаем gate в gate1 | ||
Line 184: | Line 186: | ||
scp -3 gate1:/etc/resolv.conf gate2:/etc/ | scp -3 gate1:/etc/resolv.conf gate2:/etc/ | ||
scp -3 gate1:/etc/sysctl.conf gate2:/etc/ | scp -3 gate1:/etc/sysctl.conf gate2:/etc/ | ||
+ | scp -3 gate1:/etc/sysctl.d/* gate2:/etc/sysctl.d/ | ||
gate2# hostnamectl set-hostname gate2.corp13.un | gate2# hostnamectl set-hostname gate2.corp13.un | ||
Line 208: | Line 211: | ||
server# ssh gate2 tail -f /var/log/messages | server# ssh gate2 tail -f /var/log/messages | ||
+ | или | ||
+ | server# ssh gate2 journalctl -f | ||
</code> | </code> | ||
* Обсуждаем достоинства (все работает) и недостатки (учет IP адресов в ПО версии 0.14.3 :) | * Обсуждаем достоинства (все работает) и недостатки (учет IP адресов в ПО версии 0.14.3 :) | ||
- | * Если есть время и желание выполняем [[#Шаг 6.2. Закрываем доступ в сеть кластера]] | + | |
+ | ===== Шаг 6.2. Закрываем доступ в сеть кластера ===== | ||
+ | |||
+ | * Добавляем [[Сервис NAT]] | ||
+ | <code> | ||
+ | gateN# apt install iptables conntrack iptables-persistent | ||
+ | |||
+ | gateN# | ||
+ | </code> | ||
+ | |||
+ | !!! Скопируйте в блокнот и поправьте номер стенда X !!! | ||
+ | |||
+ | <code> | ||
+ | iptables -t nat --flush | ||
+ | iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.16.1.X | ||
+ | iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.X -p udp --dport 53 -j DNAT --to-destination 192.168.X.10:53 | ||
+ | |||
+ | iptables --flush | ||
+ | iptables -A FORWARD -i eth0 -j ACCEPT | ||
+ | iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | ||
+ | iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport 53 -j ACCEPT | ||
+ | iptables -A FORWARD -j DROP | ||
+ | |||
+ | conntrack -F | ||
+ | netfilter-persistent save | ||
+ | </code> | ||
+ | |||
+ | * Настраиваем win client2 dns: 172.16.1.X | ||
===== Шаг 7. Заменяем nginx на ingress-nginx ===== | ===== Шаг 7. Заменяем nginx на ingress-nginx ===== | ||
Line 222: | Line 254: | ||
</code> | </code> | ||
- | * Установка [[Система Kubernetes#Helm]] на kube1 | + | * Установка [[Система Kubernetes#Helm]] на kube1 !!! Может быть уже установлен |
* Развертываем через [[Система Kubernetes#Работа с готовыми Charts]] [[Система Kubernetes#ingress-nginx]] | * Развертываем через [[Система Kubernetes#Работа с готовыми Charts]] [[Система Kubernetes#ingress-nginx]] | ||
Line 294: | Line 326: | ||
* Удаляем приложение, можно просто namespace | * Удаляем приложение, можно просто namespace | ||
+ | * Переименовываем в gowebd-k8s .gitlab-ci.yml_stop | ||
<code> | <code> | ||
kube1# kubectl delete ns my-ns | kube1# kubectl delete ns my-ns | ||
Line 321: | Line 354: | ||
===== Шаг 14. Готовимся к развертыванию Кeycloak ===== | ===== Шаг 14. Готовимся к развертыванию Кeycloak ===== | ||
+ | |||
+ | !!! В классе, если нет второго кластера, можно просто посмотреть !!! | ||
* Настраиваем HAProxy на работу с несколькими кластерами | * Настраиваем HAProxy на работу с несколькими кластерами | ||
Line 346: | Line 381: | ||
===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== | ||
- | ===== Шаг 6.2. Закрываем доступ в сеть кластера ===== | + | ==== Как все вернуть обратно ==== |
- | + | ||
- | * Добавляем [[Сервис NAT]] | + | |
- | <code> | + | |
- | gateN# apt install iptables conntrack iptables-persistent | + | |
- | + | ||
- | gateN# | + | |
- | </code><code> | + | |
- | iptables -t nat --flush | + | |
- | iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.16.1.13 | + | |
- | iptables -t nat -A PREROUTING -i eth1 --destination 172.16.1.13 -p udp --dport 53 -j DNAT --to-destination 192.168.13.10:53 | + | |
- | + | ||
- | iptables --flush | + | |
- | iptables -A FORWARD -i eth0 -j ACCEPT | + | |
- | iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | + | |
- | iptables -A FORWARD -i eth1 -p udp -d 192.168.13.10 --dport 53 -j ACCEPT | + | |
- | iptables -A FORWARD -j DROP | + | |
- | + | ||
- | conntrack -F | + | |
- | netfilter-persistent save | + | |
- | </code> | + | |
- | + | ||
- | * Настраиваем win client2 dns: 172.16.1.13 | + | |
- | + | ||
- | ===== Как все вернуть обратно ===== | + | |
* 1. Удалить gowebd с kube | * 1. Удалить gowebd с kube |