华为云用户手册

  • 注册集群 登录U CS 控制台。 在左侧导航栏中选择“容器舰队”,单击附着集群选项卡中的“注册集群”按钮。 参考表1填写待添加集群的基础信息,其中带“*”的参数为必填参数。 表1 注册集群基础信息配置 参数 参数说明 集群名称* 输入集群的自定义名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 集群服务商* 选择一个集群服务商。 所属区域* 选择集群所在的区域。 集群标签 非必填项,以键值对的形式为集群添加标签,可以通过标签实现集群的分类。键值对可自定义,以字母或者数字开头和结尾,由字母、数字、连接符(-)、下划线(_)、点号(.)组成,且63个字符之内。 上传KubeConfig* 上传kubectl的配置文件来完成集群认证,支持JSON或YAML格式。获取KubeConfig文件的操作步骤因厂商而异,请参见KubeConfig。 选择Context* 选择对应的Context。在完成KubeConfig文件上传后,选项列表将自动获取文件中的“contexts”字段。 默认值为KubeConfig文件中“current-context”字段指定的Context,若文件中无此字段则需要从列表中手动选择。 容器舰队 选择集群所属的舰队。 舰队用于权限精细化管理,一个集群只能加入一个舰队。若不选择舰队,集群注册成功后将显示在“未加入舰队的集群”页签下,后续还可以再添加至舰队中。 不支持在注册集群阶段选择已开通集群联邦能力的舰队,如果一定要加入这个舰队,请在集群注册成功后,再添加到该舰队中。关于集群联邦的介绍,请参见开通集群联邦章节。 如需新建舰队,请参见管理容器舰队。 单击“确定”,集群注册成功后如图1所示,请在30分钟内接入网络。您可选择集群的接入方式或单击右上角按钮查看详细的网络接入流程。 如您未在30分钟内接入网络,将会导致集群注册失败,可单击右上角按钮重新注册集群。如果已经接入但数据未采集上来,请等待2分钟后刷新集群。 图1 集群等待接入状态
  • 购买终端节点 登录 VPC终端节点 控制台,单击“购买终端节点”。 选择终端节点的区域。 选择“按名称查找服务”,输入服务名称“cn-north-4.open-vpcep-svc.29696ab0-1486-4f70-ab35-a3f6b1b37c02”,并单击“验证”。 图2 购买终端节点 选择准备网络环境中与集群网络连通的虚拟私有云以及对应的子网。 根据需求选择终端节点的“节点IP”为“自动分配”或“手动分配”。 配置完其他参数后,单击“立即购买”,并进行规格确认。 规格确认无误,单击“提交”,任务提交成功。 参数信息配置有误,需要修改,单击“上一步”,修改参数,然后单击“提交”。
  • 选择插件 UCS提供两种插件以采集工作负载相关指标:Kubernetes Metrics Server与kube-prometheus-stack。两种插件适用的集群类型与指标类型不同,请参考表1选择插件进行安装。 表1 插件选择 适用的集群类型 支持的指标类型 插件 注意事项 华为云集群 系统指标 安装Kubernetes Metrics Server或kube-prometheus-stack。 若您选择安装kube-prometheus-stack插件,在安装该插件后,需要将Prometheus注册为Metrics API的服务,具体操作请参见通过Metrics API提供资源指标。 自定义指标 安装kube-prometheus-stack。 安装插件前,请检查您的华为云集群版本,若为v1.19以下,请先升级集群版本。 安装插件时,必须选择Server模式,该模式支持自定义指标。 安装插件后,需要将自定义指标聚合至Kubernetes API Server,具体操作请参见将自定义指标聚合到Kubernetes API Server。 非华为云集群 系统指标 安装Kubernetes Metrics Server。 参见安装插件相关文档。 自定义指标 暂无插件支持。 非华为云集群的自定义指标采集需要自行安装Prometheus Adapter组件并配置自定义指标采集规则,再进行FederatedHPA策略的创建。
  • 安装插件 选择适用的插件后,请结合表1内注意事项,参考相关文档为集群安装插件: 请为需要创建负载伸缩策略的集群联邦下所有集群安装指标采集插件,否则会造成指标采集异常,负载伸缩策略失效。 Kubernetes Metrics Server的安装方法请参见Kubernetes Metrics Server。 kube-prometheus-stack的安装方法请参见kube-prometheus-stack。
  • 为什么需要MCI 在传统的Kubernetes集群中,每个集群都有其负载均衡器和Ingress,这使得在多个集群之间进行负载均衡和流量路由变得困难。UCS为多集群提供了统一的流量入口MCI(Multi Cluster Ingress),帮助您更加简单高效地跨集群、跨区域进行负载均衡和流量路由,进而提高应用程序的可用性和可靠性。 MCI是一种多集群Ingress资源对象,可以根据指定规则将外部流量路由到多个集群内的Pod。使用MCI,用户可自定义转发规则,完成对访问流量的细粒度划分。图1展示了流量如何从MCI流向集群:从 域名 foo.example.com 流入的流量流向了两个集群中带有标签 app:foo 的 Pod,从域名goo.example.com 流入的流量流向了两个集群中具有标签 app:goo的 Pod。 图1 MCI示意图 具体来说,MCI的优势在于: 多集群负载均衡:MCI为用户提供统一入口,将流量分发到多个Kubernetes集群中,与集群所处位置无关。 流量路由:使用MCI,用户可根据不同条件(URL、HTTP头、源IP等)自定义转发规则,将流量路由到不同集群,实现更灵活的流量控制。 高可用:MCI通过健康检查和流量自动切换,实现多集群、多区域的高可用性。 可扩展性:MCI发现和管理多个Kubernetes集群上的应用程序资源,实现应用程序自动扩展和部署。 安全性:MCI支持TLS安全策略和证书管理,保障应用程序的安全性。
  • MCI的工作原理 MCI的功能主要通过请求转发执行器MCI Controller实现。MCI Controller部署在集群联邦控制面,实时监控资源对象的变化,解析MCI对象定义的规则并负责将请求转发到相应的后端Service。 图2 MCI Controller工作原理 MCI Controller支持在同一个ELB实例(即同一IP)下设置不同域名、端口和转发规则,其工作原理如图2,实现流程如下: 部署人员在集群联邦控制面创建工作负载,并为其配置Service对象。 部署人员在集群联邦控制面创建MCI对象,并在MCI中配置流量访问规则,包括关联的负载均衡器、URL以及访问的后端Service及端口等。 MCI Controller监控到MCI对象发生变化,会根据MCI中定义的规则,在ELB侧重新配置监听器以及后端服务器路由。 当用户进行访问时,流量根据ELB中配置的转发策略被转发到对应的后端Service关联的各个工作负载。
  • 创建CronFederatedHPA策略 控制台创建 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击已开通集群联邦的容器舰队名称,进入容器舰队详情页面。 在左侧导航栏选择“负载伸缩”,选择“定时伸缩策略”,并单击右上角“创建定时伸缩策略”。 参考表1配置CronFederatedHPA策略。 表1 基础配置参数说明 参数 参数说明 策略名称 CronFederatedHPA策略的名称。 命名空间 需要设置自动扩缩的工作负载所在命名空间的名称。 作用对象 可选择作用于工作负载或指标伸缩策略。 工作负载:选择需要应用该策略的工作负载,也可新建工作负载,新建的具体操作请参见创建工作负载。 指标伸缩策略:选择已创建的指标伸缩策略,也可单击右侧新建,新建的具体操作请参见创建FederatedHPA策略。 单击策略配置下的“添加规则”,参考表2配置策略规则。 表2 CronFederatedHPA策略规则配置 参数 参数说明 规则名称 CronFederatedHPA策略的名称。 目标副本数 CronFederatedHPA策略的目标Pod数。 触发时间 可选择每小时、每天、每周、每月、每年,或选择Cron表达式自行配置触发时间。 每小时:在每小时的第几分钟执行一次。例如选择“5”,策略将会在每小时的第5分钟执行一次。 每天:在每天具体的某一个时间执行一次,可具体到分钟。设置完成后,策略将会在每天的该时点执行。 每周:在每周具体的某一天内的某一时间执行一次,可具体到分钟。设置完成后,策略将会在每周的该天该时点执行。 每月:在每月具体的某一天内的某一时间执行一次,可具体到分钟。设置完成后,策略将会在每月的该天该时点执行。 每年:在每年具体的某月某天内的某一时间执行一次,可具体到分钟。设置完成后,策略将会在每年的该天该时点执行。 Cron表达式: Cron表达式遵循以下语法规则: ┌───────────── 分钟(0-59) │ ┌─────────── 小时(0-23) │ │ ┌────────── 月的某天(1-31) │ │ │ ┌──────── 月份(1-12) │ │ │ │ ┌─────── 周的某天(0-6) │ │ │ │ │ │ │ │ │ │ * * * * * 例如:0 0 13 * 5 表示此任务必须在每个星期五的午夜以及每个月的 13 日的午夜开始。 时区 可选择上海时区或新加坡时区。 设置完成后,单击“确定”,然后单击“创建”,即可跳转定时伸缩策略列表查看策略详情,完成CronFederatedHPA策略创建。 命令行创建 使用kubectl连接集群联邦,详细操作请参见使用kubectl连接集群联邦。 使用如下命令创建并编辑cfhpa.yaml文件。 vi cfhpa.yaml 文件内容定义如下所示,参数定义请参见表3。本示例中构建的CronFederatedHPA策略名称为cron-federated-hpa,直接作用于名称为test的工作负载,内含两条定时规则(名称为“Scale-Up”和“Scale-Down”)。其中,Scale-Up规则为每天8:30的目标Pod数为10,Scale-Down规则为每天21:00的目标Pod数为5。 apiVersion: autoscaling.karmada.io/v1alpha1 kind: CronFederatedHPA metadata: name: cron-federated-hpa # CronFederatedHPA策略名称 spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment # 可选择Deployment或FederatedHPA name: test # 工作负载或FederatedHPA的名称 rules: - name: "Scale-Up" # 规则名称 schedule: 30 08 * * * # 触发时间 targetReplicas: 10 # 目标Pod数,非负整数 timeZone: Asia/Shanghai # 时区 - name: "Scale-Down" # 规则名称 schedule: 0 21 * * * # 触发时间 targetReplicas: 5 # 目标Pod数,非负整数 timeZone: Asia/Shanghai # 时区 表3 关键参数说明 参数 是否必填 参数类型 描述 kind 是 String 可选择Deployment或FederatedHPA。 单独使用CronFederatedHPA策略:Deployment 同时使用FederatedHPA与CronFederatedHPA策略:FederatedHPA name 是 String CronFederatedHPA策略中定义的规则名称,长度为1~32字符。 schedule 是 String 策略触发时间,以Cron表达式呈现,具体遵循以下语法规则: ┌───────────── 分钟(0-59) │ ┌─────────── 小时(0-23) │ │ ┌────────── 月的某天(1-31) │ │ │ ┌──────── 月份(1-12) │ │ │ │ ┌─────── 周的某天(0-6) │ │ │ │ │ │ │ │ │ │ * * * * * 例如:0 0 13 * 5 表示此任务必须在每个星期五的午夜以及每个月的 13 日的午夜开始。 targetReplicas 是 String CronFederatedHPA策略的目标Pod数。 timeZone 是 String 时区,可选择上海时区或新加坡时区。 上海时区:Asia/Shanghai 新加坡时区:Asia/Singapore 执行如下命令创建CronFederatedHPA策略。 kubectl apply -f cfhpa.yaml 回显如下表明创建成功。 CronFederatedHPA.autoscaling.karmada.io/cron-federated-hpa created 创建完成后,可以执行如下命令观察负载伸缩的运行效果。 检查工作负载的当前Pod数:kubectl get deployments 查看CronFederatedHPA策略事件(仅保留最近三条):kubectl describe cronfederatedhpa cron-federated-hpa 可以执行如下命令管理CronFederatedHPA策略。其中cron-federated-hpa为CronFederatedHPA策略的名称,实际情况中需修改为自己所创建的策略名称。 获取CronFederatedHPA策略:kubectl get cronfederatedhpa cron-federated-hpa 更新CronFederatedHPA策略:kubectl edit cronfederatedhpa cron-federated-hpa 删除CronFederatedHPA策略:kubectl delete cronfederatedhpa cron-federated-hpa
  • YAML编辑基于权重的分流 当前数据选择YAML,在编辑栏进行编辑。YAML设置示例如下(根据实际需求调整配置参数): apiVersion: v1kind: VirtualServicemetadata: name: reviews-routespec: hosts: - reviews.prod.svc.cluster.local http: - route: - destination: host: reviews.prod.svc.cluster.local subset: v2 weight: 25 # 设置权重 - destination: host: reviews.prod.svc.cluster.local subset: v1 weight: 75 # 设置权重
  • 故障注入 故障注入是一种有效的测试方法,它能够将错误引入系统,以确保系统能够承受错误的并从错误中恢复。开启故障注入,可以通过配置灵活注入延迟或特定错误,开展故障测试。 以延迟故障注入为例,YAML设置如下: route: - destination: host: forecast subset: v2 fault: delay: percentage: value: 1.5 fixedDelay: 10s 请根据实际需求调整配置参数。 父主题: 服务路由
  • 请求超时 开启请求超时,服务访问超时系统会自动处理,快速失败,避免资源锁定和请求卡顿。 YAML设置如下: apiVersion: networking.istio.io/v1beta1kind: VirtualServicemetadata: name: my-productpage-rule namespace: istio-systemspec: hosts: - productpage.prod.svc.cluster.local http: - timeout: 5s # 配置请求超时参数 route: - destination: host: productpage.prod.svc.cluster.local 请根据实际需求调整配置参数。 父主题: 服务路由
  • 连接池 在更新流量策略内容时,可选择是否开启。 目的是断开超过阈值的连接和请求,保护目标服务。 通过连接池管理可以配置阈值来防止一个服务的失败级联影响到整个应用。连接池设置应用于上游服务的每个实例,可以应用在TCP级别和HTTP级别。 通过连接池管理可以控制service1服务对目标服务service2的请求: 当service1服务对目标服务service2的请求不超过配置的最大连接数时,放行; 当service1服务对目标服务service2的请求不超过配置的最大等待请求数时,进入连接池等待; 当service1服务对目标服务service2的请求超过配置的最大等待请求数时,直接拒绝。 父主题: 流量策略
  • 安装Ingress-nginx 登录UCS控制台。 左侧导航栏内选择“云原生服务中心”,在“服务目录中”中搜索Ingress-nginx开源插件,单击进入插件详情。 图1 搜索Ingress-nginx 订阅Ingress-nginx后,单击“创建实例”,选择需要使用Ingress-nginx的集群。 如果是集群已安装Metallb,可以使用Metallb的负载均衡能力,将ingress-nginx服务暴露到集群外,直接根据页面引导进行安装。 如果集群未规划安装Metallb,则只能通过NodePort形式暴露ingress-nginx能力。 需要将.values.controller.service.type从LoadBalancer修改为NodePort后进行安装,如图2所示。 图2 参数修改
  • 功能验证 登录UCS控制台。 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。 左侧导航栏内选择“工作负载”,单击镜像创建。 选择可用镜像创建负载,并在“服务配置”中单击,添加一个ClusterIP类型的Service,具体操作请参见5工作负载服务配置。 左侧导航栏内选择“服务与路由”,单击“路由”,单击“创建路由”,选择刚刚所创建的ClusterIP类型的Service。路由配置相关操作请参见路由。 访问ingress服务,确认转发规则配置成功。 如果是使用LoadBalancer暴露的ingress服务,选择LoadBalancer的ingress服务进行集群外访问: 如果是使用NodePort暴露的ingress服务,选择任意节点+ingress svc端口进行集群外访问:
  • 使用须知 UCS的权限管理功能与当前联邦RBAC授权互不影响。使用UCS API时,前者生效;使用KubeConfig直接操作联邦时,后者生效。 在集群联邦和成员集群上分别创建的RBAC资源互相不感知、不影响。通过集群联邦入口配置的RBAC权限仅直接访问联邦时生效;直接访问成员集群时,仅成员集群上配置的RBAC生效。 在分配细粒度鉴权时,谨慎使用ClusterRole、ClusterRoleBinding等相关权限和角色配置,避免将资源查看权限赋予“Karmada-”为前缀的命名空间;建议使用Role、RoleBinding对指定用户命名空间的资源赋予权限。
  • 操作步骤 登录UCS控制台,在左侧导航栏中单击“服务网格”。 单击服务网格名称,进入详情页。 在左侧导航栏,单击“服务中心”下的“网格服务”,进入网格服务列表页面。 单击服务名,进入服务详情页下的“灰度发布”页签。 单击“创建灰度发布”。 设置灰度发布参数: HTTP协议服务路由 表1 HTTP协议服务路由参数 匹配条件参数 URI StringMatch类型,统一资源标识符,可选完全匹配/前缀匹配/正则匹配 输入URI,复选框可选择是否忽略大小写 Scheme StringMatch类型,表示协议采集,可选完全匹配/前缀匹配/正则匹配 输入Scheme Method StringMatch类型,表示请求方法,可选完全匹配/前缀匹配/正则匹配 输入Method Authority StringMatch类型,表示权限配置,可选完全匹配/前缀匹配/正则匹配 输入Authority 头域 Cookie内容 基于HTTP Cookie 计算哈希,可选完全匹配/前缀匹配/正则匹配 输入值 自定义Header 基于HTTP Header 计算哈希,可选完全匹配/前缀匹配/正则匹配 输入键值对 用户代理 根据所需操作系统,选择用户代理 端口 表示请求的服务端口,下拉列表中选择一个可用的端口号 参数 表示匹配URL中的请求参数,可选完全匹配/前缀匹配/正则匹配 输入键值对 源负载标签 map类型的键值对,表示请求来源的负载匹配标签 源命名空间 匹配源服务的命名空间 服务目标参数 版本 选择服务子集版本 流量权重 可以控制实例上接收的流量比例,输入值必须在0到100之间 TLS 协议服务路由 表2 TLS协议服务路由参数 匹配条件参数 sniHost 用于匹配TLS请求的SNI。SNI的值必须是服务路由的hosts的子集 目标子网 目标IP地址匹配的IP子网 端口 访问的目标端口 源负载标签 map类型的键值对,表示请求来源的负载匹配标签 源命名空间 匹配源服务的命名空间 服务目标参数 版本 选择服务子集版本 流量权重 可以控制实例上接收的流量比例,输入值必须在0到100之间 TCP 协议服务路由 表3 TCP协议服务路由参数 匹配条件参数 目标子网 目标IP地址匹配的IP子网 端口 访问的目标端口 源负载标签 map类型的键值对,表示请求来源的负载匹配标签 源命名空间 匹配源服务的命名空间 服务目标参数 版本 选择服务子集版本 流量权重 可以控制实例上接收的流量比例,输入值必须在0到100之间 设置完成后,单击右下角“提交”。 系统自动跳转到服务详情页下的“灰度发布”页签,可以查看到创建的灰度版本、协议类型等详细信息。 服务网关是网格的流量入口,网格外部的客户端通过服务网关访问网格内的服务。目前默认是基于Kubernetes Gateway API模型实现网关能力,网格服务详情中的灰度发布策略只适用于东西向网格内部服务间;对于南北向入口网关的目标服务,如果需要配置灰度发布策略,可参考为南北向服务网关的目标服务配置灰度发布为入口网关的目标服务配置灰度发布策略。
  • 基本概念 灰度版本 一个服务仅支持发布一个灰度版本,可以对灰度版本配置相应的灰度策略。 灰度策略 当您需要在生产环境发布一个新的待上线版本时,您可以选择添加一个灰度版本,并配置相应的灰度策略,将原有的生产环境的默认版本的流量引流一部分至待上线版本。经过评估稳定后,可以将此灰度版本接管所有流量,下线原来的版本,从而接管原有的生产环境的版本上的流量。 暂不支持对已定义delegate VirtualService的服务创建灰度发布。
  • 注册集群 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击本地集群选项卡中的“注册集群”按钮。 参考表1填写待添加集群的基础信息,其中带“*”的参数为必填参数。 表1 注册集群基础信息配置 参数 参数说明 集群名称* 输入集群的自定义名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 所属区域* 选择集群所在的区域。 集群标签 非必填项,以键值对的形式为集群添加标签,可以通过标签实现集群的分类。键值对可自定义,以字母或者数字开头和结尾,由字母、数字、连接符(-)、下划线(_)、点号(.)组成,且63个字符之内。 容器舰队 选择集群所属的舰队。 舰队用于权限精细化管理,一个集群只能加入一个舰队。若不选择舰队,集群注册成功后将显示在“未加入舰队的集群”页签下,后续还可以再添加至舰队中。 不支持在注册集群阶段选择已开通集群联邦能力的舰队,如果一定要加入这个舰队,请在集群注册成功后,再添加到该舰队中。关于集群联邦的介绍,请参见开通集群联邦章节。 如需新建舰队,请参见管理容器舰队。 单击“确定”,集群注册成功后如图1所示,请在24小时内接入网络。您可选择集群的接入方式或单击右上角按钮查看详细的网络接入流程。 如您未在24小时内接入网络,将会导致集群注册失败,可单击右上角按钮重新注册集群。如果已经接入但数据未采集上来,请等待2分钟后刷新集群。 图1 集群等待接入状态
  • 功能验证 进入UCS内的集群控制台。 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。 左侧导航栏内选择“工作负载”,单击镜像创建。 选择可用镜像创建负载,并添加一个LoadBalancer类型的服务,具体操作请参见5工作负载服务配置。 单击服务名称,复制负载均衡IP,于集群外节点上访问,访问成功。 图2 访问负载均衡IP
  • 配置条件触发自动切流策略 在CPD组件部署成功并正常运行后,您需要创建Remedy对象,以在特定触发条件下执行特定动作,如在集群CoreDNS组件故障后执行MCI切流。 Remedy对象的配置文件示例如下所示。示例YAML定义了一个Remedy对象,可以通过member1或member2集群上的CPD上报CoreDNS解析功能,在功能故障时自动将该集群上的MCI进行切流。详细的Remedy对象参数说明请参见表2。 apiVersion: remedy.karmada.io/v1alpha1kind: Remedymetadata: name: foospec: clusterAffinity: clusterNames: - member1 - member2 decisionMatches: - clusterConditionMatch: conditionType: ServiceDomainNameResolutionReady operator: Equal conditionStatus: "False" actions: - TrafficControl 表2 Remedy参数说明 参数 描述 spec.clusterAffinity.clusterNames 策略关注的集群名列表。仅在该列表中的集群会执行指定动作,为空时不会执行任何动作。 spec.decisionMatches 触发条件列表。当上述集群列表中指定的集群满足任一触发条件时,即会执行指定动作。当列表为空时,表示无条件触发。 conditionType 触发条件的类型。当前仅支持ServiceDomainNameResolutionReady类型,即CPD上报的CoreDNS域名解析状态。 operator 判断逻辑,仅支持Equal和NotEqual两种值,即等于和不等于。 conditionStatus 触发条件的状态。 actions 策略要执行的动作,目前仅支持TrafficControl,即流量控制。
  • 重定向 开启重定向,可以在客户端将对目标地址的请求重定向到配置的新的目标地址。 YAML设置如下: apiVersion: networking.istio.io/v1beta1kind: VirtualServicemetadata: name: ratings-routespec: hosts: - ratings.prod.svc.cluster.local http: - match: - uri: exact: /v1/getProductRatings redirect: # 配置重定向参数 uri: /v1/bookRatings authority: newratings.default.svc.cluster.local 请根据实际需求调整配置参数。 父主题: 服务路由协议
  • 设置命名空间配额 资源配额可以限制命名空间下的资源使用,进而支持以命名空间为粒度的资源划分。 通过设置命名空间级别的资源配额,实现多团队或多用户在共享集群资源的情况下限制团队、用户可以使用的资源总量,包括限制命名空间下创建某一类型对象的数量以及对象消耗计算资源(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。
  • 创建配置项 登录集群控制台,单击左侧导航栏的“配置项与密钥”,选择“配置项”页签。您还可以直接创建配置项或基于YAML来创建,若希望通过YAML创建,请跳转至4。 选择需要创建配置项的命名空间。 直接创建配置项。单击“创建配置项”。 参照表1设置新增配置参数。 表1 新建配置参数说明 参数 参数说明 名称 新建的配置项名称,同一个命名空间里命名必须唯一。 命名空间 新建配置项所在的命名空间,默认为当前查看的命名空间。 描述 配置项的描述信息。 配置项数据 工作负载配置的数据可以在容器中使用,或被用来存储配置数据。 单击 ,输入键、值。其中,“键”代表配置名;“值”代表配置内容。 说明: 配置项可用于创建工作负载存储卷和设置工作负载环境变量,设置工作负载环境变量时,该配置项数据不可为空。 配置标签 标签以Key/value键值对的形式附加到各种对象上(如工作负载、节点、服务等)。 标签定义了这些对象的可识别属性,用来对它们进行管理和选择。 输入标签键、值。 单击“确认添加” 。 基于YAML创建配置项。在创建配置项页面右侧单击“YAML创建”。 若需要通过上传文件的方式创建资源,请确保资源描述文件已创建。支持json或yaml格式,详细请参见ConfigMap资源文件配置说明。 您可以导入或直接编写文件内容,格式为YAML或JSON。 方式一:导入编排文件。 单击“导入”,导入格式为YAML或JSON的文件。编排内容中可直接展示YAML或JSON文件的内容。 方式二:直接编排内容。 在编排内容区域框中,输入YAML或JSON文件内容。 配置完成后,单击“确定”。 配置项列表中会出现新创建的配置项。
  • ConfigMap资源文件配置说明 ConfigMap资源文件支持json和yaml两种文件格式,且文件大小不得超过2MB。 json文件格式 文件名称为configmap.json,配置示例如下: { "kind": "ConfigMap", "apiVersion": "v1", "metadata": { "name": "paas-broker-app-017", "namespace": "test" }, "data": { "context": "{\"applicationComponent\":{\"properties\":{\"custom_spec\":{}},\"node_name\":\"paas-broker-app\",\"stack_id\":\"0177eae1-89d3-cb8a-1f94-c0feb7e91d7b\"},\"softwareComponents\":[{\"properties\":{\"custom_spec\":{}},\"node_name\":\"paas-broker\",\"stack_id\":\"0177eae1-89d3-cb8a-1f94-c0feb7e91d7b\"}]}" }} yaml文件格式 文件名称为configmap.yaml,配置示例如下: apiVersion: v1kind: ConfigMapmetadata: name: test-configmap namespace: defaultdata: data-1: "value-1" data-2: "value-2"
  • 相关操作 通过集群控制台,您还可以执行表2中的操作。 表2 相关操作 操作 说明 查看详情 单击配置项名称即可查看配置项数据详情。 编辑YAML 单击配置项名称后的“编辑YAML”,可查看并编辑当前配置项的YAML文件。 更新 单击配置项名称后的“更新”。 根据表1更改信息。 单击“确定”提交已修改的信息。 删除 单击配置项名称后的“删除”,并单击“是”进行确认。 批量删除 勾选需要删除的配置项。 单击左上角的“批量删除”。 单击“是”进行确认。
  • 产品功能 容器洞察:提供基于Kubernetes原生类型的容器监控能力,支持集群、节点、工作负载的资源全景,支持节点的资源占用、工作负载的资源消耗,以及近一小时的CPU/内存指标展示,全面监控集群的健康状态和负荷程度。 健康诊断:对集群健康状态进行周期性检查,可以对集群、节点资源使用情况,工作负载、Pod资源状态进行快速诊断。 仪表盘:仪表盘可将不同图表展示到同一个屏幕上,通过不同的仪表形式来展示资源数据,例如,曲线图、数字图等,进而全面、深入地掌握监控数据。
  • 产品优势 容器智能分析深度整合云原生基金会(CNCF)的监控项目Prometheus,同时遵循OpenTracing/OpenTelemetry规范。对关键指标、事件等运维数据进行统一采集、存储和可视化展现,精心打造云原生应用的良好可观测性能力。 将云原生基础设施监控和应用负载监控进行关联,提供全栈监控,使用户能够随时随地清晰地感知基础设施和应用负载状态。 能够对Kubernetes集群、容器组(Pod)等进行详细监控,对业务提供端到端追踪和可视化,提供集群健康诊断能力,大大缩短问题分析定位时间。 提供开箱即用的插件安装、数据采集、仪表盘监控能力,相比基于开源产品打造的监控产品,在可靠性、高可用、安装部署便捷性上更具有竞争力,能够更好的为您的云原生应用保驾护航。
  • 节点访问(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。
  • 集群内访问(ClusterIP) 登录集群控制台。 在左侧导航栏中选择“服务”,选择“服务”页签,并选择服务所在命名空间。如需新建命名空间,请参见创建命名空间。 单击右上角“创建服务”,设置集群内访问参数。 Service名称:自定义服务名称,可与工作负载名称保持一致。 访问类型:选择“集群内访问 ClusterIP”。 命名空间:工作负载所在命名空间。 选择器:添加标签,Service根据标签选择Pod,填写后单击“添加”。也可以引用已有工作负载的标签,单击“引用负载标签”,在弹出的窗口中选择负载,然后单击“确定”。 端口配置: 协议:请根据业务的协议类型选择。 服务端口:容器端口映射到集群虚拟IP上的端口,用虚拟IP访问工作负载时使用,端口范围为1-65535,可任意指定。 容器端口:工作负载程序实际监听的端口,需用户确定。例如nginx程序实际监听的端口为80。 单击“确定”,创建Service。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全