Google Cloud PlatformでKubernetesクラスタを実行すると、サービスエンドポイントのIPアドレスが何らかの形でGoogle CloudDNSレコードに自動的に割り当てられる可能性がありますか?もしそうなら、これはサービスのYAML定義の中で宣言的に行うことができますか?Kubernetes - サービスエンドポイントからCloudDNSレコードを自動的に入力する
私は自分のtype: LoadBalancer
サービスのIPアドレスを信頼していません。
Google Cloud PlatformでKubernetesクラスタを実行すると、サービスエンドポイントのIPアドレスが何らかの形でGoogle CloudDNSレコードに自動的に割り当てられる可能性がありますか?もしそうなら、これはサービスのYAML定義の中で宣言的に行うことができますか?Kubernetes - サービスエンドポイントからCloudDNSレコードを自動的に入力する
私は自分のtype: LoadBalancer
サービスのIPアドレスを信頼していません。
1つのオプションは、入力リソース(ロードバランサ)でサービスを監視し、以前予約した静的IPに接続することです。
私は、これはKubernetesまたはGKEのドキュメントのいずれかに記載見つけることができませんでしたが、私はここでそれを見つけた:
https://github.com/kelseyhightower/ingress-with-static-ip
あなたがkubernetes.io/ingress.global-static-ip-name
注釈に設定した値が名前であることに留意してください予約されたIPリソースのものであり、IP自体ではない。
これまでは、グローバルIPを作成し、クラスタのノードでグローバルフォワーディングルールを設定していたGCEロードバランサに接続する必要がありました。
今日、k8s IngressまたはGCPロードバランサでサービスを開始したくない場合は、この作業を自動的に行う方法はないと思います。つまり、Ingressはかなり簡単です。可能であれば、あなたはそのルートに行くことをお勧めします。
アドオンことになりそうだ「外部DNS」と呼ばれるKubernetesインキュベーター・プロジェクトは、より一般的にこれをサポートもあり、かつ完全にクラスタ自体の中から:
https://github.com/kubernetes-incubator/external-dns
私が持っていますまだそのアプローチを試したことはありませんが、それはあなたが従うべきかもしれないものとして聞きます。
GKEは、deployment managerを使用して、新しいクラスタ、およびロードバランサなどの他のリソースをスピンさせます。現時点では、Deployment ManagerはCloud DNS機能を統合することを許可していません。それにもかかわらず、feature request to support thatがあります。将来的にこの機能が実装されていると、Cloud DNS、Kubernetes、GKE間のさらなる統合が可能になる可能性があります。