华为云用户手册

  • 操作步骤 方法一:从服务网格入口创建 登录U CS 控制台,单击左侧导航栏中的“服务网格”,如果当前已有网格,请在网格列表页面右上角单击“创建网格”。 设置网格配置参数。 绑定容器舰队 绑定已有容器舰队。如果您还没有可选的容器舰队,请参考容器舰队,创建新的舰队。 区域 服务网格控制面组件所在的区域。 代理模式 配置代理模式 sidecar-proxy或node-proxy。两种代理模式详见网格代理。 VPC 舰队启用网格能力后,舰队内的集群通过asm-mesh-controller或asm-terrace插件向网格控制面组件进行服务同步、策略配置等。上述插件与网格控制面的连接通过VPCEP实现,为便于管理,将VPCEP实例创建在该VPC中,如图所示: 如图,对于枢纽VPC下的集群,可以直接连接到网格控制面;对于同region中VPC1下的集群,选择创建VPC对等连接,使得两个VPC之间网络互通;对于跨region中VPC2下的集群,需要使用云连接网络(CC)使两个VPC互通后,才能连接到网格控制面。 每个VPCEP实例将产生0.1元/小时成本。 Istio版本 网格支持的Istio版本,目前支持1.18版本。 (可选)设置可观测性配置。 应用指标 可选是否启用应用指标,应用指标开启后,可以在网格中构建服务访问指标、应用拓扑、服务健康和服务SLO定义。 访问日志 可选是否启用访问日志,访问日志开启后,可以在网格中查询到详细的服务间访问记录,定位每次访问异常。 目前暂不支持创建网格后再重新开启可观测性配置。 调用链 采样率:用于调用链生成的请求占全部请求的采样百分比。 选择使用服务:即选择调用链上报的服务后端。可选择“华为云 APM ”和“第三方Jaeger/Zipkin服务”,当选择“第三方Jaeger/Zipkin服务”时,需要配置“服务地址”和“服务端口”两个参数,即第三方调用链服务接收请求信息的地址和端口。 仅Istio 1.15及以上版本支持第三方调用链。 如果您要使用“第三方Jaeger/Zipkin服务”调用链,请先自行完成调用链服务的安装,也可参考Jaeger/Zipkin OSC插件安装进行安装。之后获取服务地址。 Jaeger和Zipkin的默认服务端口均为9411,如果安装的时候自定义了服务端口在配置“服务端口”时请填写实际的值。 参数设置完成之后,单击右下角“立即创建”,跳转至网格列表页。 服务网格创建成功后,舰队中的所有集群将会根据代理模式自动安装插件。sidecar代理自动安装asm-mesh-controller插件,node代理自动安装asm-terrace插件。 单击页面中“查看进度”,弹出的网格启用进度中显示:资源创建、环境准备、组件安装、舰队集群接入四个阶段任务信息。 方法二:从容器舰队入口创建 登录UCS控制台,单击左侧导航栏中的“容器舰队”。 单击容器舰队名称,进入容器舰队详情页。 单击左侧导航栏中的“服务网格”。 单击页面中的“启用网格”,根据上文步骤2,配置网格参数。 参数设置完成之后,单击右下角“立即创建”。 单击页面中“查看进度”,弹出的网格启用进度中显示:资源创建、环境准备、组件安装、舰队集群接入四个阶段任务信息。
  • 南北向MCS的工作原理 南北向MCS的功能主要通过请求转发执行器MCS Controller实现。MCS Controller部署在集群联邦控制面,实时监控资源对象的变化,解析MCS对象定义的规则并负责将请求转发到相应的后端Service。 图1 南北向MCS工作原理 MCS Controller支持在同一个ELB实例(即同一IP)下绑定多个监听器端口,其工作原理如图1,实现流程如下: 部署人员在集群联邦控制面创建工作负载,并为其配置Service对象。 部署人员在集群联邦控制面创建MCS对象,配置关联的负载均衡器以及访问的后端Service及端口等。 MCS Controller监控到MCS对象发生变化,会根据MCS中定义的规则,在ELB侧重新配置监听器以及后端服务器路由。 当用户进行访问时,流量根据ELB中配置的监听端口被转发到对应的后端Service关联的各个工作负载。
  • 概述 应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。如果直接将某版本上线发布给全部用户,一旦遇到线上事故(或BUG),对用户的影响极大,解决问题周期较长,甚至有时不得不回滚到前一版本,严重影响了用户体验。 灰度发布,是版本升级平滑过渡的一种方式,其本质就是根据请求、比例或其他混合条件切分流量,其核心工作是实现多个版本同时在线,并通过一定的流量策略将部分流量切分到灰度版本上,当版本升级时,使部分用户使用新版本,其他用户继续使用老版本,待新版本稳定后,逐步扩大范围把所有用户流量都迁移到新版本上面来。 这样可以最大限度地控制新版本发布带来的业务风险,降低故障带来的影响面,同时支持快速回滚。 图1 灰度发布流程 父主题: 灰度发布
  • FederatedHPA策略使用流程 FederatedHPA策略的使用流程如图1所示,具体流程如下: 图1 FederatedHPA使用流程 负载伸缩能力基于部署在多集群上的工作负载,因此在创建负载伸缩策略前,您需要添加集群至容器舰队、为舰队开启集群联邦能力,并创建无状态工作负载。具体操作请参见注册集群、开启集群联邦和创建工作负载。 为集群安装支持采集指标数据的插件,具体操作请参见安装指标采集插件。 创建FederatedHPA策略,具体操作请参见创建FederatedHPA策略以按指标扩缩工作负载。 若您需要配置更加精确的工作负载扩缩速率,请参见配置FederatedHPA策略以控制扩缩速率。 若您需要修改或删除已经创建的策略,请参见管理FederatedHPA策略。
  • CronFederatedHPA策略使用流程 单独使用CronFederatedHPA策略 单独使用CronFederatedHPA策略时,使用流程如图2所示,具体流程如下: 图2 CronFederatedHPA单独使用流程 负载伸缩能力基于部署在多集群上的工作负载,因此在创建负载伸缩策略前,您需要添加集群至容器舰队、为舰队开启集群联邦能力,并创建无状态工作负载。具体操作请参见注册集群、开启集群联邦和创建工作负载。 创建CronFederatedHPA策略,具体操作请参见创建CronFederatedHPA策略以定时扩缩工作负载。 若您需要修改或删除已经创建的策略,具体操作请参见管理CronFederatedHPA策略。 配合使用CronFederatedHPA策略与FederatedHPA策略 配合使用CronFederatedHPA策略与FederatedHPA策略时,使用流程如图3所示,具体流程如下: 图3 CronFederatedHPA与FederatedHPA配合使用流程 负载伸缩能力基于部署在多集群上的工作负载,因此在创建负载伸缩策略前,您需要添加集群至容器舰队、为舰队开启集群联邦能力,并创建无状态工作负载。具体操作请参见注册集群、开启集群联邦和创建工作负载。 为集群安装支持采集指标数据的插件,具体操作请参见安装指标采集插件。 创建FederatedHPA策略,具体操作请参见创建FederatedHPA策略以按指标扩缩工作负载。 创建CronFederatedHPA策略,具体操作请参见创建CronFederatedHPA策略以定时扩缩工作负载。 若您需要修改或删除已经创建的策略,具体操作请参见管理FederatedHPA策略和管理CronFederatedHPA策略。
  • 编辑YAML 可通过在线YAML编辑窗对无状态工作负载、有状态工作负载、守护进程集、定时任务和容器组的YAML文件进行修改和下载。普通任务的YAML文件仅支持查看、复制和下载。本文以无状态工作负载为例说明如何在线编辑YAML。 登录UCS控制台,进入一个已有的容器舰队,在左侧导航栏中选择“工作负载”。 选择“无状态负载”页签,单击工作负载后的“编辑YAML”,在弹出的“编辑YAML”窗中可对当前工作负载的YAML文件进行修改。 单击“确定”,完成修改。 (可选)在“编辑YAML”窗中,单击“下载”,可下载该YAML文件。
  • 开启本地集群控制面审计日志 集群未安装云原生日志采集插件 安装云原生日志采集插件时,可通过勾选控制面审计日志,创建默认日志采集策略,采集对应组件日志上报到LTS。安装方法见:启用云原生日志采集插件采集日志。 集群已安装云原生日志采集插件 登录容器舰队控制台,单击集群名称进入集群,选择左侧导航栏的“日志中心”。 右上角单击“日志采集策略”,将显示当前集群所有上报LTS的日志策略。 单击上方“创建日志策略”,输入要采集的配置信息。 策略模板:若安装插件时未开启控制面审计日志的采集策略,或者删除了对应的日志策略,可通过该方式重新创建控制面审计日志采集策略。 日志查看:可直接在“日志中心”页面,“控制面审计日志”页签中查看,选择日志策略配置的日志流名称,即可查看上报到 云日志 服务(LTS)的日志。
  • 操作场景 工作负载创建后,您可以对其执行查看详情升级、编辑YAML、重新部署、重新调度、删除等操作。 表1 工作负载管理 操作 描述 查看详情 可查看Pod和工作负载的基本信息、事件和状态等,并对工作负载的配置进行修改。 编辑YAML 可通过在线YAML编辑窗对工作负载的YAML文件进行修改和下载。普通任务的YAML文件仅支持查看、复制和下载。 升级 可以通过更换镜像或镜像版本实现工作负载的快速升级,业务无中断。 重新部署 工作负载可以进行重新部署操作,重新部署后将重启负载下的全部容器组Pod,仅无状态工作负载可用。 重新调度 工作负载可以进行重新调度,重新调度后将按照已有的调度策略进行调度,仅无状态工作负载可用。 删除 若工作负载无需再使用,您可以将工作负载或任务删除。工作负载或任务删除后,将无法恢复,请谨慎操作。
  • 概述 应用服务网格(Application Service Mesh,简称ASM)是华为云基于开源Istio推出的服务网格平台,它深度、无缝对接了华为云的企业级Kubernetes集群服务云容器引擎(CCE),在易用性、可靠性、可视化等方面进行了一系列增强,可为客户提供开箱即用的上手体验。 ASM提供非侵入式的微服务治理解决方案,支持完整的生命周期管理和流量治理,兼容Kubernetes和Istio生态,其功能包括负载均衡、熔断、限流等多种治理能力。 ASM内置灰度发布流程,提供一站式自动化的发布管理。ASM基于无侵入的监控数据采集,提供实时流量拓扑、调用链等服务性能监控和运行诊断,构建全景的服务运行视图。 父主题: 网格管理
  • 重写 开启重写,可以在不修改客户端的访问的目标地址前提下,根据配置重写请求的URL。 YAML设置如下: apiVersion: networking.istio.io/v1beta1kind: VirtualServicemetadata: name: ratings-routespec: hosts: - ratings.prod.svc.cluster.local http: - match: - uri: prefix: /ratings rewrite: uri: /v1/bookRatings route: # 配置重写参数 - destination: host: ratings.prod.svc.cluster.local subset: v1 请根据实际需求调整配置参数。 父主题: 服务路由
  • 代理模式概述 sidecar-proxy 网格代理将会被安装在网格中每个Pod的Sidecar,通过在每个Pod独立的网络命名空间设置iptables规则,将应用服务的出入流量重定向到Sidecar的Envoy进程上,由Envoy进行流量路由。 图1 sidecar-proxy node-proxy 网格代理将会被安装在添加到该网格的每个集群的每个节点上,通过在每个节点上设置iptables规则,将应用服务的出入流量重定向到节点的Envoy进程上,由Envoy进行流量路由。 图2 node-proxy
  • 为什么需要自动切流 MCI提供了一种跨集群的负载均衡和流量路由机制,提高了应用程序的可用性和可靠性。然而,当集群出现故障后,通过MCI分配到该集群上的请求将会失败。 UCS提供自动切流能力,可自动摘除故障集群上的流量,以进一步保障服务的可用性。自动切流能力的应用场景主要有: 识别集群故障并自动切流:在集群内关键组件CoreDNS功能故障后,自动探查并及时上报至控制面,将该集群上的流量摘除,由此保障服务可用性不受单个集群组件故障影响。具体切流操作请参见配置条件触发自动切流。 提前摘除流量以平滑升级:在集群管理员进行集群升级等操作前,提前将该集群上的流量摘除,操作成功后再切回流量,由此保障服务可用性不受单个集群升级影响。具体切流操作请参见配置无条件触发自动切流。
  • 发布舰队应用 本节将指导您通过流水线,结合上述步骤的调测、编排,实现从源码构建到舰队应用发布全流程的自动化体验。 配置流水线、运行参数和产物地址后,单击“运行”,即可执行流水线,实现编译构建和云原生发布。 图1 执行流水线 单击流水线阶段中的“发布”,并单击“任务结果”查看发布单。 图2 查看发布单 发布单展示本次发布的基本信息,包括:工单名称、工单号、发布任务阶段展示。 工单详情页面展示发布过程的详细信息,可以查看当前容器舰队下对应的各集群指定工作负载的运行情况,并且用户可以进行重试、取消等操作。 单击“查看详情”可跳转至工单详情页。 工单详情页可查看应用在舰队内每个集群的发布过程和详细信息,可以查看到当前容器舰队下对应的华为云集群、附着集群及本地集群内工作负载的实例信息、创建时间、k8s事件信息等内容。 图3 工单详情 完成舰队应用发布后,登录UCS控制台,左侧导航栏选择“容器舰队”,单击舰队名称,左侧导航栏选择“工作负载”,查看对应的无状态工作负载是否已发布至对应集群内并正常运行。 父主题: 流水线
  • 查看集群内节点列表 节点列表中包含节点名称、状态、IP地址、Pod(已分配/总额度)、CPU申请比率/限制比率/使用率,以及内存申请比率/限制比率/使用率等信息。 图1 节点列表页面 您可以通过在列表上方按照节点名称、状态、私有地址和公网地址进行筛选,快速找到需要的节点。在列表的右上角,您可以单击按钮来导出全部节点数据,或者选择部分节点进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。 节点概况展示了节点的名称、当前运行状态、CPU/内存的使用率、所属集群、节点IP地址以及节点所在地区,且单击上方搜索框,选择属性类型,再输入对应的关键字,即可查询该条件下的节点。 当节点的CPU限制比率或内存限制比率超过100%时,意味着节点资源超分,节点上的负载限制值(可使用的最大值)之和已经超过了节点规格。如果负载占用资源过高,可能会导致节点异常。
  • 查看集群内节点详情 在节点列表中,单击需要查看详情的节点名称,进入该节点的详情页面,通过切换“概览”、“Pod列表”和“监控”页签查看相应内容。 表1 节点详情页面 词条 词条描述 概览 单击节点名称,可以进入节点概览页。在这里,您可以方便地查看: 资源健康概况:包括节点状态、Pod数量以及异常事件。 节点监控:包括近1小时、近8小时、近24小时以及自定义时间段内的监控概览,其中包括CPU使用率、内存使用率和网络流入/流出速率这些常见的监控指标。 Pod使用趋势:包括近1小时、近8小时、近24小时以及自定义时间段内CPU使用量、内存使用量Top5的Pod信息。 Pod列表 Pod列表中包含了实例名称、状态、命名空间、实例IP、所在节点、重启次数、CPU申请/限制、内存申请/限制,以及CPU和内存使用率等详细信息。 您可以通过在列表上方按照实例名称、状态、命名空间、实例IP和所在节点进行筛选,快速找到需要的实例。 在列表的右上角,您可以单击按钮来导出全部实例数据,或者选择部分实例进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。 单击实例名称可以查看实例的详细监控数据。更多相关内容,请参见查看集群内Pod情况。 监控 在此处,您可以方便地查看节点在近1小时、近8小时、近24小时以及自定义时间段内各维度资源的使用情况。 如需查看更多监控信息,请单击“查看全部仪表盘”,跳转至“仪表盘”页面,相应指导请参见仪表盘。
  • 配置DNS服务器 配置DNS转发:在DNS服务器配置相应的DNS转发规则,将解析华为云内网 域名 的请求转发到DNS终端节点。以常见的DNS软件Bind为例:例如/etc/named.conf内,增加DNS转发器的配置,forwarders为DNS终端节点IP地址。 下示代码中xx.xx.xx.xx是DNS的终端节点IP。 options { forward only; forwarders{ xx.xx.xx.xx;};}; 增加静态DNS配置解析:增加DNS静态配置,SWR与CIE实例地址。如使用dnsmasq为例,在/etc/dnsmasq.conf中添加以下两个静态解析: 第一个静态解析如下,下示代码中xx.xx.xx.xx是SWR的终端节点IP。 address=/swr.cn-north-4.myhuaweicloud.com/xx.xx.xx.xx 第二个静态解析如下,下示代码中xx.xx.xx.xx是域名对应的IP地址,在开启集群监控后生成。 address=/cia-{当前选择接入的VPCID前八位}{当前选择接入的VPC子网ID前八位}.cn-north-4.myhuaweicloud.com/xx.xx.xx.xx 示例:address=/cia-9992be3cf3eace24.cn-north-4.myhuaweicloud.com/ 172.16.0.81 生成域名。 SWR:address=/swr.cn-north-4.myhuaweicloud.com/{SWR VPC-EP} CIA:域名的获取:如当前选择接入的VPC和子网如下(如下截图vpc-cce仅是示例,实际VPC以UCS服务所在的VPC为准) 图3 VPC的ID前8位 图4 子网的ID前8位 最终域名拼接后是:cia-e52a5d7e02a86357.cn-north-4.myhuaweicloud.com
  • 应用场景 在分布式集群场景下,为了方便用户对集群进行应用部署,实现自动化应用下发功能。UCS配置管理提供从仓库资源到Kubernetes集群自动部署应用配置的核心能力,通过采用Kustomize组织和定制资源集的方式配置仓库,提供对华为云集群、多云集群、本地集群和附着集群进行跨命名空间、跨集群、跨舰队的配置分发与配置管理的能力。对用户部署在各集群的业务提供实时的状态观测和 消息通知 ,以确保应用出现问题时可以快速识别和定位,保障使用客户业务App的终端用户的使用体验和服务级别目标(SLO)达成。
  • 部署网络环境 在UCS提供服务的区域中创建一个VPC,该VPC将用于后续安装终端节点,需保证该VPC与用户自有IDC网络环境打通。 VPC创建操作请参见创建虚拟私有云和子网,当前仅支持“华北-北京四”区域。 该VPC子网网段不能与IDC中已使用的网络网段重叠,否则将无法接入集群。例如,IDC中已使用的VPC子网为192.168.1.0/24,那么华为云VPC中不能使用192.168.1.0/24这个子网。
  • 购买终端节点(VPCEP) 登录UCS控制台,单击待接入集群栏的“点击接入”进入集群接入界面,单击“私网接入”。 查看“创建终端节点”中的服务名称,单击,记录服务名称。 图1 创建终端节点 登录 VPC终端节点 控制台,单击“购买终端节点”,创建连接不同服务的终端节点。 选择终端节点的区域,单击“按名称查找服务”,输入2中所记录的服务名称,并单击“验证”,创建UCS的终端节点。 图2 按名称查找服务 创建DNS、SWR、OBS的终端节点。 选择部署网络环境中创建的虚拟私有云以及对应的子网。 “节点IP”选择“自动分配”或“手动分配”均可。 单击“立即购买”,规格确认无误后,单击“提交”。 将创建的终端节点配置到所使用的DNS服务器中。单击创建出的VPCEP节点名称,记录“节点IP”,以便在IDC的DNS Server中增加华为云的DNS转发器。
  • 步骤一:注册集群 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击伙伴云集群选项卡中的“注册集群”按钮。 参考表1填写待添加集群的基础信息,其中带“*”的参数为必填参数。 表1 注册集群基础信息配置 参数 参数说明 集群名称* 输入集群的自定义名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 集群服务商* 选择一个集群服务商。 所属区域* 选择集群所在的区域。 集群标签 非必填项,以键值对的形式为集群添加标签,可以通过标签实现集群的分类。键值对可自定义,以字母或者数字开头和结尾,由字母、数字、连接符(-)、下划线(_)、点号(.)组成,且63个字符之内。 上传KubeConfig* 上传kubectl的配置文件来完成集群认证,支持JSON或YAML格式。获取KubeConfig文件的操作步骤因厂商而异,请参见KubeConfig。 选择Context* 选择对应的Context。在完成KubeConfig文件上传后,选项列表将自动获取文件中的“contexts”字段。 默认值为KubeConfig文件中“current-context”字段指定的Context,若文件中无此字段则需要从列表中手动选择。 容器舰队 选择集群所属的舰队。 舰队用于权限精细化管理,一个集群只能加入一个舰队。若不选择舰队,集群注册成功后将显示在“未加入舰队的集群”页签下,后续还可以再添加至舰队中。 不支持在注册集群阶段选择已开通集群联邦能力的舰队,如果一定要加入这个舰队,请在集群注册成功后,再添加到该舰队中。关于集群联邦的介绍,请参见开通集群联邦章节。 如需新建舰队,请参见管理容器舰队。 单击“确定”。集群注册成功后请在30分钟内接入网络,您可选择集群的接入方式或单击右上角按钮查看详细的网络接入流程。 如您未在30分钟内接入网络,将会导致集群注册失败,可单击右上角按钮重新注册集群。如果已经接入但数据未采集上来,请等待2分钟后刷新集群。
  • 步骤二:接入网络 在UCS控制台成功添加集群后,集群状态将会显示为“等待接入”,此时UCS并未打通与集群的网络连接,因此需要在集群中配置网络代理来接入网络。 请在添加集群后的30分钟内接入网络,您可单击右上角按钮查看详细的网络接入流程。如您未在30分钟内接入网络,将会导致集群注册失败,可单击右上角按钮重新注册集群。如果已经接入但状态未更新,请等待2分钟后刷新集群。 前往UCS控制台,单击待接入集群栏的“单击接入,选择”“公网接入”,可查看详细的公网接入流程。 下载集群代理agent的配置文件。 集群代理配置存在私有密钥信息,每个集群代理配置仅能下载一次,请您妥善保管。 将步骤2中的agent配置文件上传至节点。 单击“安装集群代理agent配置”,在待接入集群中执行如下命令,可单击右侧直接复制命令。 图1 安装集群代理agent配置 前往UCS控制台刷新集群状态,集群处于“运行中”。
  • 配置项挂载 “配置项挂载”用于处理工作负载配置参数。用户需要提前创建工作负载配置,操作步骤请参见配置项(ConfigMap)。 参考创建无状态负载、创建有状态负载或创建守护进程集,在设置容器基本信息后,选择“数据存储”,在“本地存储”页签下单击添加。 图3 容器存储设置 设置添加本地磁盘参数,如表3。 表3 配置项挂载 参数 参数说明 存储类型 配置项(ConfigMap)。 配置项 选择对应的配置项名称。 说明: 配置项需要提前创建,详情请参见配置项(ConfigMap)。 挂载路径 输入数据卷挂载到容器上的路径。 须知: 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。 子路径 使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。 权限 仅支持“只读”,只能读容器路径中的数据卷。 重复添加可增加多条设置,单击“确认”完成配置。
  • 临时路径挂载 适用于临时存储、灾难恢复、共享运行时数据等场景,工作负载实例的删除或者迁移会导致临时路径被删除。 参考创建无状态负载、创建有状态负载或创建守护进程集,在设置容器基本信息后,选择“数据存储”,在“本地存储”页签下单击添加。 图2 容器存储设置 设置添加本地磁盘参数,如表2。 表2 临时路径挂载 参数 参数说明 存储类型 临时路径(EmptyDir)。 磁盘介质 默认:即存储在硬盘上,适用于数据量大,读写效率要求低的场景。 内存:可以提高运行速度,但存储容量受内存大小限制。适用于数据量少,读写效率要求高的场景。 挂载路径 输入数据卷挂载到容器上的路径。 须知: 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。 子路径 使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。 权限 只读:只能读容器路径中的数据卷。 读写:可修改容器路径中的数据卷,容器迁移时新写入的数据不会随之迁移,会造成数据丢失。 重复添加可增加多条设置,单击“确认”完成配置。
  • 主机路径挂载 在容器上挂载宿主机上的文件或目录。通常用于:“容器应用程序生成的日志文件需要永久保存”或者“需要访问宿主机上Docker引擎内部数据结构的容器应用”。 参考创建无状态负载、创建有状态负载或创建守护进程集,在设置容器基本信息后,选择“数据存储”,在“本地存储”页签下单击添加。 图1 容器存储设置 设置添加本地磁盘参数,如表1。 表1 主机路径挂载 参数 参数说明 存储类型 主机路径(HostPath)。 主机路径 输入主机路径,如/etc/hosts。 挂载路径 输入数据卷挂载到容器上的路径。 须知: 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,应用创建失败。 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。 子路径 使用子路径挂载本地磁盘,实现在单一Pod中重复使用同一个Volume。不填写时默认为根。 权限 只读:只能读容器路径中的数据卷。 读写:可修改容器路径中的数据卷,容器迁移时新写入的数据不会随之迁移,会造成数据丢失。 重复添加可增加多条设置,单击“确认”完成配置。
  • 创建节点 登录集群控制台,单击目标集群名称进入集群详情页。 在左侧导航栏中单击“节点管理”,单击右上角“创建节点”。 输入节点名称,选择需要的节点规格,可根据实际情况选择磁盘大小及数据盘数量。 配置完成后,单击“下一步:规格确认”。 规格确认无误后单击“提交”;如有问题,单击“上一步”返回修改。 节点创建过程中,可用区、节点类型、容器引擎、操作系统、系统盘及数据盘类型都不可选。 数据盘可根据实际情况增加数量,最多可额外增加4块。 数据盘和系统盘最小默认大小为100GB。
  • 使用存储卷声明挂载 云存储 参考创建无状态负载、创建有状态负载或创建守护进程集,在设置容器基本信息后,选择“数据存储”,在“存储卷声明PVC”页签下单击添加。 图1 容器存储设置 选择需要添加的存储卷声明。如没有可选的存储卷声明,可单击“创建存储卷声明”进行添加,相关参数请参见创建存储卷声明。参数填写完成后,单击“确认”。 填写容器挂载参数。 挂载路径:输入数据卷挂载到容器上的路径。 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。 子路径:Kubernetes中数据卷挂载的subPath,指引用卷内的子路径而不是其根路径。该参数不填写时,默认挂载至根路径。 设置权限。 只读:只能读容器路径中的数据卷。 读写:可修改容器路径中的数据卷,容器迁移时新写入的数据不会随之迁移,会造成数据丢失。 重复添加可增加多条存储卷声明设置。
  • 获取本地集群KubeConfig文件 KubeConfig是Kubernetes集群中组织有关集群、用户、命名空间和身份认证机制信息的配置文件,Kubectl使用KubeConfig来获取集群的信息并与API server进行通信。 获取本地集群的KubeConfig需要使用ucs-ctl工具,获取步骤如下: 使用ucs-ctl获取集群名称。 ./ucs-ctl get cluster 使用ucs-ctl导出指定集群的KubeConfig。 ./ucs-ctl get kubeconfig -c test-redhat86 -o kubeconfig 可以使用ucs-ctl get kubeconfig -h查看获取KubeConfig所使用到的参数。 -c, --cluster:指定待导出KubeConfig的集群名。 -e, --eip:指定API server的eip。 -o, --output:指定KubeConfig导出文件名。
  • 前提条件 使用HPA前需要在集群内安装能够提供Metrics API的插件(详情请参见对Metrics API的支持): metrics-server:metrics-server从kubelet公开的Summary API中采集度量数据,提供基础资源使用指标,例如容器CPU和内存使用率。 为本地集群安装metrics-server,请参见metrics-server。 为其他集群安装metrics-server,请参见社区官方文档。对于附着集群,您也可安装对应厂商所提供的metric-server插件。 Prometheus:Prometheus是一套开源的系统监控报警框架,能够采集丰富的Metrics(度量数据),因此除基础资源指标外,Prometheus还支持提供自定义指标。
  • 使用本地集群KubeConfig文件 拿到ucs-ctl生成的KubeConfig之后,还需要使KubeConfig在节点上生效,步骤如下: 复制KubeConfig到节点上。 scp /local/path/to/kubeconfig user@remote:/remote/path/to/kubeconfig 如果当前节点添加过EnableSecretEncrypt环境变量,需要先取消。 unset EnableSecretEncrypt 使KubeConfig生效,可选方法: 方法一:复制到默认位置。 mv /remote/path/to/kubeconfig $HOME/.kube/config 方法二:环境变量指定。 export KUBECONFIG=/remote/path/to/kubeconfig 方法三:命令行参数指定。 kubectl --kubeconfig=/remote/path/to/kubeconfig 上述操作之后,就可以访问本地集群的API server了。关于KubeConfig更详细的用法可参考:使用kubeconfig文件组织集群访问Kubernetes。
  • 操作步骤 登录UCS集群控制台。 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。 左侧导航栏内选择“负载伸缩策略”,单击右上角的“创建 HPA 策略”。 填写待创建HPA策略的参数: 表1 HPA策略参数配置 参数 参数说明 策略名称 新建策略的名称,请自定义。 命名空间 请选择工作负载所在的命名空间。 关联工作负载 请选择要设置HPA 策略的工作负载。 实例范围 请输入最小实例数和最大实例数。 策略触发时,工作负载实例将在此范围内伸缩。 系统策略 指标:可选择“CPU利用率”或“内存利用率”。 说明: 利用率 = 工作负载容器组(Pod)的实际使用量 / 申请量 期望值:请输入期望资源平均利用率。 期望值表示所选指标的期望值,通过向上取整(当前指标值 / 期望值 × 当前实例数)来计算需要伸缩的实例数。 说明: HPA在计算扩容、缩容实例数时,会选择最近5分钟内实例数的最大值。 容忍范围:容忍度默认为0.1。指标处于范围内时不会触发伸缩,期望值必须在容忍范围之间。 当指标值大于缩容阈值且小于扩容阈值时,不会触发扩容或缩容。阈值仅在1.15及以上版本的集群中支持。 须知: 可以设置多条系统策略。
共99303条