В тестовой среде Kubernetes необходимо создать конфигурацию и продемонстрировать работу приложения.
- Установленное K8s-решение (например, MicroK8s).
- Установленный локальный kubectl.
- Редактор YAML-файлов с подключённым GitHub-репозиторием.
Задание 1. Создать Deployment приложения и решить возникшую проблему с помощью ConfigMap. Добавить веб-страницу
- Создать Deployment приложения, состоящего из контейнеров busybox и multitool.
- Решить возникшую проблему с помощью ConfigMap.
- Продемонстрировать, что pod стартовал и оба конейнера работают.
- Сделать простую веб-страницу и подключить её к Nginx с помощью ConfigMap. Подключить Service и показать вывод curl или в браузере.
- Предоставить манифесты, а также скриншоты или вывод необходимых команд.
sysadmin@sysadmin:~/1.8$ kubectl apply -f deploy.yml
configmap/my-configmap created
deployment.apps/deployment-kuber created
service/svc created
sysadmin@sysadmin:~/1.8$ kubectl get po
NAME READY STATUS RESTARTS AGE
deployment-kuber-798989944b-s64q8 2/2 Running 0 47s
sysadmin@sysadmin:~/1.8$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 16d
svc NodePort 10.152.183.209 <none> 80:30080/TCP,1180:30180/TCP 86s
sysadmin@sysadmin:~/1.8$ curl 10.152.183.209
<html>
<h1>Welcome</h1>
</br>
<h1>My test page for nginx!! </h1>
</html
- Создать Deployment приложения, состоящего из Nginx.
- Создать собственную веб-страницу и подключить её как ConfigMap к приложению.
- Выпустить самоподписной сертификат SSL. Создать Secret для использования сертификата.
- Создать Ingress и необходимый Service, подключить к нему SSL в вид. Продемонстировать доступ к приложению по HTTPS.
- Предоставить манифесты, а также скриншоты или вывод необходимых команд.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=localhost"
cat tls.crt | base64
cat tls.key | base64
sysadmin@sysadmin:~/1.8$ kubectl apply -f deploy2.yml
configmap/index-html-configmap created
secret/test-tls created
deployment.apps/nginx-deployment created
service/nginx-service created
ingress.networking.k8s.io/minimal-ingress created
curl -k https://localhost
<html>
<h1>Welcome</h1>
</br>
<h1>Hi! This is a configmap Index file </h1>
</html