kubernetes托管及项目授权

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

kubernetes托管及项目授权

安装业务kubernetes集群后,需要托管到苍穹gPaaS中进行统一管理。苍穹gPaaS可以管理多套K8S集群,比如同时管理苍穹的测试环境、UAT环境和生产环境。但是,如果这些环境在网络上进行了隔离,那就需要每个环境部署一套苍穹gPaaS来管理。



托管集群后,需要授权项目使用,下图三个部署实践,展示了用户、项目、集群与命名空间(环境)的关系,能够帮助用户对多租户及部署管理上的理解。



本文将介绍如何托管已经安装好的kubernetes集群,并授权租户项目使用。


1 认证方式介绍

苍穹gPaaS通过访问K8S的Apiserver地址来进行连接管理,因此需要在gPaaS中填写所有管理的K8S的Apiserver地址、访问凭证等信息。

为保证Apiserver接口安全,防止未授权调用,访问Kubernetes有三种客户端认证方式。

  1. TLS认证,是基于CA根证书签名的双向数字证书认证方式,是最严格的认证

  2. Token认证,通过Token识别每个合法的用户,--token-auth-file=SOMEFILE

  3. HTTP Basic认证,通过指定 --basic-auth-file=SOMEFILE设置(1.19版本开始不支持basic认证,可使用token方式)

具体介绍及设置参考kubernetes官网Authenticating。不管哪种授权方式,苍穹gPaaS接入K8S需要有ClusterRole的管理员授权,能够操作各类资源对象。


2 托管kubernetes集群

托管K8S集群,可以在管理后台和服务控制台中进行操作。它们的区别在于:管理后台可以管理所有gPaaS托管的K8S,而服务控制台中,只可以管理当前所在租户项目托管的K8S。

K8S集群托管以后,并不是所有人所有项目都可以使用,需要管理员或者集群所有者授权项目才可以使用。同时可以指定项目使用的命名空间、资源配额、调度规则等。


2.1 服务控制台托管K8S集群

用户登录服务控制台CONSOLE,在左上角菜单中找到【容器服务】→【集群管理】,点击“添加集群”,在弹出的表单中,填写集群托管信息。


集群名称:给集群输入一个名称,用于区分不同的集群。

集群英文标识:给集群输入一个唯一标识,一般用于API调用时作为参数使用。


API_host/认证类型:即Apiserver的连接地址和凭证,一般使用“TLS认证”,认证信息可通过在集群master上执行命令:

# cat /etc/kubernetes/admin.conf

或者在任何通过kubectl连接集群的环境上执行命令:

# cat ~/.kube/config

来获得连接信息,如下图所示:



注意:填写client_certificate和client_key值时不要换行


所属租户(开发商):请按实际情况填写,选择集群所属的租户(开发商)

所属项目:请按实际情况填写,选择集群所属的租户项目

注意:该租户和项目所属的用户,才能在容器服务的“集群管理”中查看和管理该集群。

端口访问类型:支持nodeport或ingress作为对外TCP端口访问的不同实现方式,确认后在后面使用过程中不能修改。ingress方式需要安装ingress-nginx或ingress-haproxy组件。

lan_ip: 填写用于端口访问的node节点ip,多个node节点用逗号分隔,填写后,可以在容器服务外部访问-端口访问中,显示可访问的地址。

 

点击“完成”,在列表页面查看状态是否为“正常”或“警告”(部分监控组件未安装),若显示“连接失败”表示无法连接集群,请检查连接K8S认证信息是否正确,以及苍穹gPaaS和被托管k8s集群API_host之间的连通性。


2.2 管理后台托管K8S集群

管理员登录管理后台OMP,然后点击菜单【云产品管理】→【容器服务】→【集群管理】,然后点击“托管集群”:



在弹出的表单中,填写集群托管信息,参考上面服务控制台中的托管K8S方式。




3 给项目授权使用业务集群

例如:苍穹gPaaS某租户下有三个项目组:运维管理组、财务组、供应链组,运维管理组托管了一个测试K8S集群,那么,如果财务组、供应链组要使用同一套测试K8S群集,就需要运维管理组授权财务组、供应链组使用这套测试K8S群集。


在服务控制台【云服务】→【容器服务】→【集群管理】中,选择要授权的集群,点击“项目管理”进入项目管理页面。


点击“新增项目授权”,在项目名称里,选择授权使用的项目组,然后选择使用的命名空间。




确定后,即完成了K8S集群给财务项目组授权,然后账务组的成员登录服务控制台,在【容器服务】中就可以部署应用了。

kubernetes托管及项目授权

安装业务kubernetes集群后,需要托管到苍穹gPaaS中进行统一管理。苍穹gPaaS可以管理多套K8S集群,比如同时管理苍穹的测试环境、UAT环境和生...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息