Он также обеспечивает проверку готовности, которая ожидает, пока модуль не присоединится к кластеру. И живой чек.

есть образ докера и соответствующий файл yaml для развертывания с использованием kubernetes. Приложение, которое мы создали, находится в Scala с akka-http. Мы использовали акка-кластер. У нас есть конкретная переменная (в нашем случае начальные узлы - кластер akka) в файле конфигурации, который используется в коде нашего приложения, использующего pod ip. Но мы не получим IP-адрес pod, пока не будет выполнено развертывание. Как мы должны решить проблему? Помогут ли переменные среды, если да, то как?

Более конкретно, после того, как образы докера развернуты в контейнере в модуле, и когда контейнер запускается, IP-адрес модуля уже назначен. Итак, можем ли мы программно или иным образом настроить pod ips в нашем коде или конфигурационном файле до запуска процесса в контейнере?

Для справки это наш файл конфигурации:

akka {
  actor {
    provider = "akka.cluster.ClusterActorRefProvider"
  }    
  remote {
    log-remote-lifecycle-events = off
    netty.tcp {
      hostname = "127.0.0.1"
      port = 0
    }
  }
  cluster {
    seed-nodes = [
      "akka.tcp://[email protected]:3000",
      "akka.tcp://[email protected]:3001",
    ],
    metrics {
      enabled = off
    }
  }    
}
service {
  validateTokenService {
     ml.pubkey.path = "<filePath>"
  }
  ml_repository {
    url = <url address>
  }
  replication.factor = 3
  http.service.interface = "0.0.0.0"
  http.service.port = 8080
}

В приведенном выше файле вместо akka.remote.netty.tcp.hostname в качестве «127.0.0.1» нам необходим pod-ip. Таким образом, мы можем использовать его в начальных узлах как:

seed-nodes = [
          "akka.tcp://our-system@hostname:3000",
          "akka.tcp://our-system@hostname:3001",
        ],

Как мы можем это сделать? Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос