华为云用户手册

  • 创建普通任务 普通任务可用于创建仅执行一次的批处理任务,任务执行完成后会自动退出。使用场景为在创建工作负载前,执行普通任务,将镜像上传至镜像仓库。 (可选)普通任务需要基于镜像创建,若选择私有镜像,用户首先需要将镜像上传至镜像仓库。 登录集群控制台,在左侧导航栏中选择“工作负载”,选择“普通任务”页签,并单击右上角“镜像创建”。 配置工作负载的信息。 基本信息 负载类型:选择普通任务Job。 负载名称:填写工作负载的名称。 命名空间:选择工作负载的命名空间,默认为default。您可以单击后面的“创建命名空间”,命名空间的详细介绍请参见创建命名空间。 实例数量:填写实例的数量,也就是Pod的数量。 容器配置 容器信息:Pod中可以配置多个容器,您可以单击右侧“添加容器”为Pod配置多个容器。 基本信息:请参见表1。 表1 基本信息参数说明 参数 说明 容器名称 为容器命名。 镜像名称 单击后方“选择镜像”,选择容器使用的镜像。 我的镜像:当前区域下镜像仓库中的镜像。若无可用的镜像,可单击“上传镜像”进行上传。 镜像中心:开源镜像仓库中的官方镜像。 共享镜像:由他人账号共享的私有镜像,详情请参见共享私有镜像。 镜像版本 选择需要部署的镜像版本。 更新策略 镜像更新/拉取策略。勾选“总是拉取镜像”表示每次都从镜像仓库拉取镜像;如不勾选则优先使用节点已有的镜像,如果没有这个镜像再从镜像仓库拉取。 CPU配额 申请:容器需要使用的最小CPU值,默认0.25Core。 限制:允许容器使用的CPU最大值。建议设容器配额的最高限额,避免容器资源超额导致系统故障。 内存配额 申请:容器需要使用的内存最小值,默认512MiB。 限制:允许容器使用的内存最大值。如果超过,容器会被终止。 关于CPU/内存配额申请和限制的具体说明请参见设置容器规格。 初始化容器 选择容器是否作为初始化容器。 Init 容器是一种特殊容器,在Pod内的应用容器启动之前运行。详细说明请参见Init 容器。 特权容器 特权容器是指容器里面的程序具有一定的特权。 若选中,容器将获得超级权限,例如可以操作宿主机上面的网络设备、修改内核参数等。 生命周期:设置生命周期回调函数可在容器的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以设置相应的函数。目前提供的生命周期回调函数有启动命令、启动后处理、停止前处理,详情请参见设置容器生命周期。 环境变量:容器运行环境中设定的一个变量,通过环境变量设置的配置项不会随着Pod生命周期结束而变化,详情请参见设置环境变量。 数据存储:配置容器存储,可以使用本地存储和存储卷声明(PVC)。建议使用PVC将工作负载Pod数据存储在 云存储 上。若存储在本地磁盘上,节点异常无法恢复时,本地磁盘中的数据也将无法恢复。容器存储相关内容请参见容器存储。 镜像访问凭证:用于访问镜像仓库的凭证。该凭证仅访问私有镜像仓库时使用,如所选镜像为公开镜像,则无需选择密钥。密钥的创建方法请参见创建密钥。 高级配置 标签与注解:您可以单击“添加”为Pod增加标签或注解,新增标签或注解的键不能与已有的重复。 任务设置: 并行数:任务负载执行过程中允许同时创建的最大实例数,并行数应不大于实例数。 超时时间:当任务执行超出该时间时,任务将会被标识为执行失败,任务下的所有实例都会被删除。为空时表示不设置超时时间。 任务创建完成后,在“普通任务”列表中可查看已创建的普通任务。 待状态为“处理中”,普通任务创建成功。
  • 创建定时任务 定时任务可用于创建按照设定时间和周期重复执行的任务,任务执行完成后会自动退出。使用场景为在某个固定时间点,为所有运行中的节点做时间同步。 (可选)定时任务需要基于镜像创建,若选择私有镜像,用户首先需要将镜像上传至镜像仓库。 登录集群控制台,在左侧导航栏中选择“工作负载”,选择“定时任务”页签,并单击右上角“创建负载”。 配置工作负载的信息。 基本信息 负载类型:选择定时任务CronJob。 负载名称:填写工作负载的名称。 命名空间:选择工作负载的命名空间,默认为default。您可以单击后面的“创建命名空间”,命名空间的详细介绍请参见创建命名空间。 容器配置 容器信息:Pod中可以配置多个容器,您可以单击右侧“添加容器”为Pod配置多个容器。 基本信息:请参见表2。 表2 基本信息参数说明 参数 说明 容器名称 为容器命名。 镜像名称 单击后方“选择镜像”,选择容器使用的镜像。 我的镜像:当前区域下镜像仓库中的镜像。若无可用的镜像,可单击“上传镜像”进行上传。 镜像中心:开源镜像仓库中的官方镜像。 共享镜像:由他人账号共享的私有镜像,详情请参见共享私有镜像。 镜像版本 选择需要部署的镜像版本。 更新策略 镜像更新/拉取策略。勾选“总是拉取镜像”表示每次都从镜像仓库拉取镜像;如不勾选则优先使用节点已有的镜像,如果没有这个镜像再从镜像仓库拉取。 CPU配额 申请:容器需要使用的最小CPU值,默认0.25Core。 限制:允许容器使用的CPU最大值。建议设容器配额的最高限额,避免容器资源超额导致系统故障。 内存配额 申请:容器需要使用的内存最小值,默认512MiB。 限制:允许容器使用的内存最大值。如果超过,容器会被终止。 关于CPU/内存配额申请和限制的具体说明请参见设置容器规格。 初始化容器 选择容器是否作为初始化容器。 Init 容器是一种特殊容器,在 Pod 内的应用容器启动之前运行。详细说明请参见Init 容器。 特权容器 特权容器是指容器里面的程序具有一定的特权。 若选中,容器将获得超级权限,例如可以操作宿主机上面的网络设备、修改内核参数等。 生命周期:设置生命周期回调函数可在容器的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以设置相应的函数。目前提供的生命周期回调函数有启动命令、启动后处理、停止前处理,详情请参见设置容器生命周期。 环境变量:容器运行环境中设定的一个变量,通过环境变量设置的配置项不会随着Pod生命周期结束而变化,详情请参见设置环境变量。 镜像访问凭证:用于访问镜像仓库的凭证。该凭证仅访问私有镜像仓库时使用,如所选镜像为公开镜像,则无需选择密钥。密钥的创建方法请参见创建密钥。 定时规则 并发策略:支持如下三种模式: Forbid:在前一个任务未完成时,不创建新任务。 Allow:定时任务不断新的任务,会抢占集群资源。 Replace:当到达新任务创建时间点,而前一个任务未完成时,新的任务会取代前一个任务。 定时规则:指定新建定时任务在何时执行,YAML中的定时规则通过CRON表达式实现。 以固定周期执行定时任务,支持的周期单位为分钟、小时、日、月。例如,每30分钟执行一次任务,对应的CRON表达式为“*/30 * * * *”,执行时间将从单位范围内的0值开始计算,如00:00:00、00:30:00、01:00:00、...。 以固定时间(按月)执行定时任务。例如,在每个月1日的0时0分执行任务,对应的CRON表达式为“0 0 1 */1 *”,执行时间为****-01-01 00:00:00、****-02-01 00:00:00、...。 以固定时间(按周)执行定时任务。例如,在每周一的0时0分执行任务,对应的CRON表达式为“0 0 * * 1”,执行时间为****-**-01 周一 00:00:00、****-**-08 周一 00:00:00、...。 自定义CRON表达式:关于CRON表达式的用法,可参考CRON。 以固定时间(按月)执行定时任务时,在某月的天数不存在的情况下,任务将不会在该月执行。例如设置天数为30,而2月份没有30号,任务将跳过该月份,在3月30号继续执行。 由于CRON表达式的定义,这里的固定周期并非严格意义的周期。将从0开始按周期对其时间单位范围(例如单位为分钟时,则范围为0~59)进行划分,无法整除时最后一个周期会被重置。因此仅在周期能够平均划分其时间单位范围时,才能表示准确的周期。 举个例子,周期单位为小时,因为“/2、/3、/4、/6、/8和/12”可将24小时整除,所以可以表示准确的周期;而使用其他周期时,在新的一天开始时,最后一个周期将会被重置。比如CRON式为“* */12 * * *”时为准确的周期,每天的执行时间为00:00:00和12:00:00;而CRON式为“* */13 * * *”时,每天的执行时间为00:00:00和13:00:00,在第二天0时,虽然没到13个小时的周期还是会被刷新。 任务记录:可以设置保留执行成功或执行失败的任务个数,设置为0表示不保留。 高级配置 标签与注解:您可以单击“添加”为Pod增加标签或注解,新增标签或注解的键不能与已有的重复。 任务创建完成后,在“定时任务”列表中可查看已创建的定时任务。 待状态为“已启动”,定时任务创建成功。
  • 任务概述 任务管理对应Kubernetes中的Job,分为普通任务和定时任务。 普通任务(Job)是Kubernetes用来控制批处理型任务的资源对象。批处理业务与长期伺服业务(Deployment、StatefulSet)的主要区别是批处理业务的运行有头有尾,而长期伺服业务在用户不停止的情况下永远运行。Job管理的Pod根据用户的设置把任务成功完成就自动退出了。成功完成的标志根据不同的spec.completions策略而不同:单Pod型任务有一个Pod成功就标志成功。定数成功型任务保证有N个任务全部成功标志成功。工作队列型任务根据应用确认的全局成功而标志成功。 定时任务(CronJob)即定时任务,是基于时间的Job,类似于Linux系统的crontab,在指定的时间周期运行指定的Job,即: 在给定时间点只运行一次。 在给定时间点周期性地运行。 CronJob的典型用法如下所示: 在给定的时间点调度Job运行。 创建周期性运行的Job,例如数据库备份、发送邮件。
  • 工作负载基本概念 无状态工作负载(即Kubernetes中的Deployment):实例之间完全独立、功能相同,具有弹性伸缩、滚动升级等特性。如:nginx、wordpress,创建无状态工作负载请参见创建无状态工作负载。 有状态工作负载(即Kubernetes中的StatefulSet):实例之间不完全独立,具有稳定的持久化存储和网络标示,以及有序的部署、收缩和删除等特性。如:mysql-HA、etcd,创建有状态工作负载请参见创建有状态工作负载。 守护进程集(即Kubernetes中的DeamonSet):在集群的每个节点上运行一个Pod,且保证只有一个Pod,适合一些系统层面的应用,如日志收集、资源监控等,创建守护进程集请参见创建守护进程集。
  • 产品功能 容器洞察:提供基于Kubernetes原生类型的容器监控能力,支持集群、节点、工作负载的资源全景,支持节点的资源占用、工作负载的资源消耗,以及近一小时的CPU/内存指标展示,全面监控集群的健康状态和负荷程度。 健康诊断:对集群健康状态进行周期性检查,可以对集群、节点资源使用情况,工作负载、Pod资源状态进行快速诊断。 仪表盘:仪表盘可将不同图表展示到同一个屏幕上,通过不同的仪表形式来展示资源数据,例如,曲线图、数字图等,进而全面、深入地掌握监控数据。
  • 产品优势 容器智能分析深度整合云原生基金会(CNCF)的监控项目Prometheus,同时遵循OpenTracing/OpenTelemetry规范。对关键指标、事件等运维数据进行统一采集、存储和可视化展现,精心打造云原生应用的良好可观测性能力。 将云原生基础设施监控和应用负载监控进行关联,提供全栈监控,使用户能够随时随地清晰地感知基础设施和应用负载状态。 能够对Kubernetes集群、容器组(Pod)等进行详细监控,对业务提供端到端追踪和可视化,提供集群健康诊断能力,大大缩短问题分析定位时间。 提供开箱即用的插件安装、数据采集、仪表盘监控能力,相比基于开源产品打造的监控产品,在可靠性、高可用、安装部署便捷性上更具有竞争力,能够更好的为您的云原生应用保驾护航。
  • 错误码 如果操作请求在执行过程中出现异常导致未被处理,则会返回一条错误信息,错误信息中包括错误码和具体错误描述。 表1 错误码说明 错误码 状态码 错误信息 描述 U CS .00000001 400 Failed to obtain the user information. 未能获取用户信息 UCS.00000003 400 Failed to obtain the federation information. 获取联邦信息失败 UCS.00000004 403 Request forbidden. 禁止请求 UCS.00000005 500 Database operation failed. 数据库操作失败 UCS.00000006 500 Server internal error. 服务器内部错误 UCS.00000007 500 Data transform error. 数据转换失败 UCS.00000008 500 Error add event. 添加事件失败 UCS.00000009 500 Data unmarshal error. 数据反序列化失败 UCS.00000010 500 Data marshal error. 数据序列化失败 UCS.00000011 400 Bad query parameter value. 请求参数非法 UCS.00000012 400 Invalid request body. 请求体非法 UCS.00000013 404 No requested resources found. 请求资源不存在 UCS.00000014 500 Failed to encrypt data. 加密数据失败 UCS.00000015 500 Failed to decrypt data. 解密数据失败 UCS.00000016 400 Invalid header value. 请求头非法 UCS.00000017 400 Insufficient quota 配额不足 UCS.00000018 401 Authorization failed. 授权失败 UCS.00010001 500 Failed to get iam connection. 获取 IAM 连接失败 UCS.00010002 403 Sub-user has no authority to create agency. 子用户无权创建委托 UCS.00010003 400 Failed to create agency. 创建委托失败 UCS.00010004 500 Failed to get role id for te_admin. 获取te_admin role失败 UCS.00010005 500 Failed to get admin token from iam. 获取admin token失败 UCS.00010006 500 Failed to get agency list from iam. 获取委托列表失败 UCS.00010007 500 Failed to get agency grants from iam. 获取委托grants失败 UCS.00010008 500 Failed to update agency role. 更新委托role失败 UCS.00010009 400 Failed to get project token by agency 通过委托获取项目token失败 UCS.00010010 400 Failed to get op_svc account domain token 获取op账号token失败 UCS.00010011 400 Failed to get project id by project name. 获取项目id失败 UCS.00010012 400 IAM agency quota insufficient, please expand agency quota 超出IAM委托配额 UCS.00010013 400 fail to get iam pdp authorize result 获取PDP鉴权结果失败 UCS.00010014 403 iam pdp authentication denied PDP鉴权拒绝 UCS.00010015 403 iam rbac authentication denied RBAC鉴权拒绝 UCS.00020001 500 Failed to get aeskey. 获取aeskey失败 UCS.00020002 500 Failed to get certs. 获取证书失败 UCS.00020003 500 Failed to create certs. 创建证书失败 UCS.00020003 500 Failed to delete certs. 删除证书失败 UCS.00030001 404 Cluster Not Found. 集群不存在 UCS.00030002 400 Failed to obtain the cluster information. 获取集群信息失败 UCS.00030003 400 Failed to get resourceJob info with cluster status 获取resource job失败 UCS.00040001 400 Failed to obtain the mesh information. 获取网格信息失败 UCS.00090001 500 Failed to create DNSRecord 记录集创建失败 UCS.00100001 400 Failed to publish message to smn. 发布消息到 SMN 失败 UCS.00100002 400 smn topic error. SMN主题错误 UCS.00100003 400 smn subscription error. SMN订阅错误 UCS.00110001 400 SDR failed to get billing raw data 获取计费数据失败 UCS.00110002 400 Formatting raw billing data to SDR format error 格式化计费数据失败 UCS.00120001 400 CBC failed to update resources status 更新CBC资源状态失败 UCS.00130001 400 Get UCS Agency info error 获取UCS委托错误 UCS.00140001 400 Create ClusterRole failed ClusterRole创建失败 UCS.00140002 400 Delete ClusterRole failed ClusterRole删除失败 UCS.00140003 400 Update ClusterRole failed ClusterRole更新失败 UCS.00140004 400 Get ClusterRole failed ClusterRole信息获取失败 UCS.00140005 400 Create ClusterRoleBinding failed ClusterRoleBinding创建失败 UCS.00140006 400 Delete ClusterRoleBinding failed ClusterRoleBinding删除失败 UCS.00140007 400 Update ClusterRoleBinding failed ClusterRoleBinding更新失败 UCS.00140008 400 Get ClusterRoleBinding failed ClusterRoleBinding信息获取失败 UCS.00140009 400 Create Role failed Role创建失败 UCS.00140010 400 Delete Role failed Role删除失败 UCS.00140011 400 Update Role failed Role更新失败 UCS.00140012 400 Get Role failed Role信息获取失败 UCS.00140013 400 Create RoleBinding failed RoleBinding创建失败 UCS.00140014 400 Delete RoleBinding failed RoleBinding删除失败 UCS.00140015 400 Update RoleBinding failed RoleBinding更新失败 UCS.00140016 400 Get RoleBinding failed RoleBinding信息获取失败 UCS.00150001 400 Cluster policy validate failed. 集群策略验证失败 UCS.00150002 400 ClusterGroup policy validate failed. 集群组策略验证失败 UCS.00150003 400 Cluster has enable policy. 集群已启用策略 UCS.00150004 400 ClusterGroup has enable policy. 集群组已启用策略 UCS.00150005 400 Cluster not enable policy. 集群未启用策略 UCS.00150006 400 ClusterGroup not enable policy. 集群组未启用策略 UCS.00150007 500 Get policy job failed. 获取策略任务失败 UCS.01000001 400 Failed to obtain the user information. 获取用户信息失败 UCS.01000002 429 The throttling threshold has been reached. 达到流控阈值 UCS.01000003 401 Authorization failed. 授权失败 UCS.01000004 403 Request forbidden. 禁止请求 UCS.01000005 500 Database operation failed. 数据库操作失败 UCS.01000006 500 Server internal error. 服务器内部错误 UCS.01000007 500 Data transform error. 数据转换失败 UCS.01000008 500 Error add event. 添加事件失败 UCS.01000009 500 Data unmarshal error. 数据反序列化失败 UCS.01000010 500 Data marshal error. 数据序列化失败 UCS.01000011 400 Bad query parameter value. 请求参数非法 UCS.01000012 400 Invalid request body. 请求体非法 UCS.01000013 404 No requested resources found. 请求资源不存在 UCS.01000014 500 Failed to encrypt data. 加密数据失败 UCS.01000015 500 Failed to decrypt data. 解密数据失败 UCS.01000016 400 Invalid header value. 请求头非法 UCS.01000017 400 Insufficient quota 配额不足 UCS.01000018 400 Quota info validate failed 配额参数校验失败 UCS.01000019 500 Quota update failed 配额更新失败 UCS.01010001 500 Failed to get iam connection. 获取IAM连接失败 UCS.01010002 500 Failed to get project token by agency 通过委托获取项目token失败 UCS.01010003 403 No access permission. Please contact the administrator. 无访问权限 UCS.01010004 400 get deployment region's projectID error 获取项目ID失败 UCS.01010005 400 get IAM agency's token error 获取委托token失败 UCS.01010006 400 fail to get iam pdp authorize result 获取PDP鉴权结果失败 UCS.01010007 403 iam pdp authentication denied PDP鉴权拒绝 UCS.01010008 403 iam rbac authentication denied RBAC鉴权拒绝 UCS.01020001 500 Failed to get aeskey. 获取aeskey失败 UCS.01020002 500 Failed to get certs. 获取证书失败 UCS.01020003 500 Failed to create certs. 创建证书失败 UCS.01020004 500 Failed to delete certs. 删除证书失败 UCS.01030001 404 Cluster Not Found. 集群不存在 UCS.01030002 400 Failed to obtain the cluster information. 获取集群信息失败 UCS.01030003 409 The same cluster already exists. 存在同名集群 UCS.01030004 400 Cluster status is unavailable, please fix cluster first. 集群状态不可用 UCS.01030005 403 No authorization for cluster 集群授权失败 UCS.01030006 400 Create resource job for cluster error 集群创建resource job失败 UCS.01030007 400 Create on-demand order for cluster error 创建按需订单失败 UCS.01030008 400 Cluster kubeconfig format error. 集群kubeconfig格式错误 UCS.01030009 400 This cluster does not support unregister 集群不支持注销 UCS.01030010 400 Failed to obtain cce cluster information. 获取cce集群信息失败 UCS.01030011 400 Cluster category not supported 不支持该集群类别 UCS.01030012 400 Register cce cluster error 注册cce集群失败 UCS.01030013 400 Register attached cluster error 注册附着集群失败 UCS.01030014 400 Register on-premise cluster error 注册本地集群失败 UCS.01030015 100 Register multi cloud cluster error 注册多云集群失败 UCS.01030016 400 Cluster has been frozen 集群已被冻结 UCS.01050001 400 RecordSet create failed. 记录集创建失败 UCS.01080001 400 Failed to obtain the federation information. 获取联邦信息失败 UCS.01080002 400 Cluster group has federalized. 舰队已开启联邦 UCS.01080003 500 Cluster group federation failed. 舰队联邦操作失败 UCS.01080004 400 Cluster group federation validate failed. 开启联邦校验失败 UCS.01080005 400 Retry join all clusters to federation failed. 重试所有集群加入联邦失败 UCS.01080006 400 Cluster group has not been federalized. 舰队未开启联邦 UCS.01080007 400 Retry join cluster to federation failed. 重试集群加入联邦失败 UCS.01090001 400 Failed to obtain the mesh information. 获取网格信息失败 UCS.01100001 403 No authorization for cluster group 舰队未授权 UCS.01100002 400 associate cluster with clustergroup error 集群加入舰队失败 UCS.01100003 400 associate cluster with rule error 舰队关联权限策略失败 UCS.01100004 409 The same clustergroup already exists. 同名舰队已存在 UCS.01100005 404 ClusterGroup Not Found. 舰队不存在 UCS.01100006 400 Cluster number in fleet exceed limit. 舰队内集群数量超过限制 UCS.01100007 400 Update associated clusters validate failed 更新关联集群校验失败 UCS.01110001 400 resource notification to SMN error 通知SMN失败 UCS.01120001 400 Create ClusterRole failed ClusterRole创建失败 UCS.01120002 400 Delete ClusterRole failed ClusterRole删除失败 UCS.01120003 400 Update ClusterRole failed ClusterRole更新失败 UCS.01120004 400 Get ClusterRole failed ClusterRole信息获取失败 UCS.01120005 400 Create ClusterRoleBinding failed ClusterRoleBinding创建失败 UCS.01120006 400 Delete ClusterRoleBinding failed ClusterRoleBinding删除失败 UCS.01120007 400 Update ClusterRoleBinding failed ClusterRoleBinding更新失败 UCS.01120008 400 Get ClusterRoleBinding failed ClusterRoleBinding信息获取失败 UCS.01120009 400 Create Role failed Role创建失败 UCS.01120010 400 Delete Role failed Role删除失败 UCS.01120011 400 Update Role failed Role更新失败 UCS.01120012 400 Get Role failed Role信息获取失败 UCS.01120013 400 Create RoleBinding failed RoleBinding创建失败 UCS.01120014 400 Delete RoleBinding failed RoleBinding删除失败 UCS.01120015 400 Update RoleBinding failed RoleBinding更新失败 UCS.01120016 400 Get RoleBinding failed RoleBinding信息获取失败 UCS.01130001 400 policy management create reconcile job failed 策略管理创建协调作业失败 UCS.01130002 400 policy management create disable job failed 策略管理创建禁用作业失败 UCS.01130003 400 cluster policy validate failed. 集群策略验证失败 UCS.01130004 400 clusterGroup policy validate failed. 集群组策略验证失败 UCS.01130005 400 cluster policy management is in installing or closing status 集群策略管理处于安装或关闭状态 UCS.01130006 400 cluster group policy management is in installing or closing status 集群组策略管理处于安装或关闭状态
  • 服务退订 退订服务后,该服务的所有实例将会被删除,可能会引起功能异常,请您仔细确认。 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“我的订阅”页签。 在已订阅的服务中选择目标服务,单击“退订”,如图1所示。 图1 退订服务 弹出的“退订”窗口中将会显示该服务已有的实例和该服务的依赖关系,退订后将完全删除该服务已有实例,请您务必仔细确认。 如您确认退订,请在输入框中输入Unsubscribe ,并单击“确认”,等待完成退订。系统将清理服务实例相关资源,预计5分钟完成。 父主题: 云原生服务中心
  • 操作场景 服务Operator是OSC管理的最大粒度实体,服务运行载体是一个Operator,当服务对应的服务实例首次安装时,容器集群中如果没有对应的服务Operator,OSC会自动安装。 OSC将在首次部署服务的集群中创建三个新的命名空间osc-global、osc-oc、osc-system,并运行Operator或Helm插件。例如,Redis服务将在osc-global命名空间中部署一个redis-operator插件,这个插件就是Redis服务的管理插件。
  • 配置修改 各服务支持的参数配置方式因服务而异,当服务支持实例配置参数可视化修改功能时,在服务实例详情界面会出现一个“配置修改”页签,用户可通过控制台对已创建的实例参数进行编辑,有如下两种方法: 通过可视化界面修改配置(需服务支持)。 通过Yaml修改配置(适用于所有服务)。 由于服务来自不同的服务提供商,不同类别的服务实例提供的配置项或功能页可能存在差异,具体请咨询服务提供商,以服务实例的展示界面为准。 通过控制台修改 当服务支持实例配置参数可视化修改功能时,在服务实例详情界面会出现一个“配置修改”页签,页面中提供了具体参数说明。 由于通过Yaml方式不能保证修改参数的规范性,建议您优先使用此方法进行配置修改。 页面可能并未提供全量参数的修改,如您需要修改全量参数,请使用Yaml方式修改。 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 单击需要查询的实例名称,进入实例的基本信息页面。 单击“配置修改”页签,进入配置修改页。 参数名称:支持修改的参数名称。 参数值:填写目标参数值。 参数说明:对参数意义的说明,在修改参数前请您仔细阅读此参数说明。 单击“编辑”按钮,对参数进行修改,不同服务支持修改的参数可能有差异,请根据实际页面操作。 单击“提交”按钮,将会自动下发请求完成实例配置更新。 通过Yaml修改 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 单击需要查询的实例名称,进入实例的基本信息页面。 单击页面右上角的按钮,进入Yaml编辑页面,如图1所示。 图1 编辑实例 在编辑Yaml页面对实例参数进行修改,如图2所示。 图2 编辑Yaml页面 完成修改后,单击“确认”提交,进行实例配置更新。
  • 实例运维 当服务支持独立的运维能力时,在服务实例详情界面会出现一个“Action”页签,各服务支持的运维能力有所区别,请根据实际页面进行操作,这里以Redis为例。 由于服务来自不同的服务提供商,不同类别的服务实例提供的配置项或功能页可能存在差异,具体请咨询服务提供商,以服务实例的展示界面为准。 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 单击需要查询的实例名称,进入实例的基本信息页面。 单击“Action”页签,进入运维操作页,以Redis为例。 RedisClusterBackup:备份操作,进行Redis集群的数据备份。 RedisClusterRestore:恢复操作,根据已有的备份文件进行Redis集群的数据恢复。 单击“创建”按钮,进行Redis集群的备份/恢复。
  • 实例信息查询 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 查看服务实例。 选择“云容器引擎”或者“华为云UCS”即可查看对应的服务实例。 支持通过单击,筛选对应条件下的服务实例。 支持通过实例名称查询服务实例,直接在搜索栏输入关键字即可。 单击实例名称,进入实例的基本信息页面。 服务实例的通用信息 参数 说明 版本 实例所属的服务的版本。 所属服务 实例所属的服务。 状态 当前实例的运行状态。 区域 实例所在的区域,例如“华东-上海一”。 集群 实例所在的容器集群名称。 命名空间 实例所在的容器集群的命名空间。 创建时间 实例的创建时间。 描述 服务实例部署时填写的信息,一般用来说明该实例用于什么场景。 实例配置信息 为各个服务自定义的展示内容,默认所有服务都提供“实例状态”、“访问地址”信息,不同类别的服务实例提供的展示内容可能存在差异。 实例状态:包含实例的名称、类型、状态、创建时间等基本参数,并提供查看YAML功能。 访问地址:包含实例的名称、集群内/外访问地址、服务类型及创建时间等参数。 由于服务来自不同的服务提供商,不同类别的服务实例提供的展示内容可能存在差异,请根据页面提示进行操作。 当服务支持事件监控和日志查询功能时,在服务实例详情界面会出现一个“业务监控”页签和“日志”页签,具体操作请参见业务监控/日志。 当服务支持实例配置参数可视化修改功能时,在服务实例详情界面会出现一个“配置修改”页签,具体操作请参见配置修改。 当服务支持独立的运维能力时,在服务实例详情界面会出现一个“Action”页签,具体操作请参见实例运维。
  • 业务监控/日志 当服务支持事件监控和日志查询功能时,在服务实例详情界面会出现一个“业务监控”页签和“日志”页签。 由于服务来自不同的服务提供商,不同类别的服务实例提供的配置项或功能页可能存在差异,具体请咨询服务提供商,以服务实例的展示界面为准。 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 单击需要查询的实例名称,进入实例的基本信息页面。 单击“业务监控”或“日志”选项卡,查看具体的监控指标以及日志详情。各服务提供的展示内容可能存在差异,请根据页面提示进行操作。 业务监控:云原生服务中心内置了Prometheus监控能力,服务提供商可以按照自身业务情况,配置所需要展示的服务指标,指标详情查看服务介绍或咨询服务提供商。 请确保当前集群已安装kube-prometheus-stack插件,且插件状态正常,参见kube-prometheus-stack插件。 日志:如服务对接了日志采集功能,则在云原生服务中心实例详情界面会展示“日志”页签。用户单击“日志”页签可以查看日志内容。
  • 操作步骤 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”。 查找目标服务。 如您已知目标服务名称,可使用菜单顶部的搜索框,按照服务名称查询所需的服务。 如您不知道目标服务名称,可在左侧筛选栏中按照服务类型、应用场景等条件来筛选。云原生服务中心提供以下筛选条件,帮助用户快速获取所需。 筛选条件 简介 类型 按照服务功能进行分类,目前有“全部”、“运行时”、“流媒体&消息”、“集成交付”、“数据库”、“日志”、“监控”、“大数据”、“开发工具”、“网络”、“安全”、“AI/机器学习”、“其他”。 架构 服务支持的架构类型,当前分为“全部”、“X86_64”和 “ARM”。 交付方式 分为“全部”、“Operator”和“Helm”。 部署平台 分为“全部”、“CCE”、“IEF”和“UCS”。 付费 分为全部”、“免费”和“付费“。 单击服务名称进入服务详情页,您可以在此处查看服务的基本信息、详情介绍,以及通过右侧“帮助链接”下的“Provider”和“Maintainers”获取提供商的联系方式进行咨询(部分服务可能没有该信息)。 单击“订阅”按钮确认订阅。订阅成功后,您可直接单击“创建实例”进行部署,也可在“我的订阅”中查询此服务再创建实例,具体操作步骤请参见实例创建。
  • 服务包来源 OSC服务目录中的服务包来源有两种: 服务提供商作为商品进行上架的服务,此类服务包将对接到华为云市场上,并且在OSC服务目录上将基于“云商店商品”标签。 服务包来源于开源社区,例如ArtifactHub等,此类服务大多数有华为云进行上架并为免费服务。 开源服务包和服务商提供的服务包在提交审核申请后,经由华为云对该服务进行验证和相关审核后,如果该服务具有良好的服务质量和品质,OSC服务目录中将对该服务包增加“华为认证”标签。此类“华为认证”服务包至少能够在华为云CCE集群和UCS On-Premise集群中进行部署,并能够确保功能的可用性、可维护性。
  • 功能概述 服务订阅 服务中心包含生态伙伴发布的服务和开源服务,所有服务都支持用户订阅,用户订阅成功才能部署实例。 服务退订 用户可以随时退订服务,退订服务时系统会自动删除已部署的服务及其实例。 服务升级 当服务提供商针对某服务发布了新版本后,订阅此服务的用户会收到升级提示,用户可选择是否将服务升级到最新版本。 实例部署 用户在订阅服务后可部署实例,用户可根据服务能力指定部署的Region、容器集群以及运行参数。 实例运维 云原生服务中心提供实例的运维视图,可以查看实例的监控、日志等运维信息,如果需要深入的数据分析,可以从运维视图跳转到对应的云服务。 实例更新 用户可以修改实例的运行配置。 实例删除 当实例承载的业务生命周期结束,用户可以删除实例回收相关资源。 服务插件 OSC提供的运维能力依赖一些能力插件,这些插件无需用户安装。当服务包中声明了运维能力的相关配置,服务部署时,集群中被依赖的插件如果没有安装,OSC会自动安装。用户可以在插件创建好之后查看插件的事件、日志等,当插件异常时,用户可以重建插件进行恢复。
  • 升级集群联邦 UCS支持查看现有联邦版本,并升级集群联邦至更新的版本。 集群联邦升级过程中,不允许进行集群移入、移出操作,不允许进行联邦操作,否则可能造成集群联邦升级失败。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到需要升级联邦版本的目标舰队,单击目标舰队名称,在舰队基本信息中单击“升级该版本”。 图2 升级联邦版本 在弹出的升级告知中查看能够升级到的版本,并单击“下一步”进行升级前检查。 若通过检查,则单击“开始升级”进行升级,升级过程大约需要2分钟。 若未通过检查,请单击“排查原因”,参考文档进行错误修复。 右上角状态重新显示为“集群联邦能力已开通”表明升级成功,您可以在舰队基本信息中查看新的版本号。 右上角状态显示为“集群联邦能力升级失败”表明升级失败,请执行集群联邦版本回退。
  • 添加集群 容器舰队开通集群联邦后,可以继续为舰队添加集群,添加后,集群会自动接入集群联邦。一个集群联邦最多可接入20个集群。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在目标舰队栏中单击“添加集群”,或单击右上角的按钮。 您也可以单击舰队名称进入舰队详情页,在“容器集群”页面单击右上角“添加集群”。 勾选一个或多个已有集群。一个集群只能加入一个舰队,因此列表中显示的集群均为未加入舰队的集群。 请确保所选择的集群符合表1中的约束条件,否则会出现集群添加成功,但是接入集群联邦失败的情况。如果出现这种情况,请参考舰队开通集群联邦后,添加集群报错如何解决?进行修复。 单击“确定”,完成集群添加。
  • 开通集群联邦 集群联邦和容器舰队绑定在一起,只需要为容器舰队一键开通集群联邦,就可以方便地操作集群联邦了。 集群联邦的开通包含两个阶段:一、开通集群联邦,二、集群接入联邦。容器舰队开通集群联邦能力后,容器舰队内的成员集群将自动接入联邦。 开通集群联邦有配额限制,并且对容器舰队中的集群有一些约束,请在开通前仔细阅读,避免集群联邦开通失败。 表1 集群约束 项目 约束 集群版本 容器舰队中的所有集群版本必须为1.19及以上。 集群状态 容器舰队中的所有集群状态必须为“运行中”。 集群网络状态 CCE集群、 CCE Turbo 集群:CCE集群所在region为北京四的,开通联邦时UCS将自动在集群所属VPC下创建VPCEP打通网络,非该region则需要集群节点具备公网访问能力,例如为节点绑定公网地址,用以拉取公网镜像。 其他集群:成功接入UCS即可。 配额 集群联邦配额为1,即只能为一个容器舰队开通集群联邦。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到目标舰队,页面提示暂未开通集群联邦能力,单击“去开通”按钮。 图1 开通集群联邦 在弹出的提示框中单击“确定”,等待集群联邦开通成功。 当集群不满足约束条件时,界面会弹出报错信息,请按照提示修改,然后重新开通集群联邦。 开通集群联邦大约需要10分钟,请耐心等待。您可以单击集群联邦状态,查看详细的开通进度。开通成功后,容器舰队顶部的提示信息变为“集群联邦能力已开通 ,集群接入成功”。
  • 集群级别 集群级别的资源,它的作用范围要比命名空间大很多,全集群可见,并且可以调用,不属于某一个命名空间,因此资源对象的名称必须全局唯一。 集群级别的资源,不管在任何命名空间下定义,在其他的命名空间下都能看得到,在定义的时候无需指定命名空间。 常见的集群级资源有:Namespace(命名空间)、Node(节点)、Role(角色)、RoleBinding(角色绑定)、ClusterRole(集群角色)、ClusterRoleBinding(集群角色绑定)。 Namespace:是Kubernetes提供的隔离机制,用于给集群中的任何资源对象进行分类、筛选和管理。 要查询集群下所有的命名空间,可以使用如下命令: kubectl get ns Node:节点是组成容器集群的基本元素,可以为虚拟机或物理机。每个节点都包含运行Pod所需要的基本组件,包括Kubelet、Kube-proxy等。Node名称要全局唯一。 Role:角色,其实是定义一组对Kubernetes资源(命名空间级别)的访问规则。 RoleBinding:角色绑定,定义了用户和角色的关系。 ClusterRole:集群角色,其实是定义一组对Kubernetes资源(集群级别,包含全部命名空间)的访问规则。 ClusterRoleBinding:集群角色绑定,定义了用户和集群角色的关系。 Role和ClusterRole指定了可以对哪些资源做哪些动作,RoleBinding和ClusterRoleBinding将角色绑定到特定的用户、用户组或ServiceAccount上。
  • 命名空间级别 命名空间(Namespace)是Kubernetes提供的隔离机制,用于给集群中的任何资源对象进行分类、筛选和管理。 如果不同的资源对象放在不同的命名空间下,他们就会相互隔离。例如,获取所有Pod使用的命令是: kubectl get pod 这里的Pod是有命名空间的,默认为default。指定命名空间需使用如下命令: kubectl get pod -n default 当要获取全部命名空间下的Pod时,使用如下命令: kubectl get pod --all-namespaces 这样就可以看到集群下所有的Pod了。 $ kubectl get pod --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE default nginx-dd9796d66-5chbr 1/1 Running 0 3d1h default nginx-dd9796d66-xl69p 1/1 Running 0 15d default sa-example 1/1 Running 0 10d kube-system coredns-6fcd88c4c-k8rtf 1/1 Running 0 48d kube-system coredns-6fcd88c4c-z46p4 1/1 Running 0 48d kube-system everest-csi-controller-856f8bb679-42rgw 1/1 Running 1 48d kube-system everest-csi-controller-856f8bb679-xs6dz 1/1 Running 0 48d kube-system everest-csi-driver-mkpbv 2/2 Running 0 48d kube-system everest-csi-driver-v754w 2/2 Running 0 48d kube-system icagent-5p44q 1/1 Running 0 48d kube-system icagent-jrlbl 1/1 Running 0 48d monitoring alertmanager-alertmanager-0 2/2 Running 0 29d monitoring cluster-problem-detector-7788f94f64-thp6s 1/1 Running 0 29d monitoring custom-metrics-apiserver-5f7dcf6d9-n5nrr 1/1 Running 0 19d monitoring event-exporter-6844c5c685-khf5t 1/1 Running 1 3d1h monitoring kube-state-metrics-8566d5f5c5-7kx7b 1/1 Running 0 29d monitoring node-exporter-7l4ml 1/1 Running 0 29d monitoring node-exporter-gpxvl 1/1 Running 0 29d Pod属于命名空间级资源。此外,大多数工作负载资源、Service资源、配置与存储资源都属于命名空间级。 工作负载资源 Pod:Kubernetes部署应用或服务的最小的基本单位。 ReplicaSet:Kubernetes中的一种副本控制器,主要作用是控制由其管理的Pod,使Pod副本的数量始终维持在预设的个数。 Deployment:声明了Pod的模板和控制Pod的运行策略,适用于部署无状态的应用程序。 StatefulSet:主要用于管理有状态的应用,创建的Pod拥有根据规范创建的持久型标识符。 DaemonSet:主要用于部署常驻集群内的后台程序,例如节点的日志采集。 Job:Job控制器会创建一个或者多个Pod,这些Pod按照运行规则运行,直至运行结束。 CronJob:根据指定的预定计划周期性地运行一个Job。 服务发现资源 Service:用户在Kubernetes中可以部署各种容器,其中一部分是通过HTTP、HTTPS协议对外提供七层网络服务,另一部分是通过TCP、UDP协议提供四层网络服务。而Kubernetes定义的Service资源是用来管理集群中四层网络的服务访问。基于四层网络,Service提供了集群内容器服务的暴露能力。 Ingress:Ingress能够提供七层网络下HTTP、HTTPS协议服务的暴露,同时也包括各种七层网络下的常见能力。Ingress是允许访问到集群内Service规则的集合,您可以通过配置转发规则,实现不同URL可以访问到集群内不同的Service。 配置与存储资源 ConfigMap:key-value类型的键值对,通过ConfigMap您可以将配置与运行的镜像进行解耦,使应用程序有更强的移植性。 Secret:key-value类型的键值对,用于存储密码、令牌、密钥等敏感信息,降低直接对外暴露的风险。 Volume:Volume(存储卷)本质是一个目录,其中可能包含一些数据,Pod中的容器可以访问该目录。Volume的生命周期与挂载它的Pod相同,但是Volume里面的文件可能在Volume消失后仍然存在,这取决于Volume的类型。
  • 管理员:IAM授权 Tenant Administrator管理员按照图3方式为各个职能团队进行IAM授权,即:先创建四个用户组,分别为这些用户组授予UCS FullAccess、UCS CommonOperations、UCS CIAOperations和UCS ReadOnlyAccess权限,然后为各个用户组添加用户。 图3 IAM授权方式 例如:为开发团队创建用户组dev,授予UCS CommonOperations权限,并添加devuser1、devuser2两个用户。 图4 授权记录 图5 用户管理 详细的操作指导请参见UCS服务资源权限(IAM授权)。需要注意的是,UCS的一些功能依赖其他云服务实现,在使用这些功能时,还需要授予其他云服务的权限。例如,创建权限时需要获取IAM用户列表,因此,为行管团队授予UCS FullAccess权限的同时还需授予VDC ReadOnlyAccess权限。更多依赖关系请参见UCS功能所需的最小权限。
  • 行管团队:搭建基础设施、配置权限策略 创建权限。 为开发人员创建开发权限。 图6 创建开发权限 创建舰队并将权限关联至舰队。 舰队是多个集群的集合,舰队可以实现多集群的权限统一管理。行管人员关联上一步创建的开发权限至舰队,后续加入舰队的集群将拥有舰队的权限,这样开发人员就有操作舰队中集群资源(如创建工作负载)的权限了。详细的操作指导请参见管理容器舰队。 注册集群,并将它们添加到舰队中。 UCS服务支持注册华为云集群、本地集群、多云集群及附着集群,行管人员可以根据实际需求选择。详细的操作指导请参见华为云集群、附着集群概述、本地集群概述或多云集群概述。 开通集群联邦。 集群联邦可以提供:多集群统一编排、跨集群弹性伸缩、跨集群服务发现、应用故障自动迁移等能力。集群联邦开通后,舰队内的成员集群将自动接入联邦。
  • 权限设计 公司不同的职能团队针对UCS资源的操作范围如下图所示: 图2 UCS资源操作全景 :由Tenant Administrator角色的管理员为各个职能团队授权。 、、、、、、:拥有UCS FullAccess权限的行管团队负责创建舰队、注册集群、将集群加入舰队,以及开通集群联邦能力,搭建多集群联邦基础设施。同时,行管团队创建权限,并将权限关联至舰队或未加入舰队的集群,使开发团队对具体的Kubernetes资源拥有相应的操作权限。 、:拥有UCS CommonOperations权限的开发团队执行创建工作负载、流量分发等操作。 :拥有UCS CIAOperations权限的运维团队执行监控运维等操作。 :拥有UCS ReadOnlyAccess权限的访客进行集群、舰队、工作负载等资源的查看操作。
  • 创建权限 登录UCS控制台,在左侧导航栏中选择“权限管理”。 单击右上角的“创建权限”按钮。 在弹出页面中填写权限参数。 图2 创建权限 权限名称:自定义权限的名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 用户:在下拉列表中勾选新创建的用户名。支持选择多个用户,假设一个企业中的开发团队有多名员工,他们对资源的操作权限一样,就可以在创建权限时选择多个用户以达到批量授权的目的。 本文以添加一个“readonly_user”用户为例。 权限类型:支持管理员权限、只读权限、开发权限和自定义权限。 表1 权限类型说明 权限类型 说明 管理员权限 对所有集群资源对象的读写权限 只读权限 对所有集群资源对象的只读权限 开发权限 对大多数集群资源对象的读写权限,对命名空间、资源配额等集群资源对象的只读权限 自定义权限 权限由您选择的操作类型和资源对象决定 权限内容:表示对哪些资源可以执行哪些操作。管理员权限、只读权限、开发权限的权限内容已经模板化,您可以单击按钮查看权限的详细内容。当权限类型选择“自定义权限”时,需要设置操作类型和资源对象。 操作类型:包含如下类型,也支持新增操作类型(如deletecollection,表示删除多个资源)。 get:按名称检索特定的资源对象。 list:检索命名空间中特定类型的所有资源对象。 watch:响应资源变化。 create:创建资源。 update:更新资源。 patch:局部更新资源。 delete:删除资源。 对于全部操作推荐选择:全部。 对于只读操作推荐选择:get + list + watch。 对于读写操作推荐选择:get + list + watch + create + update + patch + delete。 资源对象:您可以选择“全部资源”或“指定资源”。全部资源对象包括当前已有的资源对象和后续新增的自定义资源对象;“指定资源”即表示您自己选择资源对象的范围,为了便于查找,UCS服务将资源对象按照工作负载、服务、配置和存储、身份验证、授权、权限、扩展、集群维度划分。 若系统资源中没有您需要的资源对象,也可以新增自定义资源对象。 如果针对不同资源对象,操作类型不同(例如:对deployments具有create、delete操作权限,对secrets具有get、list、watch操作权限),可以单击按钮添加多组内容。 若您想了解更多资源对象和操作类型的知识,请参阅Kubernetes API。 描述:添加权限的描述信息。 单击“确定”。权限创建完成后,需要继续关联舰队或未加入舰队的集群,才可正常操作Kubernetes资源。
  • 授权流程 图1 给用户授予Kubernetes资源权限流程 创建用户。 管理员账号在IAM控制台创建一个用户。 为用户授予UCS系统策略。 授予Kubernetes资源权限之前,必须先为用户授予UCS系统策略的权限,本例中应该授予UCS ReadOnlyAccess策略(UCS服务只读权限)。 创建权限。 管理员账号在UCS控制台创建权限,选择“只读权限”的权限类型,表示对所有Kubernetes资源对象的只读权限。 关联权限至舰队或未加入舰队的集群。 将权限关联至舰队,关联时需要选择权限作用的命名空间。也可以关联权限至未加入舰队的集群。 验证权限是否生效。 新创建的用户登录控制台,验证只读权限是否生效。
  • 关联权限至舰队或未加入舰队的集群 舰队是多个集群的集合,舰队可以实现多集群的权限统一管理。因此建议您将集群加入舰队后,为舰队关联权限,这样舰队中的集群将具有相同的权限。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在目标舰队栏中,单击右上角的按钮。 图3 为舰队关联权限 在弹出的页面单击“修改容器舰队权限”或“关联权限”,打开修改权限页面,将已创建好的权限和舰队的命名空间关联起来。 图4 修改权限 命名空间:支持“全部命名空间”和“指定命名空间”。全部命名空间包括当前舰队已有的命名空间和舰队后续新增的命名空间;“指定命名空间”即表示您自己选择命名空间的范围,UCS服务提供了几个常见的命名空间供您选择(如default、kube-system、kube-public),您也可以新增命名空间,但要自行确保新增的命名空间在集群中存在。 请注意,选择的命名空间仅对权限中命名空间级资源生效,不影响权限中的集群资源。关于命名空间级和集群级资源的介绍,请参见Kubernetes资源对象章节。 关联权限:从下拉列表中选择权限,支持一次性选择多个权限,以达到批量授权的目的。 本示例中,选择“default”命名空间,选择“readonly”权限。 如果针对不同命名空间,关联的权限不同(例如:为default命名空间关联readonly权限,为development命名空间关联develop权限),可以单击按钮添加多组授权关系。 单击“确定”,完成权限的关联。 如果后续需要修改舰队的权限,采用同样的方法,重新选择命名空间和权限即可。
  • UCS权限类型 UCS权限管理是在IAM与Kubernetes的角色访问控制(RBAC)的能力基础上,打造的细粒度权限管理功能。支持UCS服务资源权限、集群中Kubernetes资源权限两种维度的权限控制,这两种权限针对的是不同类型的资源,在授权机制上也存在一些差异,具体如下: UCS服务资源权限:是基于IAM系统策略的授权。UCS服务资源包括容器舰队、集群、联邦实例等等,管理员可以针对用户的角色(如开发、运维)进行差异化授权,精细控制他们对UCS资源的使用范围。 集群中Kubernetes资源权限:是基于Kubernetes RBAC能力的授权,可授予针对集群内Kubernetes资源对象的细化权限,通过权限设置可以让不同的用户有操作不同Kubernetes资源对象(如工作负载、任务、服务等Kubernetes原生资源)的权限。 UCS的权限可以从使用的阶段来看,第一个阶段是创建和管理基础设施资源的权限,也就是拥有创建容器舰队、注册集群、开通集群联邦等操作的权限;第二个阶段是使用集群Kubernetes资源对象(如工作负载、服务等)的权限;第三个阶段是监控运维基础设施资源以及Kubernetes资源的权限。其中,第一个和第三个阶段属于UCS服务资源权限,在IAM控制台按照IAM系统策略的方式授予;第二个阶段属于集群中Kubernetes资源权限,由管理员在UCS控制台“权限管理”页面创建,并在“容器舰队”页面完成权限与特定舰队或集群的关联。
  • 基本概念说明 UCS权限管理包含如下基本概念,其关系如图3所示。 用户:由管理员账号在 统一身份认证 服务(IAM)中创建的用户,是云服务的使用人员,具有独立的身份凭证(密码和访问密钥),根据账号授予的权限使用资源。 用户组:用户组是用户的集合,IAM可以通过用户组功能实现用户的授权。您创建的IAM用户,加入特定用户组后,将具备对应用户组的权限。例如,管理员为用户组授予UCS FullAccess权限后,其中的用户将具备UCS服务的管理员权限。当某个用户加入多个用户组时,此用户同时拥有多个用户组的权限,即多个用户组权限的全集。 权限:由UCS管理员定义的某个或某些用户对集群中Kubernetes资源的操作范围,UCS预置了几个常用权限,包括管理员权限、只读权限、开发权限,同时也支持用户自定义权限。更多介绍请参见创建权限。 舰队:舰队是多个集群的集合,管理员可以使用舰队来实现关联集群的分类。舰队还可以实现多集群的统一管理,包括权限管理、安全策略、配置管理以及多集群编排等统一管理的能力。舰队与权限是多对多的关系,即一个权限可以关联多个舰队,一个舰队也可以关联多个权限。 图3 权限关系示意图
  • 容器舰队支持的能力范围 集群接入UCS后,您可以将其加入容器舰队并开通集群联邦能力,以进行多集群管理。针对已接入UCS的集群(无论是否加入容器舰队)、未开通集群联邦能力的容器舰队、已开通集群联邦能力的容器舰队,UCS所支持的能力范围有所不同,如表1所示。 表1 容器舰队支持的能力范围 能力 已接入UCS的集群 未开通集群联邦能力的容器舰队 已开通集群联邦能力的容器舰队 集群联邦多集群管理 - - √ 流量分发 √ - - 可观测性 √ √ √ 服务网格 - √ √ 云原生服务中心 √ - - 策略中心 √ √ √ 配置管理 √ - - 流水线 - - √ 权限管理 √ √ √
共100000条