сервисом. Арендую у провайдера внешний IP-адрес и передаю его терраформом в качестве переменной в шаблоне values.yaml:
lb: name: django-lb
port: 8000 targetPort: 8000
ipAddress: "${yandex_vpc_address.addr.external_ipv4_address[0].address}"
А как еще это можно сделать более элегантно?
Какие тут вообще могут быть варианты, чтоб автоматом привязать провайдерский внешний IP-адрес к балансировщику?
а разве это ip балансировщика а не машины?
Не совсем. Беру в аренду IP-адрес. Прописываю A-запись. Отдаю IP-адрес балансира в шаблоне values.yaml . Запускаю хелм-чарт на выполнение. В принципе, оно работает, но хочется более элегантно, коротко, лаконично что-ли) resource "yandex_vpc_address" "addr" { name = "static-ip" external_ipv4_address { zone_id = "ru-central1-a" } } resource "yandex_dns_recordset" "lb_name" { depends_on = [yandex_vpc_address.addr] zone_id = local.local_data.zone_id name = "lb" type = "A" ttl = 200 data = [yandex_vpc_address.addr.external_ipv4_address[0].address] } resource "local_file" "values" { content = <<EOF replicaCount: 1 image: repository: pizdets/zhopa tag: latest pullPolicy: Always lb: name: django-lb port: 8000 targetPort: 8000 ipAddress: "${yandex_vpc_address.addr.external_ipv4_address[0].address}" dbReplicaCount: 1 dbImage: repository: postgres tag: 9.6 pullPolicy: Always dbSecret: user: cG9zdGdyZXM= password: MTIzNDU2 EOF filename = "${path.module}/../src/deploy/kubernetes/app-chart/values.yaml" }
а почему дбсекрет не сесурный? 😅
Надо в документации яндекса просить, как навешивать IP на Service объекты. Обычно аннотациями реализуют.
Типа того. Загуглил бы, но что-то в голову не приходят ключевые слова.
играюсь, учусь пока )
Только для ALB вижу (Ingress). Для Service (NLB) будто бы ничего. https://cloud.yandex.com/en-ru/docs/application-load-balancer/k8s-ref/ingress
Обсуждают сегодня