kubernetesを使用した展開用のdockerイメージと対応するyamlファイルがあります。私たちが構築したアプリケーションはakka-httpのスカラーです。私たちはakka-clusterを使いました。 pod ipを使用するアプリケーションコードで使用される設定ファイルには、特定の変数(この場合はシードノード - akkaクラスタ)があります。しかし、展開が完了していない限り、ポッドは取得できません。問題にどのように取り組むべきでしょうか?環境変数は役立つでしょうか?Kubernetes - Akkaクラスタリング展開
具体的には、ドッカー画像がポッドのコンテナに展開され、コンテナが開始されると、ポッドipは既に割り当てられています。ですから、プログラムやその他の方法で、コードやコンフィグファイルでポッドを構成してから、プロセスをコンテナで開始することはできますか?
参考のために、これは私たちの設定ファイルである:上記のファイルで
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
}
、代わりに「127.0.0.1」とakka.remote.netty.tcp.hostnameを有するので、私たちはポッドを持っている必要があります-ip。
seed-nodes = [
"akka.tcp://[email protected]:3000",
"akka.tcp://[email protected]:3001",
],
がどのように我々がそうすることができます: だから、我々としてシードノードでそれを使用することができますか? ありがとうございます。
この素晴らしいblogpost http://paoloambrosio.net/2016/12/14/akka-location-transparency.htmlと関連するGitHubデモプロジェクトhttps://github.com/paoloambrosio/experiments/をご覧くださいツリー/ akka-location-transparency解決方法は、ディスカバリを実行し、ドッカーイメージの起動中にシードホスト名をエクスポートすることです。 –