互动赠书 | 云上云下K8s多集群如何实现集群管理和安全治理的一致体验?

网友投稿 289 2022-10-10

互动赠书 | 云上云下K8s多集群如何实现集群管理和安全治理的一致体验?

作者|郝树伟(流生) 以 Kubernetes 为代表的云原生技术不仅屏蔽了各个云厂商和数据中心在基础设施上的差异性,还使得应用可以在不同的云上使用标准化的方式描述和部署运行。在此基础之上,我们才可以低成本管理处于任何地理位置的 Kubernetes 集群。本文将主要为您介绍如何实现对公共云 ACK 集群和数据中心自建 Kubernetes 集群一致体验的集群管理和安全治理。

ACK 注册集群安全架构

ACK 容器服务控制台。  ACK 注册集群 Agent 组件:Agent 组件以 Deployment 的形式部署在自建 Kubernetes 集群中(或者其他云厂商的容器集群中),用于接收 ACK 注册集群 Stub 组件(使用 ACK 容器服务控制台或 ACK 注册集群 kubeconfig)下发的请求,并将其转发给目标集群的 Kubernetes API Server,同时接收 Kubernetes API Server的响应并将其发送回 Stub 组件。  ACK 注册集群 Stub 组件:Stub组件部署的容器服务管控侧,每一个注册集群都对应一个 Stub 组件,用于代理转发 ACK 容器服务控制台或 ACK 注册集群 kubeconfig 访问集群产生的请求,转发到 Agent 组件并接收来自 Agent 组件的响应,最终返回响应到用户端。  Kubernetes API Server:目标自建 Kubernetes 集群或其他云厂商容器集群的 Kubernetes API Server。

单向注册双向通信

非“托管式”安全接入机制

通过 ACK 注册集群将自建 Kubernetes 集群接入到阿里云容器服务管控系统,用户最大的安全担忧就是自有集群访问权限的管理和控制,我们通过以下几点来保证用户对自有集群的绝对安全控制。

一致体验的安全治理

在使用不同云平台上的 Kubernetes 集群时,不同云平台的安全治理能力和安全策略配置及管理方式也都不尽相同,这种参差不齐的安全治理能力会导致运维团队在定义用户角色、访问权限的时候都每个云平台的安全管理机制都十分熟悉,如果管理和安全访问控制能力不足,则非常容易出现角色违规、访问管理风险等问题。 例如,在一个各种项目都在使用 Kubernetes 容器集群,且容器集群属于不同的云平台的场景下,管理员需要能够将所有用户和他们的活动都引导到对应的容器集群,这样才能知道谁在什么时候做了什么,你可能会遇到有多个账户需要分别设置不同的访问层级,或者有越来越多的人加入、离开、变换团队和项目的情况,如何管理这些用户的权限会变得越来越复杂。 ACK 注册集群从以下几个方面为自建 Kubernetes 集群提供安全治理能力一致性体验。

使用阿里云主子账号认证体系和 Kubernetes RBAC 鉴权体系管理集群访问控制

假设当前企业内有 2 个不同工作职责的用户,分别是开发人员 testuser01,测试人员 testuser02,那么管理员就可以为开发和测试人员创建子账号 testuser01 和 testuser02,接下来根据开发测试人员工作职责的不同,分配 ack 集群和 idc-k8s 集群的以下权限:

开发人员 testuser01,授予 ack 集群所有命名空间的读写权限,授予 idc-k8s 集群test 命名空间的读写权限。  测试人员testuser02,只授予idc-k8s集群test命名空间的读写权限。

集群审计

配置巡检

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Serverless 工程实践|自建 Apache OpenWhisk 平台
下一篇:Java线程在什么情况下可以终止
相关文章

 发表评论

暂时没有评论,来抢沙发吧~