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