This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
протокол_acme [2025/11/28 08:52] val |
протокол_acme [2025/12/26 10:29] (current) val [Запись вебинара] |
||
|---|---|---|---|
| Line 19: | Line 19: | ||
| ===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
| - | * Тэги: HAProxy, Apache, Nginx, Linux, Docker, Kubernetes, Certbot, cert-manager, ... | + | * Ютуб: https://youtu.be/74KpYfTNffM |
| + | * Рутуб: https://rutube.ru/video/61ae7d137f22c4180c186e32683f731f/ | ||
| + | * Вк: https://vkvideo.ru/video-2190892_456239496 | ||
| + | * Тэги: HAProxy, Apache, Nginx, Linux, Docker, Kubernetes, Minikube, Ingress, ACME, Certbot, cert-manager | ||
| ===== Шаг 1. Что у нас есть, для начала ===== | ===== Шаг 1. Что у нас есть, для начала ===== | ||
| Line 39: | Line 42: | ||
| * [[Letsencrypt Certbot#Запрос и подтверждение сертификата "автоматически"]] | * [[Letsencrypt Certbot#Запрос и подтверждение сертификата "автоматически"]] | ||
| + | |||
| + | <code> | ||
| + | vps:~# systemctl disable apache2.service --now | ||
| + | |||
| + | ... | ||
| + | |||
| + | vps:~# systemctl disable nginx.service --now | ||
| + | </code> | ||
| ===== Шаг 4. Управление сертификатами Let's Encrypt в Kubernetes ===== | ===== Шаг 4. Управление сертификатами Let's Encrypt в Kubernetes ===== | ||
| Line 44: | Line 55: | ||
| * [[Технология Docker]] | * [[Технология Docker]] | ||
| * [[Система Kubernetes#Установка minikube]] | * [[Система Kubernetes#Установка minikube]] | ||
| - | * [[Система Kubernetes#Minikube ingress-nginx-controller]] | + | |
| + | * Если есть время, можно: | ||
| + | * [[Система Kubernetes#Использование в minikube своих docker образов]] | ||
| + | * [[Технология Docker#Приложение golang gowebd]] | ||
| + | * или, использовать образ httpd и lifecycle postStart exec | ||
| * [[Система Kubernetes#Deployment]], [[Система Kubernetes#Service]] | * [[Система Kubernetes#Deployment]], [[Система Kubernetes#Service]] | ||
| + | * [[Система Kubernetes#"Внутри" minikube]] | ||
| + | |||
| + | * [[Система Kubernetes#Minikube ingress-nginx-controller]] | ||
| * [[Система Kubernetes#ingress example]] (с tls) | * [[Система Kubernetes#ingress example]] (с tls) | ||
| <code> | <code> | ||
| - | student@vps:~/apwebd-k8s$ curl -H "Host: siteN.mgtu.ru" http://192.168.49.2 -v | + | student@vps:~/webd-k8s$ curl -H "Host: siteN.mgtu.ru" http://192.168.49.2 -v |
| - | student@vps:~/apwebd-k8s$ curl -H "Host: siteN.mgtu.ru" https://192.168.49.2 -k | + | student@vps:~/webd-k8s$ curl -H "Host: siteN.mgtu.ru" https://192.168.49.2 -kv |
| </code> | </code> | ||
| Line 64: | Line 82: | ||
| } | } | ||
| </code><code> | </code><code> | ||
| - | $ curl http://site194.mgtu.ru -v | + | $ curl http://siteN.mgtu.ru -v |
| - | $ curl https://site194.mgtu.ru -k | + | $ curl https://siteN.mgtu.ru -k |
| </code> | </code> | ||
| - | * [[Система Kubernetes#cert-manager]] | + | * Kubernetes [[Система Kubernetes#cert-manager]] |
| <code> | <code> | ||
| - | student@vps:~/apwebd-k8s$ kubectl -n my-ns get ingress -o yaml | less | ||
| - | |||
| student@vps:~$ kubectl -n my-ns get pods | student@vps:~$ kubectl -n my-ns get pods | ||
| ... | ... | ||
| Line 79: | Line 95: | ||
| ... | ... | ||
| - | student@vps:~/apwebd-k8s$ curl http://site190.mgtu.ru/.well-known/acme-challenge/zg0xFIIdvgLB2HNaygDY | + | student@vps:~/webd-k8s$ kubectl -n my-ns get ingress -o yaml | grep acme-challenge |
| - | student@vps:~/apwebd-k8s$ kubectl -n my-ns exec -ti pods/my-webd-6cd67b7ff8-qn77r -- bash | + | student@vps:~/webd-k8s$ curl http://siteN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNN |
| - | root@my-webd-6cd67b7ff8-qn77r:/usr/local/apache2# curl http://site190.mgtu.ru/.well-known/acme-challenge/zg0xFIIdvgLB2HNaygDY | + | student@vps:~/webd-k8s$ kubectl -n my-ns exec -ti pods/my-webd-<TAB> -- bash |
| + | ИЛИ | ||
| + | student@vps:~/webd-k8s$ kubectl run -ti my-debian --image=debian -- bash | ||
| - | student@vps:~/apwebd-k8s$ kubectl -n my-ns get pods | + | :/# apt update; apt install curl |
| - | ... | + | |
| - | cm-acme-http-solver-... | + | :/# curl http://siteN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNN |
| - | ... | + | |
| </code> | </code> | ||
| * Убираем 80-й порт из Keepalive | * Убираем 80-й порт из Keepalive | ||
| - | * [[Решение HAProxy]] | + | |
| + | * Использование Nginx ([[Сервис HTTP#Прокси "красивого" URL в приложение (пример 3)]]) или [[Решение HAProxy]] | ||
| <code> | <code> | ||
| ... | ... | ||
| Line 103: | Line 121: | ||
| server minikube 192.168.49.2:80 check | server minikube 192.168.49.2:80 check | ||
| </code> | </code> | ||
| + | <code> | ||
| + | $ curl https://siteN.mgtu.ru -v | ||
| + | </code> | ||