Skip to content

zagretdinov-d microservices repository

License

Notifications You must be signed in to change notification settings

Otus-DevOps-2021-05/zagretdinov-d_microservices

Repository files navigation

zagretdinov-d_microservices

zagretdinov-d microservices repository

Kubernetes. Networks, Storages.

Поднимаю кластер kubernetes через terraform и разворачиваю приложение

изображение

изображение

Проверяю приложение:

изображение

LoadBalancer

Настроим соответствующим образом Service UI и проверяю

изображение

изображение

Недостатки LoadBalancer

Нельзя управлять с помощью http URI (L7-балансировщика)
Используются только облачные балансировщики (AWS, GCP)
Нет гибких правил работы с трафиком

Ingress

Создадим Ingress для сервиса UI применяю конфиг и проверяю.

изображение

изображение

изображение

изображение

Secret

Теперь давайте защитим наш сервис с помощью TLS Для начала вспомним IngressIP

изображение

TLS TerminationTL

Теперь настроим Ingress на прием только HTTPS траффика, применяю, пересоздаю.

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ui
  annotations:
    kubernetes.io/ingress.allow-http: "false"
spec:
  tls:
  - secretName: ui-ingress
  backend:
    serviceName: ui
    servicePort: 9292

$ kubectl apply -f ui-ingress.yml -n dev

$ kubectl delete ingress ui -n dev
$ kubectl apply -f ui-ingress.yml -n dev

Проверяю

изображение

Задание со *

Создаваемый объект Secret в виде Kubernetes-манифеста описывается по ссылке https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets

изображение

изображение

Хранилище для базы

Cоздаю диск PersitentVolume в ya.cloud

yc compute disk create \
 --name k8s \
 --zone ru-central1-a \
 --size 4 \
 --description "disk for k8s"

изображение

изображение

Создаю и собираю необходимые файлы конфигурации.

изображение

изображение

изображение

изображение

About

zagretdinov-d microservices repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published