单个 OKE 集群中多个环境的注意事项
让我们深入研究一下您的目标是部署开发 (dev)、测试 (test) 和生产 (prod) 环境的场景,同时确保它们通过公共域 (例如 myapp.org) 中的不同 A 记录进行公开。
在此架构概述中,从Oracle 云基础设施 (OCI) 的角度来看,每个环境都有其专用的负载均衡器。开发、测试和生产部署使用不同的 Kubernetes 服务,导致 OKE 为每个声明的服务部署一个负载均衡器。
使用命名空间对资源进行分组
下一个要解决的挑战是如何按环境对资源进行分组。答案是 Kubernetes 命名空间。命名空间提供了一种强大的方法来对同一集群中的各种 Kubernetes 对象 (例如 Pod、服务和复制控制器) 进行分类和隔离。
在继续部署应用程序并通过服务公开它们之前,我们先讨论如何自动创建 DNS 记录以在 DNS 域中发布应用程序。
保护您的命名空间
安全方面,我们重点关注两个方面:RBAC 和网络策略。您可以使用 Kubernetes 的 RBAC 策略来保护对命名空间的管理访问。您还可以将这些角色绑定到 OCIIdentity and Access Management (IAM) 服务中的用户,以允许 Kubernetes 直接与 OCI 服务交互。按照我们的部署示例,您可以拥有一个名为“管理员”的角色,该角色使用相应的外部 DNS 创建命名空间,并使用三个不同的角色绑定配置来授予对各个命名空间的访问权限。默认情况下,不允许命名空间之间进行 pod 通信,从而增强了隔离性和安全性。如果需要跨命名空间通信,可以配置网络策略进行控制。
更多内容请 “点击下载 ” 观看