华为云用户手册

  • 产品优势 容器智能分析深度整合云原生基金会(CNCF)的监控项目Prometheus,同时遵循OpenTracing/OpenTelemetry规范。对关键指标、事件等运维数据进行统一采集、存储和可视化展现,精心打造云原生应用的良好可观测性能力。 将云原生基础设施监控和应用负载监控进行关联,提供全栈监控,使用户能够随时随地清晰地感知基础设施和应用负载状态。 能够对Kubernetes集群、容器组(Pod)等进行详细监控,对业务提供端到端追踪和可视化,提供集群健康诊断能力,大大缩短问题分析定位时间。 提供开箱即用的插件安装、数据采集、仪表盘监控能力,相比基于开源产品打造的监控产品,在可靠性、高可用、安装部署便捷性上更具有竞争力,能够更好的为您的云原生应用保驾护航。
  • 注册集群 登录U CS 控制台,在左侧导航栏中选择“容器舰队”。 单击本地集群选项卡中的“注册集群”按钮。 参考表1填写待添加集群的基础信息,其中带“*”的参数为必填参数。 表1 注册集群基础信息配置 参数 参数说明 集群名称* 输入集群的自定义名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 资源类型* 当前仅支持Bare Metal。 所属区域* 选择集群所在的区域。 集群标签 非必填项,以键值对的形式为集群添加标签,可以通过标签实现集群的分类。键值对可自定义,以字母或者数字开头和结尾,由字母、数字、连接符(-)、下划线(_)、点号(.)组成,且63个字符之内。 容器舰队 选择集群所属的舰队。 舰队用于权限精细化管理,一个集群只能加入一个舰队。若不选择舰队,集群注册成功后将显示在“未加入舰队的集群”页签下,后续还可以再添加至舰队中。 不支持在注册集群阶段选择已开通集群联邦能力的舰队,如果一定要加入这个舰队,请在集群注册成功后,再添加到该舰队中。关于集群联邦的介绍,请参见开通集群联邦章节。 如需新建舰队,请参见管理容器舰队。 单击“确定”,集群注册成功后如图1所示,请在24小时内接入网络。您可选择集群的接入方式或单击右上角按钮查看详细的网络接入流程。 如您未在24小时内接入网络,将会导致集群注册失败,可单击右上角按钮重新注册集群。如果已经接入但数据未采集上来,请等待2分钟后刷新集群。 图1 集群等待接入状态
  • 选择插件 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。
  • 配置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-cie仅是示例,实际VPC以UCS服务所在的VPC为准) 图1 VPC的ID前8位 图2 子网的ID前8位 最终域名拼接后是:cia- 388c6b41a55f85b1.cn-north-4.myhuaweicloud.com
  • 购买终端节点(VPCEP) 登录UCS控制台,单击待接入集群栏的“单击接入”进入集群接入界面,单击“私网接入”。 查看“创建终端节点”中的服务名称,单击,记录服务名称。 登录 VPC终端节点 控制台,单击“购买终端节点”,创建连接不同服务的终端节点。 选择终端节点的区域,单击“按名称查找服务”,输入2中所记录的服务名称,并单击“验证”,创建UCS的终端节点。 创建DNS、SWR、OBS的终端节点。 选择部署网络环境中创建的虚拟私有云以及对应的子网。 “节点IP”选择“自动分配”或“手动分配”均可。 单击“立即购买”,规格确认无误后,单击“提交”。 将创建的终端节点配置到所使用的DNS服务器中。单击创建出的VPCEP节点名称,记录节点IP,以便在IDC的DNS Server中增加华为云的DNS转发器。
  • 部署网络环境 在UCS提供服务的区域中创建一个VPC,该VPC将用于后续安装终端节点,需保证该VPC与用户自有IDC网络环境打通。 VPC创建操作请参见创建虚拟私有云和子网,当前仅支持“华北-北京四”区域。 该VPC子网网段不能与IDC中已使用的网络网段重叠,否则将无法接入集群。例如,IDC中已使用的VPC子网为192.168.1.0/24,那么华为云VPC中不能使用192.168.1.0/24这个子网。
  • 查看集群内Pod详情 在Pod列表中,单击需要查看详情的实例名称,进入该实例的详情页面,通过切换“概览”、“容器列表”和“监控”页签查看相应内容。 表1 Pod详情页面 词条 词条描述 概览 单击实例名称,进入实例概览页。 资源概况:Pod状态、容器数量(异常/总数)以及异常事件。 监控概览:包括CPU使用率、内存使用率和网络流入/流出速率这些常见的监控指标。 图2 资源概况和监控概览 容器使用趋势:包括Pod中各容器的CPU使用率、CPU使用量、内存使用率和内存使用量(在图表左上角切换对应指标),并且支持查看降序Top5和升序Top5数据(在图表右上角进行切换)。 图3 容器使用趋势 容器列表 容器列表中包含了容器名称、状态、命名空间、重启次数,以及镜像等详细信息。 图4 容器列表 您可以通过在列表上方按照容器名称、状态和命名空间进行筛选,快速找到需要的容器。 在列表的右上角,您可以单击按钮来导出全部容器数据,或者选择部分容器进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。 监控 在此处,您可以方便地查看实例在近1小时、近8小时、近24小时以及自定义时间段内各维度资源的使用情况。 如需查看更多监控信息,请单击“查看全部仪表盘”,跳转至“仪表盘”页面,相应指导请参见仪表盘。
  • 查看集群内Pod列表 容器组列表中包含实例名称、状态、命名空间、实例IP、所在节点、重启次数、CPU申请/限制、内存申请/限制、CPU使用率,以及内存使用率等信息。 图1 Pod列表页面 您可以利用页面左上方的命名空间,以及列表上方的实例名称、状态、实例IP和所在节点进行筛选,快速定位所需的实例。 在列表的右上角,您可以单击按钮来导出全部实例数据,或者选择部分实例进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。
  • 启用云原生日志采集插件采集日志 登录UCS控制台,进入“容器舰队”,单击舰队名称进入舰队页面。 选择“容器集群”,单击集群名称进入集群,选择左侧导航栏的“日志中心”。 (仅华为云集群)未进行授权的用户需要先授权,已授权的用户直接跳转下一步。 在弹出框中单击“确认授权”。 (仅华为云集群)页面单击“一键开启”,等待约30秒后,页面自动跳转。 采集容器标准输出:开启后,将创建名为default-stdout的日志策略,并上报所有命名空间下的标准输出到 云日志 服务(LTS)。 采集Kubernetes事件:开启后,将创建名为default-event的日志策略,并上报所有命名空间下的Kubernetes事件到云日志服务(LTS)。 (仅本地集群)为本地集群云原生日志采集插件授权。详细步骤请参见本地集群安装云原生日志插件前置授权。 (仅本地集群)页面单击“立即开启”,在弹窗中进行日志采集配置与网络配置,等待约30秒后,页面自动跳转。 日志采集配置 采集容器标准输出:开启后,将创建名为default-stdout的日志策略,并上报所有命名空间下的标准输出到云日志服务(LTS)。 采集Kubernetes事件:开启后,将创建名为default-event的日志策略,并上报所有命名空间下的Kubernetes事件到云日志服务(LTS)和 应用运维管理 AOM )。 Kubernetes审计日志:采集Kubernetes审计日志并上报到云日志服务 (LTS)。 kube-apiserver日志:采集控制面组件kube-apiserver组件日志并上报到云日志服务(LTS)。 kube-controller-manager日志:采集控制面组件kube-controller-manager组件日志并上报到云日志服务 (LTS)。 kube-scheduler日志:采集控制面组件kube-scheduler组件日志并上报到云日志服务 (LTS )。 网络配置 公网接入:通过公网Internet接入,要求集群能够访问公网,具有弹性灵活、成本低、易接入的优势。公网接入要求集群能够访问公网,请确保集群已符合此条件,否则会接入失败。 云专线/VPN接入:通过云专线(DC)或 虚拟专用网络 (VPN)服务将云下网络与云上虚拟私有云(VPC)连通,并利用VPC终端节点通过内网与容器智能分析建立连接,具有高速、低时延、安全的优势。详情见本地集群使用云专线/VPN上报日志。
  • 约束与限制 仅支持1.21及以上版本的华为云集群或本地集群。 每个集群限制50条日志规则。 不采集.gz、.tar、.zip后缀类型的日志文件。 采集容器文件日志时,若节点存储模式为Device Mapper模式,路径配置必须为节点数据盘挂载路径。 若容器运行时为containerd模式,容器标准输出日志中的多行配置暂不生效。(1.3.0及以上版本没有该限制) 每个集群限制单行日志采集速率不超过10000条/秒,多行日志不超过2000条/秒。 每个节点中,所有日志策略监听的文件数不能超过4096个文件 。 如果业务容器的数据目录是通过数据卷(Volume)挂载的,插件不支持采集它的父目录,需设置采集目录为完整的数据目录。 容器运行时间建议不小于1分钟,防止日志文件删除过快,无法及时采集。
  • k8clone恢复使用方法 k8clone工具支持在Linux(x86、arm)和Windows环境中运行,使用方法相似。本文将以Linux(x86)环境为例进行介绍。 若使用Linux(arm)或Windows环境,请将下述命令中的k8clone-linux-amd64分别替换为k8clone-linux-arm64或k8clone-windows-amd64.exe。 在k8clone工具所在目录下执行./k8clone-linux-amd64 restore -h,可以查看k8clone工具恢复的使用方法。 -k, --kubeconfig:指定kubectl的KubeConfig位置,默认是$HOME/.kube/config。kubeConfig文件:用于配置对Kubernetes集群的访问,KubeConfig文件中包含访问注册kubernetes集群所需要的认证凭据以及Endpoint(访问地址),详细介绍可参见Kubernetes文档。 -s, --api-server:Kubernetes API Server URL,默认是""。 -q, --context:Kubernetes Configuration Context,默认是""。 -f, --restore-conf:指定restore.json的路径,默认是k8clone工具所在目录下。 -d, --local-dir:备份数据放置的路径,默认是k8clone工具所在目录下。 $ ./k8clone-linux-amd64 restore -h ProcessRestore from backup Usage: k8clone restore [flags] Flags: -s, --api-server string Kubernetes api-server url -q, --context string Kubernetes configuration context -h, --help help for restore -k, --kubeconfig string The kubeconfig of k8s cluster's. Default is the $HOME/.kube/config. -d, --local-dir string Where to restore (default "./k8clone-dump.zip") -f, --restore-conf string restore conf file (default "./restore.json") 示例: ./k8clone-linux-amd64 restore -d ./k8clone-dump.zip -f ./restore.json
  • k8clone数据恢复原理 数据恢复的流程参考如下: 图1 数据恢复流程 在执行恢复操作前,需要准备一个数据恢复配置文件“restore.json”,目的是在应用恢复时自动更换PVC、StatefulSet的存储类名称,以及工作负载所使用镜像的Repository地址。 文件内容如下: { "StorageClass": "OldStorageClassName": "NewStorageClassName" //支持修改PVC、StatefulSet的StorageClassName字段 "ImageRepo": "OldImageRepo1": "NewImageRepo1", //eg:"dockerhub.com": "cn-north-4.swr.huaweicloud.com" "OldImageRepo2": "NewImageRepo2", //eg:"dockerhub.com/org1": "cn-north-4.swr.huaweicloud.com/org2" "NoRepo": "NewImageRepo3" //eg:"golang": "swr.cn-north-4.myhuaweicloud.com/paas/golang" } StorageClass:支持PVC、有状态应用VolumeClaimTemplates中存储类名称按照配置进行自动更换。 ImageRepo:支持工作负载所使用镜像的Repository地址的更换,工作负载包括Deployment(含initContainer)、StatefulSet、Orphaned Pod、Job、CronJob、Replica Set、Replication Controller、DaemonSet。
  • 应用恢复操作步骤 通过kubectl连接目标集群。具体方法可参考使用kubectl连接集群。 准备数据恢复配置文件:restore.json。 新建一个restore.json文件,按照格式修改,并将文件放置在k8clone工具所在目录下。 示例: { "StorageClass": { "csi-disk": "csi-disk-new" }, "ImageRepo": { "quay.io/coreos": "swr.cn-north-4.myhuaweicloud.com/paas" } } 进入k8clone工具所在目录,执行恢复命令,将备份数据恢复到目标集群。 示例: ./k8clone-linux-amd64 restore -d ./k8clone-dump.zip -f ./restore.json
  • 准备网络环境 附着集群的数据接入方式支持公网接入和私网接入。 公网接入是通过公网Internet接入,要求集群能够访问公网,具有弹性灵活、成本低、易接入的优势。如果对网络质量没有要求,只想采用更简便的方式接入,那么公网接入是个不错的选择。 公网接入要求集群能够访问公网,请确保集群已符合此条件,否则会接入失败。 私网接入是通过云专线(DC)或虚拟专用网络(VPN)服务将第三方云网络与云上虚拟私有云(VPC)连通,并利用VPC终端节点通过内网与容器智能分析建立连接,具有高速、低时延、安全的优势。 图1 私网接入原理 因此,在开启之前,您需要准备满足一个云上虚拟私有云(VPC),并将第三方云厂商的网络环境与该VPC连通。VPC子网网段不能与第三方云中已使用的网络网段重叠,否则将无法接入集群,例如,第三方云中已使用的VPC子网为192.168.1.0/24,那么华为云VPC中不能使用192.168.1.0/24这个子网。 网络连通可以选用如下两种方案: 虚拟专用网络(VPN)方案:请参见通过VPN连接云下数据中心与云上VPC。 云专线(DC)方案:请参见用户通过单专线静态路由访问VPC或用户通过单专线BGP协议访问VPC。
  • 策略定义库概述 UCS为您提供了预置的策略定义库,通过这个库,您可以创建具体的策略实例,进而将策略实例定义细节的任务委托给具备专业知识的个人或团队。这种做法不仅实现了关注点的隔离,还将策略实例的逻辑与定义进行了分离。 为了帮助您更好地理解策略定义的工作原理,每个预置策略定义都包含以下三个部分:一个示例策略实例,用于展示如何使用该策略定义;一个违反策略实例的资源定义,用于说明不符合该策略要求的资源样例;一个符合策略实例的资源定义,用于展示满足策略要求的资源样例。这些内容将帮助您更清晰地了解各种策略定义的应用场景及其执行标准。 所有策略实例都包含一个“match”部分,这部分定义了策略实例应用的目标对象。通过“match”部分,您可以精准指定策略实例适用的资源类型、命名空间或其他特定条件,从而确保策略实例仅对满足这些条件的对象起作用。 表1为安全类策略定义,共16个,它们专注于确保集群和资源的安全性;表2为合规类策略定义,总共17个,它们针对不同方面的合规要求。 表1 安全类策略定义 策略定义名称 类型 推荐级别 生效对象 参数 k8spspvolumetypes 安全 L3 Pod volumes:数组 k8spspallowedusers 安全 L3 Pod exemptImages:字符串数组 runAsUser rule:字符串 ranges min:整型 max:整型 runAsGroup rule:字符串 ranges min:整型 max:整型 supplementalGroups rule:字符串 ranges min:整型 max:整型 fsGroup rule:字符串 ranges min:整型 max:整型 k8spspselinuxv2 安全 L3 Pod allowedSELinuxOptions:对象数组,包含level、role、type、user四个字符串对象 exemptImages:字符串数组 k8spspseccomp 安全 L3 Pod allowedLocalhostFiles:数组 allowedProfiles:数组 exemptImages:字符串数组 k8spspreadonlyrootfilesystem 安全 L3 Pod exemptImages:字符串数组 k8spspprocmount 安全 L3 Pod exemptImages:字符串数组 procMount:字符串 k8spspprivilegedcontainer 安全 L3 Pod exemptImages:字符串数组 k8spsphostnetworkingports 安全 L3 Pod exemptImages:字符串数组 hostNetwork max:整型 min:整型 k8spsphostnamespace 安全 L3 Pod 无 k8spsphostfilesystem 安全 L3 Pod allowedHostPaths pathPrefix:字符串 k8spspfsgroup 安全 L3 Pod rule:字符串,支持MayRunAs、MustRunAs和RunAsAny ranges max:整型 min:整型 k8spspforbiddensysctls 安全 L3 Pod allowedSysctls:数组 forbiddenSysctls:数组 k8spspflexvolumes 安全 L3 Pod allowedFlexVolumes:数组 k8spspcapabilities 安全 L3 Pod allowedCapabilities:数组 exemptImages:字符串数组 requiredDropCapabilities:数组 k8spspapparmor 安全 L3 Pod allowedProfiles:数组 exemptImages:字符串数组 k8spspallowprivilegeescalationcontainer 安全 L3 Pod exemptImages:字符串数组 表2 合规类策略定义 策略定义名称 类型 推荐级别 生效对象 参数 k8srequiredprobes 合规 L1 Pod probes:数组 probeTypes:数组 k8srequiredlabels 合规 L1 Deployment labels key / allowedRegex:键值对数组 message:字符串 k8srequiredannotations 合规 L1 Pod annotations key / allowedRegex:键值对数组 message:字符串 k8sreplicalimits 合规 L1 Deployment、ReplicaSet、CronJob ranges min_replicas:整型 max_replicas:整型 noupdateserviceaccount 合规 L1 Pod allowedGroups:数组 allowedUsers:数组 k8simagedigests 合规 L1 Pod exemptImages:字符串数组 k8sexternalips 合规 L1 Service allowedIPs:字符串数组 k8sdisallowedtags 合规 L1 Pod tags:字符串数组 exemptImages:字符串数组 k8srequiredresources 合规 L1 Pod exemptImages:字符串数组 limits cpu memory requests cpu memory k8scontainerratios 合规 L1 Pod ratio:字符串 cpuRatio:字符串 exemptImages:字符串数组 k8scontainerrequests 合规 L1 Pod cpu:字符串 memory:字符串 exemptImages:字符串数组 k8scontainerlimits 合规 L1 Pod cpu:字符串 memory:字符串 exemptImages:字符串数组 k8sblockwildcardingress 合规 L1 Ingress 无 k8sblocknodeport 合规 L1 Service 无 k8sblockloadbalancer 合规 L1 Pod 无 k8spspautomountserviceaccounttokenpod 合规 L1 Pod 无 k8sallowedrepos 合规 L1 Pod repos:字符串数组 父主题: 使用策略定义库
  • 操作步骤 提交工单开通云日志服务(LTS)的VPC终端节点。具体步骤请参见云日志服务VPC终端节点授权。 在本地集群详情页,编辑云原生日志采集插件配置。 未安装 云原生日志采集(log-agent)插件时,可在日志中心单击“立即开启”。 已安装 云原生日志采集(log-agent)插件时,可在插件中心编辑对应插件。 选择对应的VPC终端节点。若不存在可用的VPC终端节点,单击“创建终端节点”以创建VPC终端节点。再次提交工单云日志服务(LTS)的VPC终端节点需要经过LTS服务审批,操作方法请参见云日志服务VPC终端节点授权。 创建的VPC终端节点需要和本地集群节点在同一个虚拟私有云或建立对等连接。 单击“确定”,完成云专线/VPN接入。
  • 操作步骤 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击多云集群选项卡中的“注册集群”按钮。 参考下表填写待添加集群的基础信息,其中带“*”的参数为必填参数。 表1 注册集群基础信息配置 参数 参数说明 集群类型* 选择“多云集群” 云资源提供商* 选择“AWS” 集群名称* 输入集群的自定义名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 所属区域* 选择集群所在的区域,为对应的AWS的Region。请确保所选Region下的资源配额充足。 集群版本* 选择“1.23” 高可用* 选择“是”。系统将自动创建3个EC2作为集群控制节点。 集群标签 非必填项,以键值对的形式为集群添加标签,可以通过标签实现集群的分类。键值对可自定义,以字母或者数字开头和结尾,由字母、数字、连接符(-)、下划线(_)、点号(.)组成,且63个字符之内。 容器舰队 选择集群所属的舰队。 舰队用于权限精细化管理,一个集群只能加入一个舰队。若不选择舰队,集群注册成功后将显示在“未加入舰队的集群”页签下,后续还可以再添加至舰队中。 不支持在注册集群阶段选择已开通集群联邦能力的舰队,如果一定要加入这个舰队,请在集群注册成功后,再添加到该舰队中。关于集群联邦的介绍,请参见开通集群联邦章节。 如需新建舰队,请参见管理容器舰队。 访问密钥ID* AWS IAM 处获取的访问密钥ID,即AccessKeyID。 私有访问密钥* AWS IAM处获取的私有访问密钥,即SecretAccessKey。 容器网段* 创建的Kubernetes集群的容器网段。 服务网段 创建的Kubernetes集群的服务网段。 单击“确定”,集群注册成功后,等待自动接入。
  • 安装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。 图3 创建工作负载 左侧导航栏内选择“服务与路由”,单击“路由”,单击“创建路由”,选择刚刚所创建的ClusterIP类型的Service。路由配置相关操作请参见路由。 访问ingress服务,确认转发规则配置成功。 如果是使用LoadBalancer暴露的ingress服务,选择LoadBalancer的ingress服务进行集群外访问: 如果是使用NodePort暴露的ingress服务,选择任意节点+ingress svc端口进行集群外访问:
  • 查看集群内工作负载列表 工作负载列表中包含工作负载名称、状态、实例个数(正常/全部)、命名空间、镜像名称、CPU使用率,以及内存使用率等信息。 图1 工作负载列表页面 您可以利用页面右上角的命名空间和工作负载类型,以及列表上方的工作负载名称、状态和命名空间进行筛选,快速定位所需的工作负载。 在列表的右上角,您可以单击按钮来导出全部工作负载数据,或者选择部分工作负载进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。
  • 查看集群内工作负载详情 在工作负载列表中,单击需要查看详情的工作负载名称,进入该工作负载的详情页面,通过切换“概览”、“Pod列表”和“监控”页签查看相应内容。 表1 工作负载详情页面 词条 词条描述 概览 单击工作负载名称,进入工作负载的“概览”页面。 资源概况:包括负载状态、Pod数量(异常/总数)以及异常事件。 监控概览:包括CPU使用率、内存使用率和网络流入/流出速率这些常见的监控指标。 图2 资源概况和监控概览 Pod使用趋势:包括工作负载中各Pod的CPU使用率、CPU使用量、内存使用率和内存使用量(在图表左上角切换对应指标),并且支持查看降序Top5和升序Top5数据(在图表右上角进行切换)。 图3 Pod使用趋势 Pod列表 Pod列表中包含了实例名称、状态、命名空间、实例IP、所在节点、重启次数、CPU申请/限制、内存申请/限制,以及CPU和内存使用率等详细信息。 图4 Pod列表 您可以通过在列表上方按照实例名称、状态、命名空间、实例IP和所在节点进行筛选,快速找到需要的实例。 在列表的右上角,您可以单击按钮来导出全部实例数据,或者选择部分实例进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。 单击实例名称可以查看实例的详细监控数据。更多相关内容,请参见查看集群内Pod情况。 监控 在此处,您可以方便地查看工作负载在近1小时、近8小时、近24小时以及自定义时间段内各维度资源的使用情况。 如需查看更多监控信息,请单击“查看全部仪表盘”,跳转至“仪表盘”页面,相应指导请参见仪表盘。
  • 配置条件触发自动切流策略 在CPD组件部署成功并正常运行后,您需要创建Remedy对象,以在特定触发条件下执行特定动作,如在集群CoreDNS组件故障后执行MCI切流。 Remedy对象的配置文件示例如下所示。示例YAML定义了一个Remedy对象,可以通过member1或member2集群上的CPD上报CoreDNS解析功能,在功能故障时自动将该集群上的MCI进行切流。详细的Remedy对象参数说明请参见表2。 apiVersion: remedy.karmada.io/v1alpha1 kind: Remedy metadata: name: foo spec: 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,即流量控制。
  • 为什么需要自动切流 MCI提供了一种跨集群的负载均衡和流量路由机制,提高了应用程序的可用性和可靠性。然而,当集群出现故障后,通过MCI分配到该集群上的请求将会失败。 UCS提供自动切流能力,可自动摘除故障集群上的流量,以进一步保障服务的可用性。自动切流能力的应用场景主要有: 识别集群故障并自动切流:在集群内关键组件CoreDNS功能故障后,自动探查并及时上报至控制面,将该集群上的流量摘除,由此保障服务可用性不受单个集群组件故障影响。具体切流操作请参见配置条件触发自动切流。 提前摘除流量以平滑升级:在集群管理员进行集群升级等操作前,提前将该集群上的流量摘除,操作成功后再切回流量,由此保障服务可用性不受单个集群升级影响。具体切流操作请参见配置无条件触发自动切流。
  • 配置无条件触发自动切流 集群管理员进行集群升级等操作,若出现升级策略不恰当、升级配置有误、操作人员执行失误等问题,可能会导致集群不可用。本小节指导您在进行集群升级前,通过创建无条件触发的Remedy对象,将MCI流量从目标集群上摘除。 集群管理员准备升级目标集群时(如member1),可以创建如下Remedy对象,将MCI流量从member1上摘除。示例YAML定义了一个Remedy对象,触发条件为空,表示无条件触发,集群联邦控制器会立即将member1上的流量摘除。在集群升级成功之后,删除该Remedy对象,member1上的流量会自动恢复,由此保证单集群的升级不会影响服务的高可用。 apiVersion: remedy.karmada.io/v1alpha1 kind: Remedy metadata: name: foo spec: clusterAffinity: clusterNames: - member1 actions: - TrafficControl 父主题: 配置MCI自动切流
  • 配额限制 为防止资源滥用,平台限定了各服务资源的配额,对用户的资源数量和容量做了限制。UCS具有集群、舰队、权限、集群联邦,以及容器智能分析实例配额限制,如表1所示。若UCS提供的默认配额无法满足使用需要,您可以提交工单申请扩大配额。 集群配额:UCS支持接入的集群数量上限,华为云集群、本地集群、附着集群、多云集群和伙伴云集群的数量均占用该配额值。 舰队配额:用户拥有的舰队数量上限。 权限配额:用户可以在“权限管理”页面创建的权限数量上限。 集群联邦配额:用户可以开通的集群联邦数量上限。不可申请扩大配额。 容器智能分析实例配额:用户可以创建的容器智能分析实例数量上限。不可申请扩大配额。 表1 UCS配额项 配额项 默认配额值 集群 50 舰队 50 权限 50 集群联邦 1 容器智能分析实例 1 用户在使用UCS时也会使用其他云服务,例如弹性云服务器、云硬盘、虚拟私有云、弹性负载均衡、 容器镜像服务 、云解析服务等。其他云服务配额与UCS配额相互独立,由各服务自行管理,详情请参见关于配额。
  • 业务影响 单节点使用率超过85%:会导致新的分片无法分配。 单节点使用率超过90%:Elasticsearch 会尝试将对应节点中的分片迁移到其他磁盘使用率比较低的数据节点中。 单节点使用率超过95%:系统会对 Elasticsearch 集群中对应节点里每个索引强制设置 read_only_allow_delete 属性,此时该节点上的所有索引将无法写入数据,只能读取和删除对应索引。 单节点使用率过高,可通过扩容操作动态调整集群节点的数量和容量。新扩容的节点不会立即分配索引,可打开cerebro看下节点索引分配情况,做进一步观察,也可以修改indices.recovery.max_bytes_per_sec 和cluster.routing.allocation.cluster_concurrent_rebalance两个参数值增加索引分配速度。
  • Elasticsearch集群在Kibana如何查询索引数据 在Kibana可以通过API查询索引数据,命令如下: GET indexname/_search 返回数据如下图所示: 图1 返回数据 表1 参数说明 参数 描述 “took” 耗时几毫秒。 “time_out” 是否超时。 “_shard” 数据被拆到了5个分片上,搜索时使用了5个分片,5个分片都成功地返回了数据,失败了0个,跳过了0个。 “hits.total” 查询结果的数量,3个document。 “max_score” 就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也越高。 “hits.hits” 包含了匹配搜索的document的详细数据。 父主题: 开源搜索引擎咨询
  • CSS 的控制台界面怎么查看集群的分片数以及副本数? 登录 云搜索 控制台。 在集群管理页面,选择需要查看的集群操作列的Kibana。 登录Kibana界面,选择Dev Tools。 在Dev Tools的Console界面中执行GET _cat/indices?v命令,查询集群分片数和副本数。如图,pri列表示该索引分片数,rep列表示副本数。索引一旦创建,pri无法修改的,rep可以动态修改。 父主题: 开源搜索引擎咨询
  • 修订记录 发布日期 修改说明 2024-03-04 更新操作步骤:集群被删除后是否还能恢复? 2024-02-07 新增案例:如何开启Elasticsearch集群的安全审计日志? 2023-09-20 按照问题类型优化目录结构。 2023-07-07 补充参考案例:如何更新Elasticsearch集群生命周期策略? 2023-05-30 新增案例: 如何修改登录Kibana和Cerebro的管理员密码 如何查看集群总磁盘使用率? 如何查看集群所分布的可用区? 单节点的使用率过高是否会影响集群的业务? 2023-03-27 更新前提条件:自建Kibana如何对接 云搜索服务 的Elasticsearch? 2023-03-13 新增案例:CSS集群支持修改安全组吗? 2023-01-31 内容结构优化,下线文档:登录Kibana和Cerebro的账户密码 2023-01-20 更新示例操作场景:CSS是否支持停止集群 内容结构优化,下线文档:如何使用Elasticsearch自定义评分查询 2023-01-17 补充打通VPC网络的操作链接:Elasticsearch是否支持不同VPC之间的数据迁移? 完善Kibana导出数据的操作指导:Kibana是否支持导出数据功能? 新增案例:Elasticsearch集群原生的script dotProduct无法执行 内容结构优化,下线部分案例。 2022-12-13 新增: 套餐包到期时间不同,如何将按需计费转为包年包月计费模式? Elasticsearch集群中某个客户端节点的node.roles为i表示该节点是ingest节点吗? Elasticsearch 7.x集群如何在index下创建type? 如何转换CER安全证书的格式? Elasticsearch集群分片过多会有哪些影响 Elasticsearch集群设置默认分页返回最大条数 使用delete_by_query命令删除数据后,为什么磁盘使用率反而增加? CSS集群如何清理缓存? 2022-12-02 新增: Elasticsearch集群如何设置search.max_buckets参数? Elasticsearch集群在Kibana如何查询索引数据 优化:折扣套餐包到期了怎么续费? 2022-11-28 更新: 购买了折扣套餐包,如何使用? 折扣套餐包是如何扣费的? 折扣套餐包到期了怎么续费? 2022-10-09 优化: 如何退订云搜索服务集群? 如何获取CSS服务的安全证书? 2022-09-30 新增:CSS是否支持停止集群 更新:如何退订云搜索服务集群? 下线折扣套餐包的部分案例。 2022-09-08 新增:为什么新创建的索引分片全部被分配到一个node节点上? 2022-06-30 新增: 云搜索服务的包周期资源如何续费? 云搜索服务使用的数据压缩算法是什么? 集群被删除后是否还能恢复? 界面更新涉及操作步骤更新: 如何修改Elasticsearch集群的TLS算法? 如何获取CSS服务的安全证书? 如何使用NAT网关实现云搜索服务公网访问 优化: 自行搭建的Kibana和Cerebro可以访问CSS集群吗? 2022-04-30 目录整理优化。 2022-01-17 第八次正式发布。 新增 如何更新Elasticsearch集群生命周期策略? 2021-12-08 第七次正式发布。 新增 如何批量设置索引副本数为0? 2021-11-26 第六次正式发布。 新增 3.12-CSS集群快照是全量还是增量呢? 2021-08-19 第五次正式发布。 2021-05-13 第四次正式发布。 新增 如何修改Elasticsearch集群的TLS算法? 如何获取CSS服务的安全证书? 2020-12-28 第三次正式发布。 新增 在CSS的控制台界面怎么查看集群的分片数以及副本数? Kibana是否支持导出数据功能? 自建Kibana如何对接云搜索服务的Elasticsearch? 如何设置云搜索服务的慢查询日志的阈值? 如何跨Region迁移CSS集群? 2020-07-14 第二次正式发布。 2020-04-26 第一次正式发布。
共100000条