Networking

如何在私有 AKS 群集中公開服務?

  • November 11, 2021

我在 AKS 上創建了一個專用集群並向其部署了一些工作負載,但我不確定如何連接到這些服務。它們都是 NodePort 服務,包括 TCP 和 UDP。

最初,我認為 AKS 提供的端點可用於與整個集群進行互動,但事實並非如此——這隻公開了 Kubernetes API(可能是他們將其稱為 API 端點的原因)

我也嘗試過使用 VMSS 公共 IP,但也沒有用。使用實例 IP 是可行的,但 IP 會隨著時間而改變,對吧?

最終我決定使用入口控制器並代理流量,但因為我使用的是混合協議,所以我需要兩個。更不用說這似乎太複雜而無法合理解決這個問題。

如何在專用 AKS 群集上公開服務?我認為這應該是一個很常見的問題,但我還沒有找到明確的解決方案

如果有人發現自己處於這種情況,我們最終會使用 ExternalDNS 和私有區域,因為無論如何我們都在使用 NodePorts。

這為我們提供了一個穩定的端點,如果其中一個節點的 IP 發生變化,它將自動更新。

需要注意的是,文件暗示不需要對訂閱進行角色分配(預設情況下,create-for-rbacContributor對服務主體的訂閱授予–skip-assignment避免)但這對我不起作用, ExternalDNS 在嘗試讀取私有區域時被拒絕。

我嘗試了一些不同的組合,但最終放棄Private DNS Zone Contributor了訂閱並跳過了對區域和資源組的任何分配。

還想指出一個問題,Azure 有兩個提供商,azure公共 DNS 和azure-private-dns私有 DNS,它們在配置上略有不同。

引用自:https://serverfault.com/questions/1083036