华为云用户手册

  • 查看集群内Pod详情 在Pod列表中,单击需要查看详情的实例名称,进入该实例的详情页面,通过切换“概览”、“容器列表”和“监控”页签查看相应内容。 表1 Pod详情页面 词条 词条描述 概览 单击实例名称,进入实例概览页。 资源概况:Pod状态、容器数量(异常/总数)以及异常事件。 监控概览:包括CPU使用率、内存使用率和网络流入/流出速率这些常见的监控指标。 图2 资源概况和监控概览 容器使用趋势:包括Pod中各容器的CPU使用率、CPU使用量、内存使用率和内存使用量(在图表左上角切换对应指标),并且支持查看降序Top5和升序Top5数据(在图表右上角进行切换)。 图3 容器使用趋势 容器列表 容器列表中包含了容器名称、状态、命名空间、重启次数,以及镜像等详细信息。 您可以通过在列表上方按照容器名称、状态和命名空间进行筛选,快速找到需要的容器。 在列表的右上角,您可以单击按钮来导出全部容器数据,或者选择部分容器进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。 监控 在此处,您可以方便地查看实例在近1小时、近8小时、近24小时以及自定义时间段内各维度资源的使用情况。 如需查看更多监控信息,请单击“查看全部仪表盘”,跳转至“仪表盘”页面,相应指导请参见仪表盘。
  • 支持的巡检项 表1 CCE集群巡检项 巡检维度 集群巡检场景 巡检项 集群 集群资源规划能力 集群Master节点是否高可用 集群CPU的Request水位是否超过80% 集群CPU的Limit水位是否超过150% 集群内存的Request水位是否超过80% 集群内存的Limit水位是否超过150% 集群版本是否超期 集群运维能力 集群kube-prometheus-stack插件状态是否正常 集群log-agent插件状态是否正常 集群npd插件状态是否正常 集群配置 安全组配置是否正确 核心插件 coredns插件状态 coredns近24小时cpu使用率最大值是否超过80% coredns近24小时内存使用率最大值是否超过80% coredns近24小时是否存在 域名 解析失败请求次数 coredns近24小时P99请求时延是否超过5s coredns插件状态 everest插件状态 everest插件状态 everest近24小时CPU使用率最大值是否超过80% everest近24小时内存使用率最大值是否超过80% kube-prometheus-stack插件状态 kube-prometheus-stack近24小时CPU使用率最大值是否超过80% kube-prometheus-stack近24小时内存使用率最大值是否超过80% kube-prometheus-status插件状态 kube-prometheus-status近24小时是否出现OOM kube-prometheus-status在Server部署模式下,prometheus-server的PVC使用率是否超过80% log-agent插件状态 log-agent插件状态 LTS日志组、日志流是否创建成功 LTS日志组结构化是否创建成功 autoscaler插件状态 集群在开启节点池弹性扩缩容条件下,autoscaler插件状态是否可用 节点 节点状态 节点状态是否就绪 节点状态不可调度 节点kubelet状态 节点配置 节点内存的Requset是否超过80% 节点CPU的Request是否超过80% 节点内存的Limit检查是否超过150% 节点CPU的Limit检查是否超过150% 节点资源水位诊断 节点24小时内CPU使用率最大值是否超过80% 节点24小时内内存使用率最大值是否超过80% 节点磁盘使用率是否超过80% 节点PID使用量是否正常 节点24小时内是否发生OOM事件 负载 Pod状态 Pod状态检查 Pod负载状态 Pod在24小时内是否发生OOM Pod的24小时内CPU使用率最大值是否超过80% Pod的24小时内内存使用率最大值是否超过80% Pod配置 Pod中的容器是否配置Request Pod中的容器是否配置Limit Pod探针配置 Pod中的容器是否配置存活探针 Pod中的容器是否配置就绪探针 外部依赖 租户节点资源配额 租户云硬盘配额是否超过90% 租户E CS 配额充足是否超过90% 表2 本地集群巡检项 巡检维度 集群巡检场景 巡检项 集群 集群资源规划能力 集群Master节点是否高可用 集群CPU的Request水位是否超过80% 集群CPU的Limit水位是否超过150% 集群内存的Request水位是否超过80% 集群内存的Limit水位是否超过150% 集群运维能力 集群kube-prometheus-stack插件状态是否正常 集群log-agent插件状态是否正常 核心插件 kube-prometheus-stack插件状态 kube-prometheus-stack近24小时CPU使用率最大值是否超过80% kube-prometheus-stack近24小时内存使用率最大值是否超过80% kube-prometheus-status插件状态 kube-prometheus-status近24小时是否出现OOM log-agent插件状态 log-agent插件状态 LTS日志组、日志流是否创建成功 LTS日志组结构化是否创建成功 节点 节点状态 节点状态是否就绪 节点状态不可调度 节点kubelet状态 节点配置 节点内存的Requset是否超过80% 节点CPU的Request是否超过80% 节点内存的Limit检查是否超过150% 节点CPU的Limit检查是否超过150% 节点资源水位诊断 节点24小时内CPU使用率最大值是否超过80% 节点24小时内内存使用率最大值是否超过80% 节点磁盘使用率是否超过80% 节点PID使用量是否正常 节点24小时内是否发生OOM事件 负载 Pod状态 Pod状态检查 Pod负载状态 Pod在24小时内是否发生OOM Pod的24小时内CPU使用率最大值是否超过80% Pod的24小时内内存使用率最大值是否超过80% Pod配置 Pod中的容器是否配置Request Pod中的容器是否配置Limit Pod探针配置 Pod中的容器是否配置存活探针 Pod中的容器是否配置就绪探针 外部依赖 租户节点资源配额 租户云硬盘配额是否超过90% 租户ECS配额充足是否超过90% 表3 附着集群、多云集群、伙伴云集群巡检项 巡检维度 集群巡检场景 巡检项 集群 集群资源规划能力 集群Master节点是否高可用 集群CPU的Request水位是否超过80% 集群CPU的Limit水位是否超过150% 集群内存的Request水位是否超过80% 集群内存的Limit水位是否超过150% 集群运维能力 集群kube-prometheus-stack插件状态是否正常 核心插件 kube-prometheus-stack插件状态 kube-prometheus-stack近24小时CPU使用率最大值是否超过80% kube-prometheus-stack近24小时内存使用率最大值是否超过80% kube-prometheus-status插件状态 kube-prometheus-status近24小时是否出现OOM 节点 节点状态 节点状态是否就绪 节点状态不可调度 节点kubelet状态 节点配置 节点内存的Requset是否超过80% 节点CPU的Request是否超过80% 节点内存的Limit检查是否超过150% 节点CPU的Limit检查是否超过150% 节点资源水位诊断 节点24小时内CPU使用率最大值是否超过80% 节点24小时内内存使用率最大值是否超过80% 节点磁盘使用率是否超过80% 节点PID使用量是否正常 节点24小时内是否发生OOM事件 负载 Pod状态 Pod状态检查 Pod负载状态 Pod在24小时内是否发生OOM Pod的24小时内CPU使用率最大值是否超过80% Pod的24小时内内存使用率最大值是否超过80% Pod配置 Pod中的容器是否配置Request Pod中的容器是否配置Limit Pod探针配置 Pod中的容器是否配置存活探针 Pod中的容器是否配置就绪探针 外部依赖 租户节点资源配额 租户云硬盘配额是否超过90% 租户ECS配额充足是否超过90%
  • 设置命名空间配额 资源配额可以限制命名空间下的资源使用,进而支持以命名空间为粒度的资源划分。 通过设置命名空间级别的资源配额,实现多团队或多用户在共享集群资源的情况下限制团队、用户可以使用的资源总量,包括限制命名空间下创建某一类型对象的数量以及对象消耗计算资源(CPU、内存)的总量。 系统创建的kube-public、kube-system等命名空间不支持设置资源配额。 登录集群控制台。 在左侧导航栏中选择“命名空间”,单击对应命名空间后的“管理配额”。 设置资源配额。 所有配额均默认为不限制,如需设置资源配额,请输入大于等于1的整型数值。若手动限制CPU或内存的配额,则创建工作负载时必须指定CPU或内存请求值。 配额累计使用量包含系统默认创建的资源,如default命名空间下系统默认创建的Kubernetes服务(该服务可通过后端kubectl工具查看)等,故建议命名空间下的资源配额略大于实际期望值以去除系统默认创建资源的影响。 CPU(Core):限制命名空间下工作负载实例(Pod)能申请CPU资源的最大值,单位为“核”。 内存(MiB):限制命名空间下工作负载实例能申请内存资源的最大值,单位为MiB。 有状态工作负载(StatefulSet):限制命名空间下能创建有状态负载的最大数量。 无状态工作负载(Deployment):限制命名空间下能创建无状态负载的最大数量。 普通任务(Job):限制命名空间下能创建普通任务的最大数量。 定时任务(CronJob):限制命名空间下能创建定时任务的最大数量。 容器组(Pod):限制命名空间下能创建Pod的最大数量,包含停止状态的Pod。 容器组(不包含停止状态的Pod):限制命名空间下能创建Pod的最大数量,不包含停止状态的Pod。 服务(Service):限制命名空间下能创建服务的最大数量,包含停止状态的Service。 服务(不包含停止状态的Service):限制命名空间下能创建服务的最大数量,不包含停止状态的Service。 存储卷声明(PersistentVolumeClaim):限制命名空间下能创建存储卷声明的最大数量。 配置项(ConfigMap):限制命名空间下能创建配置项的最大数量。 密钥(Secret):限制命名空间下能创建密钥的最大数量。 单击“确定”。
  • 操作步骤 登录集群控制台。 在左侧导航栏中选择“服务”,选择“路由”页签,并选择路由所在命名空间。如需新建命名空间,请参见创建命名空间。 单击右上角“创建路由”,设置路由配置参数。 名称:新增路由的名称,用户可自定义。 命名空间:路由所在命名空间。 TLS配置: 服务器证书:选择IngressTLS类型的服务器证书。若无符合条件的证书,可单击“创建IngressTLS类型的密钥证书”,请参考创建密钥创建一个指定类型的密钥证书。如需获取TLS证书,请参考如何获取TLS密钥证书?。 SNI(Server Name Indication):输入域名并选择对应的证书。SNI是TLS的扩展协议,在该协议下允许同一个IP地址和端口号下对外提供多个基于TLS的访问域名,且不同的域名可以使用不同的安全证书。 转发策略配置:请求的访问地址与转发规则匹配时(转发规则由域名、URL组成,例如:10.117.117.117:80/helloworld),此请求将被转发到对应的目标Service处理。您可添加多条转发策略。 域名:可选项,输入实际访问的域名地址。请确保所填写的域名已注册并备案,一旦配置了域名规则后,必须使用域名访问。 URL:需要注册的访问路径,例如:/healthz。该访问路径需与后端应用暴露的URL一致,否则将返回404错误。 目标服务名称:选择服务名称,需要先创建NodePort服务,具体可参考节点访问(NodePort)。 目标服务访问端口:选择目标服务后,对应的容器端口将自动获取。 Ingress Class:支持选择集群内已创建的Ingress Class,或手动输入规划的Ingress Class名称。 注解:支持key/value对格式,请您根据自身业务以及厂家要求进行注解配置,填写完成后单击“添加”。 单击“确定”,创建Ingress。
  • 集群内访问(ClusterIP) 登录集群控制台。 在左侧导航栏中选择“服务”,选择“服务”页签,并选择服务所在命名空间。如需新建命名空间,请参见创建命名空间。 单击右上角“创建服务”,设置集群内访问参数。 Service名称:自定义服务名称,可与工作负载名称保持一致。 访问类型:选择“集群内访问 ClusterIP”。 命名空间:工作负载所在命名空间。 选择器:添加标签,Service根据标签选择Pod,填写后单击“添加”。也可以引用已有工作负载的标签,单击“引用负载标签”,在弹出的窗口中选择负载,然后单击“确定”。 端口配置: 协议:请根据业务的协议类型选择。 服务端口:容器端口映射到集群虚拟IP上的端口,用虚拟IP访问工作负载时使用,端口范围为1-65535,可任意指定。 容器端口:工作负载程序实际监听的端口,需用户确定。例如nginx程序实际监听的端口为80。 单击“确定”,创建Service。
  • 节点访问(NodePort) 登录集群控制台。 在左侧导航栏中选择“服务”,选择“服务”页签,并选择服务所在命名空间。如需新建命名空间,请参见创建命名空间。 单击右上角“创建服务”,设置集群内访问参数。 Service名称:自定义服务名称,可与工作负载名称保持一致。 访问类型:选择“节点访问 NodePort”。 服务亲和: 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。 命名空间:工作负载所在命名空间。 选择器:添加标签,Service根据标签选择Pod,填写后单击“添加”。也可以引用已有工作负载的标签,单击“引用负载标签”,在弹出的窗口中选择负载,然后单击“确定”。 端口配置: 协议:请根据业务的协议类型选择。 服务端口:容器端口映射到集群虚拟IP上的端口,用虚拟IP访问应用时使用,端口范围为1-65535,可任意指定。 容器端口:容器镜像中应用程序实际监听的端口,需用户确定。例如:nginx程序实际监听的端口为80。 节点端口:容器端口映射到节点私有IP上的端口,用私有IP访问应用时使用,端口范围为30000-32767,建议选择“自动生成”。 自动生成:系统会自动分配端口号。 指定端口:指定固定的节点端口,默认取值范围为30000-32767。若指定端口时,请确保同个集群内的端口唯一性。 单击“确定”,创建Service。
  • 负载均衡(LoadBalancer) 登录集群控制台。 在左侧导航栏中选择“服务”,选择“服务”页签,并选择服务所在命名空间。如需新建命名空间,请参见创建命名空间。 单击右上角“创建服务”,设置集群内访问参数。 Service名称:自定义服务名称,可与工作负载名称保持一致。 访问类型:选择“负载均衡 LoadBalancer”。 服务亲和: 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。 命名空间:工作负载所在命名空间。 选择器:添加标签,Service根据标签选择Pod,填写后单击“添加”。也可以引用已有工作负载的标签,单击“引用负载标签”,在弹出的窗口中选择负载,然后单击“确定”。 端口配置: 协议:请根据业务的协议类型选择。 服务端口:容器端口映射到集群虚拟IP上的端口,用虚拟IP访问应用时使用,端口范围为1-65535,可任意指定。 容器端口:容器镜像中应用程序实际监听的端口,需用户确定。例如:nginx程序实际监听的端口为80。 注解:支持key/value对格式,请您根据自身业务以及厂家要求进行注解配置,填写完成后单击“添加”。 单击“确定”,创建Service。
  • 产品功能 容器洞察:提供基于Kubernetes原生类型的容器监控能力,支持集群、节点、工作负载的资源全景,支持节点的资源占用、工作负载的资源消耗,以及近一小时的CPU/内存指标展示,全面监控集群的健康状态和负荷程度。 健康诊断:对集群健康状态进行周期性检查,可以对集群、节点资源使用情况,工作负载、Pod资源状态进行快速诊断。 仪表盘:仪表盘可将不同图表展示到同一个屏幕上,通过不同的仪表形式来展示资源数据,例如,曲线图、数字图等,进而全面、深入地掌握监控数据。
  • 产品优势 容器智能分析深度整合云原生基金会(CNCF)的监控项目Prometheus,同时遵循OpenTracing/OpenTelemetry规范。对关键指标、事件等运维数据进行统一采集、存储和可视化展现,精心打造云原生应用的良好可观测性能力。 将云原生基础设施监控和应用负载监控进行关联,提供全栈监控,使用户能够随时随地清晰地感知基础设施和应用负载状态。 能够对Kubernetes集群、容器组(Pod)等进行详细监控,对业务提供端到端追踪和可视化,提供集群健康诊断能力,大大缩短问题分析定位时间。 提供开箱即用的插件安装、数据采集、仪表盘监控能力,相比基于开源产品打造的监控产品,在可靠性、高可用、安装部署便捷性上更具有竞争力,能够更好的为您的云原生应用保驾护航。
  • 服务退订 退订服务后,该服务的所有实例将会被删除,可能会引起功能异常,请您仔细确认。 登录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”获取提供商的联系方式进行咨询(部分服务可能没有该信息)。 单击“订阅”按钮确认订阅。订阅成功后,您可直接单击“创建实例”进行部署,也可在“我的订阅”中查询此服务再创建实例,具体操作步骤请参见实例创建。
  • 功能概述 服务订阅 服务中心包含生态伙伴发布的服务和开源服务,所有服务都支持用户订阅,用户订阅成功才能部署实例。 服务退订 用户可以随时退订服务,退订服务时系统会自动删除已部署的服务及其实例。 服务升级 当服务提供商针对某服务发布了新版本后,订阅此服务的用户会收到升级提示,用户可选择是否将服务升级到最新版本。 实例部署 用户在订阅服务后可部署实例,用户可根据服务能力指定部署的Region、容器集群以及运行参数。 实例运维 云原生服务中心提供实例的运维视图,可以查看实例的监控、日志等运维信息,如果需要深入的数据分析,可以从运维视图跳转到对应的云服务。 实例更新 用户可以修改实例的运行配置。 实例删除 当实例承载的业务生命周期结束,用户可以删除实例回收相关资源。 服务插件 OSC提供的运维能力依赖一些能力插件,这些插件无需用户安装。当服务包中声明了运维能力的相关配置,服务部署时,集群中被依赖的插件如果没有安装,OSC会自动安装。用户可以在插件创建好之后查看插件的事件、日志等,当插件异常时,用户可以重建插件进行恢复。
  • 服务包来源 OSC服务目录中的服务包来源有两种: 服务提供商作为商品进行上架的服务,此类服务包将对接到华为云市场上,并且在OSC服务目录上将基于“云商店商品”标签。 服务包来源于开源社区,例如ArtifactHub等,此类服务大多数有华为云进行上架并为免费服务。 开源服务包和服务商提供的服务包在提交审核申请后,经由华为云对该服务进行验证和相关审核后,如果该服务具有良好的服务质量和品质,OSC服务目录中将对该服务包增加“华为认证”标签。此类“华为认证”服务包至少能够在华为云CCE集群和UCS On-Premise集群中进行部署,并能够确保功能的可用性、可维护性。
  • 升级集群联邦 UCS支持查看现有联邦版本,并升级集群联邦至更新的版本。 集群联邦升级过程中,不允许进行集群移入、移出操作,不允许进行联邦操作,否则可能造成集群联邦升级失败。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到需要升级联邦版本的目标舰队,单击目标舰队名称,在舰队基本信息中单击“升级该版本”。 图2 升级联邦版本 在弹出的升级告知中查看能够升级到的版本,并单击“下一步”进行升级前检查。 若通过检查,则单击“开始升级”进行升级,升级过程大约需要2分钟。 若未通过检查,请单击“排查原因”,参考文档进行错误修复。 右上角状态重新显示为“集群联邦能力已开通”表明升级成功,您可以在舰队基本信息中查看新的版本号。 右上角状态显示为“集群联邦能力升级失败”表明升级失败,请执行集群联邦版本回退。
  • 开通集群联邦 集群联邦和容器舰队绑定在一起,只需要为容器舰队一键开通集群联邦,就可以方便地操作集群联邦了。 集群联邦的开通包含两个阶段:一、开通集群联邦,二、集群接入联邦。容器舰队开通集群联邦能力后,容器舰队内的成员集群将自动接入联邦。 开通集群联邦有配额限制,并且对容器舰队中的集群有一些约束,请在开通前仔细阅读,避免集群联邦开通失败。 表1 集群约束 项目 约束 集群版本 容器舰队中的所有集群版本必须为1.19及以上。 集群状态 容器舰队中的所有集群状态必须为“运行中”。 集群网络状态 CCE集群、 CCE Turbo 集群:CCE集群所在region为北京四的,开通联邦时UCS将自动在集群所属VPC下创建VPCEP打通网络,非该region则需要集群节点具备公网访问能力,例如为节点绑定公网地址,用以拉取公网镜像。 其他集群:成功接入UCS即可。 配额 集群联邦配额为1,即只能为一个容器舰队开通集群联邦。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到目标舰队,页面提示暂未开通集群联邦能力,单击“去开通”按钮。 图1 开通集群联邦 在弹出的提示框中单击“确定”,等待集群联邦开通成功。 当集群不满足约束条件时,界面会弹出报错信息,请按照提示修改,然后重新开通集群联邦。 开通集群联邦大约需要10分钟,请耐心等待。您可以单击集群联邦状态,查看详细的开通进度。开通成功后,容器舰队顶部的提示信息变为“集群联邦能力已开通 ,集群接入成功”。
  • 添加集群 容器舰队开通集群联邦后,可以继续为舰队添加集群,添加后,集群会自动接入集群联邦。一个集群联邦最多可接入20个集群。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在目标舰队栏中单击“添加集群”,或单击右上角的按钮。 您也可以单击舰队名称进入舰队详情页,在“容器集群”页面单击右上角“添加集群”。 勾选一个或多个已有集群。一个集群只能加入一个舰队,因此列表中显示的集群均为未加入舰队的集群。 请确保所选择的集群符合表1中的约束条件,否则会出现集群添加成功,但是接入集群联邦失败的情况。如果出现这种情况,请参考舰队开通集群联邦后,添加集群报错如何解决?进行修复。 单击“确定”,完成集群添加。
  • 集群级别 集群级别的资源,它的作用范围要比命名空间大很多,全集群可见,并且可以调用,不属于某一个命名空间,因此资源对象的名称必须全局唯一。 集群级别的资源,不管在任何命名空间下定义,在其他的命名空间下都能看得到,在定义的时候无需指定命名空间。 常见的集群级资源有: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控制台,在左侧导航栏中选择“容器舰队”。 在目标舰队栏中,单击右上角的按钮。 图3 为舰队关联权限 在弹出的页面单击“修改容器舰队权限”或“关联权限”,打开修改权限页面,将已创建好的权限和舰队的命名空间关联起来。 图4 修改权限 命名空间:支持“全部命名空间”和“指定命名空间”。全部命名空间包括当前舰队已有的命名空间和舰队后续新增的命名空间;“指定命名空间”即表示您自己选择命名空间的范围,UCS服务提供了几个常见的命名空间供您选择(如default、kube-system、kube-public),您也可以新增命名空间,但要自行确保新增的命名空间在集群中存在。 请注意,选择的命名空间仅对权限中命名空间级资源生效,不影响权限中的集群资源。关于命名空间级和集群级资源的介绍,请参见Kubernetes资源对象章节。 关联权限:从下拉列表中选择权限,支持一次性选择多个权限,以达到批量授权的目的。 本示例中,选择“default”命名空间,选择“readonly”权限。 如果针对不同命名空间,关联的权限不同(例如:为default命名空间关联readonly权限,为development命名空间关联develop权限),可以单击按钮添加多组授权关系。 单击“确定”,完成权限的关联。 如果后续需要修改舰队的权限,采用同样的方法,重新选择命名空间和权限即可。
  • 创建权限 登录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权限类型 UCS权限管理是在IAM与Kubernetes的角色访问控制(RBAC)的能力基础上,打造的细粒度权限管理功能。支持UCS服务资源权限、集群中Kubernetes资源权限两种维度的权限控制,这两种权限针对的是不同类型的资源,在授权机制上也存在一些差异,具体如下: UCS服务资源权限:是基于IAM系统策略的授权。UCS服务资源包括容器舰队、集群、联邦实例等等,管理员可以针对用户的角色(如开发、运维)进行差异化授权,精细控制他们对UCS资源的使用范围。 集群中Kubernetes资源权限:是基于Kubernetes RBAC能力的授权,可授予针对集群内Kubernetes资源对象的细化权限,通过权限设置可以让不同的用户有操作不同Kubernetes资源对象(如工作负载、任务、服务等Kubernetes原生资源)的权限。 UCS的权限可以从使用的阶段来看,第一个阶段是创建和管理基础设施资源的权限,也就是拥有创建容器舰队、注册集群、开通集群联邦等操作的权限;第二个阶段是使用集群Kubernetes资源对象(如工作负载、服务等)的权限;第三个阶段是监控运维基础设施资源以及Kubernetes资源的权限。其中,第一个和第三个阶段属于UCS服务资源权限,在IAM控制台按照IAM系统策略的方式授予;第二个阶段属于集群中Kubernetes资源权限,由管理员在UCS控制台“权限管理”页面创建,并在“容器舰队”页面完成权限与特定舰队或集群的关联。
共100000条