單個 OKE 集群中多個環(huán)境的注意事項
讓我們深入研究一下您的目標(biāo)是部署開發(fā) (dev)、測試 (test) 和生產(chǎn) (prod) 環(huán)境的場景,同時確保它們通過公共域 (例如 myapp.org) 中的不同 A 記錄進(jìn)行公開。
在此架構(gòu)概述中,從Oracle 云基礎(chǔ)設(shè)施 (OCI) 的角度來看,每個環(huán)境都有其專用的負(fù)載均衡器。開發(fā)、測試和生產(chǎn)部署使用不同的 Kubernetes 服務(wù),導(dǎo)致 OKE 為每個聲明的服務(wù)部署一個負(fù)載均衡器。
使用命名空間對資源進(jìn)行分組
下一個要解決的挑戰(zhàn)是如何按環(huán)境對資源進(jìn)行分組。答案是 Kubernetes 命名空間。命名空間提供了一種強(qiáng)大的方法來對同一集群中的各種 Kubernetes 對象 (例如 Pod、服務(wù)和復(fù)制控制器) 進(jìn)行分類和隔離。
在繼續(xù)部署應(yīng)用程序并通過服務(wù)公開它們之前,我們先討論如何自動創(chuàng)建 DNS 記錄以在 DNS 域中發(fā)布應(yīng)用程序。
保護(hù)您的命名空間
安全方面,我們重點(diǎn)關(guān)注兩個方面:RBAC 和網(wǎng)絡(luò)策略。您可以使用 Kubernetes 的 RBAC 策略來保護(hù)對命名空間的管理訪問。您還可以將這些角色綁定到 OCIIdentity and Access Management (IAM) 服務(wù)中的用戶,以允許 Kubernetes 直接與 OCI 服務(wù)交互。按照我們的部署示例,您可以擁有一個名為“管理員”的角色,該角色使用相應(yīng)的外部 DNS 創(chuàng)建命名空間,并使用三個不同的角色綁定配置來授予對各個命名空間的訪問權(quán)限。默認(rèn)情況下,不允許命名空間之間進(jìn)行 pod 通信,從而增強(qiáng)了隔離性和安全性。如果需要跨命名空間通信,可以配置網(wǎng)絡(luò)策略進(jìn)行控制。
更多內(nèi)容請 “點(diǎn)擊下載 ” 觀看