华为云用户手册

  • 基本信息 策略类型:安全 推荐级别:L3 生效资源类型:Pod 参数: exemptImages: 字符串数组runAsUser: rule: 字符串 ranges: - min: 整型 max: 整型runAsGroup: rule: 字符串 ranges: - min: 整型 max: 整型supplementalGroups: rule: 字符串 ranges: - min: 整型 max: 整型fsGroup: rule: 字符串 ranges: - min: 整型 max: 整型
  • 符合策略实例的资源定义 示例中runAsUser等参数均在范围内,符合策略实例。 apiVersion: v1kind: Podmetadata: name: nginx-users-allowed labels: app: nginx-usersspec: securityContext: supplementalGroups: - 199 fsGroup: 199 containers: - name: nginx image: nginx securityContext: runAsUser: 199 runAsGroup: 199
  • 不符合策略实例的资源定义 示例中runAsUser等参数不在范围内,不符合策略实例。 apiVersion: v1kind: Podmetadata: name: nginx-users-disallowed labels: app: nginx-usersspec: securityContext: supplementalGroups: - 250 fsGroup: 250 containers: - name: nginx image: nginx securityContext: runAsUser: 250 runAsGroup: 250
  • 通过Kubectl命令创建M CS 对象 使用kubectl连接集群联邦,详细操作请参见使用kubectl连接集群联邦。 创建并编辑 mcs.yaml 文件,文件内容定义如下所示,参数定义请参见表1。 vi mcs.yaml 示例YAML定义的MCS对象关联了名为foo的Service,支持在cluster A中访问到部署在cluster B中的该Service。 apiVersion: networking.karmada.io/v1alpha1 kind: MultiClusterService metadata: name: foo # MCS对象名称 namespace: default # MCS对象所在命名空间名称spec: types: - CrossCluster # 类型为集群间服务发现 providerClusters: # Service的下发集群 - name: clusterB consumerClusters: # Service的访问集群 - name: clusterA 表1 关键参数说明 参数 是否必填 参数类型 描述 metadata.name 是 String MCS对象的名称,应与关联Service保持一致。 metadata.namespace 否 String MCS对象所在命名空间名称,应与关联Service所在命名空间名称保持一致。不填则默认为default。 spec.types 是 String 流量方向,实现集群间服务发现能力应配置为CrossCluster。 spec.providerClusters.name 否 String Service的下发集群名称,应配置为Service的部署集群。不填则默认将Service下发至集群联邦内所有集群。 注意: 若Service部署在cluster B,但在下发集群中配置了cluster A与cluster B,则该Service会同时下发至cluster A与cluster B,覆盖A中的原同名Service。 spec.consumerClusters.name 否 String Service的访问集群名称,应配置为期望通过MCS实现跨集群访问Service的集群名称。不填则默认设置为所有集群联邦内集群可访问该Service。 执行如下命令创建MCS对象。 kubectl apply -f mcs.yaml 执行如下命令查看MCS对象的状态。其中foo为MCS对象的名称。 kubectl describe mcs foo YAML文件中的status字段记录了MCS的状态,当status字段中出现如下内容时,表明Endpoint Slices下发并同步成功,集群间服务发现能力可用。 status: conditions: - lastTransitionTime: "2023-11-20T02:30:49Z" message: EndpointSlices are propagated to target clusters. reason: EndpointSliceAppliedSuccess status: "True" type: EndpointSliceApplied 创建完成后,可以执行如下命令操作MCS对象。其中foo为MCS对象的名称。 获取MCS对象:kubectl get mcs foo 更新MCS对象:kubectl edit mcs foo 删除MCS对象:kubectl delete mcs foo 若MCS实例删除状态异常,一直显示“删除中”,则异常实例需要强制删除并清理资源。具体操作请参见MCS/MCI实例删除异常如何排查?
  • 通过控制台配置调度策略 登录UCS控制台,进入集群联邦页面。 在创建工作负载时,在“高级配置”中找到“调度策略”。 表1 节点亲和性设置 参数名 参数描述 必须满足 即硬约束,设置必须要满足的条件,对应于requiredDuringSchedulingIgnoredDuringExecution,多条规则间是一种“或”的关系,即只需要满足一条规则即会进行调度。 尽量满足 即软约束,设置尽量满足的条件,对应于preferredDuringSchedulingIgnoredDuringExecution,无论是满足其中一条或者是都不满足都会进行调度。 在“节点亲和性”、“工作负载亲和性”、“工作负载反亲和性”下单击添加调度策略。 表2 调度策略设置 参数名 参数描述 标签名 对应节点的标签,可以使用默认的标签也可以用户自定义标签。 操作符 可以设置六种匹配关系(In, NotIn, Exists, DoesNotExist. Gt, and Lt)。 In:是否在标签值的列表中 NotIn:是否不在标签值的列表中 Exists:某个标签存在 DoesNotExist:某个标签不存在 Gt:标签的值大于某个值(字符串比较) Lt:标签的值小于某个值(字符串比较) 标签值 请填写标签值。 命名空间 仅支持在工作负载亲和/工作负载反亲和调度策略中使用。 指定调度策略生效的命名空间。 拓扑域 仅支持在工作负载亲和/工作负载反亲和调度策略中使用。 先圈定拓扑域(topologyKey)指定的范围,然后再选择策略定义的内容。 权重 仅支持在“尽量满足”策略中添加。
  • GitOps优势 简单易学:Git易于被开发者接受,易于集成,无需额外学习成本。 安全性高:开发者使用GitOps无需任何Kubernetes集群权限,仅需要Git仓库权限,保证集群安全可靠。 可靠性强:提供原生Kubernetes资源、Helm Chart资源、Kustomize等资源交付清单的版本管理,方便用户进行部署应用、增量变化和应用配置的回滚。 应用持续部署:Kubernetes集群和Git仓库中的应用状态自动同步,保持一致,实现应用持续部署。
  • 通过控制台YAML创建多集群服务(MCS) 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。 在左侧导航栏中选择“服务与路由”,选择“多集群服务”页签。 在多集群服务页签,单击右上角“YAML创建”,弹出多集群服务(MCS)YAML创建界面。 当前数据选择YAML,在编辑栏进行编辑(根据实际需求调整配置参数): apiVersion: networking.karmada.io/v1alpha1kind: MultiClusterServicemetadata: name: mcs-24132 # MCS对象名称 namespace: default # MCS对象所在命名空间名称spec: types: - CrossCluster # 类型为集群间服务发现 providerClusters: - name: cluster-25043 # Service的下发集群 consumerClusters: - name: cluster-29544 # Service的访问集群 编辑完成后,单击右下角“确定”,完成多集群服务(MCS)创建。
  • GitOps概述 GitOps是使用Git仓库来管理应用的部署模板,将Git仓库作为Kubernetes集群中部署应用的唯一来源,实现应用的持续部署,实现多集群的GitOps持续交付,满足应用的高可用部署、系统组件多集群分发等需求。GitOps假设每一个基础设施都被表示为一个具有版本控制功能的存储系统中的文件,并且有一个自动化的过程可以无缝地将更改的应用同步到应用程序运行环境。 而结合Kubernetes生态中的声明式API、Controller Loop可以更好得实现这一思想,该系统从一开始就遵循声明性规范以及最终一致性和收敛性的原则。
  • GitOps实现方式 开发运维人员基于Git工作流,可将现有流程,从应用开发扩展到到部署、应用生命周期管理和基础架构配置,开箱即用,客户无须运维Gitops工具。 Gitops插件通过内置Kustomize结合Base/overlay制品组织方式和HelmRelease结合valuesFrom/valuesFiles等方式的能力,满足客户差异化的配置管理诉求。 将Git仓库中最新合入的制品配置信息同步部署至多个集群中,同时对应用发布行为进行版本化管理和权限控制,提供发布回滚和版本迭代控制,并进行审计跟踪。 所需的基础架构状态会自动应用于基础架构,而无需任何手动干预,持续监控并确保基础架构始终遵循Git存储库中的配置,确保基础设施处于理想状态。 图1 GitOps实现方式
  • 流水线发布流程 图1 流水线发布流程 流水线发布的流程如图1所示,具体步骤如下: 配置项目与扩展点。在该小节,您将会为应用开通新的流水线项目,并为该项目配置跨服务权限。 新建发布环境。在该小节,您将会为应用建立新的代码仓库,并配置环境信息以及关联的UCS集群舰队信息。 配置发布策略。在该小节,您将会根据预置的发布模板,配置应用的发布策略。 配置流水线及参数。在该小节,您将会对发布流程进行图形化编排,通过发布插件选择环境级别、发布环境以及产物地址。 发布舰队应用。在该小节,您将会通过流水线,结合上述步骤的调测、编排,实现从源码构建到舰队应用发布全流程的自动化体验。
  • 准备工作 部署工作负载与服务 MCS提供跨集群服务发现与访问能力,因此需要在集群联邦中提前部署可用的工作负载(Deployment)和服务(Service)。若您无可用工作负载和服务,请参考无状态负载和集群内访问(ClusterIP)创建。 设置集群网络 请参照设置集群网络对集群间网络互通进行检查与设置。 若创建MCS实例时,出现报错"policy doesn't allow 'get loadbalancer' to be performed."或"because no identity-based policy allows the xxx action.",表示当前委托权限还未生效,请等待片刻后重试即可,错误出现在事件中则无需关心。
  • 创建FederatedHPA策略 控制台创建 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击已开通集群联邦的容器舰队名称,进入容器舰队详情页面。 在左侧导航栏选择“负载伸缩”,在“指标伸缩策略”页签下,单击右上角的“创建指标伸缩策略”。 配置FederatedHPA策略参数。 表1 FederatedHPA策略参数配置 参数 参数说明 策略名称 FederatedHPA策略的名称。输入长度范围为4-63个字符。 命名空间 请选择需要自动扩缩的工作负载所在命名空间的名称。也可新建命名空间,具体操作请参见命名空间。 生效工作负载 请选择需要设置自动扩缩的工作负载的名称。也可新建工作负载,具体操作请参见工作负载。 实例范围 触发策略时,工作负载内Pod数量所能达到的最大值与最小值。 最小值:请输入1-299之间的正整数。 最大值:请输入1-1500之间的正整数,且填写值需大于实例范围最小值。 稳定窗口时长 稳定窗口时长内指标数据持续达到期待值,才会进行扩缩。默认扩容稳定窗口时长为0秒,缩容稳定窗口时长为300秒。稳定窗口时长的详细信息请参见如何保证负载伸缩的稳定性?。 扩容:请输入0-3600之间的正整数,单位为秒。 缩容:请输入0-3600之间的正整数,单位为秒。 系统规则 若您需要基于系统指标对工作负载进行扩缩,则需配置该规则。 指标:可选择“CPU利用率”或“内存利用率”。 期待值:指标数据达到期待值时,触发扩缩。 自定义规则 若您需要基于自定义指标对工作负载进行扩缩,则需配置该规则。 自定义指标名称:在下拉框中选择自定义指标的名称。 指标来源:在下拉框中选择自定义指标所描述的对象类型,目前仅支持“Pod”。 期待值:指标数据达到期待值时,触发扩缩。 注意: 自定义规则仅支持1.19及更高版本的集群创建。 使用自定义规则时,集群中需要安装支持采集自定义指标的插件,且工作负载需正常上报并采集自定义指标,详情请参见安装指标采集插件。 参数配置完成后,单击右下角“创建”,即可跳转指标伸缩策略列表查看策略详情,完成FederatedHPA策略创建。 命令行创建 使用kubectl连接集群联邦,具体操作请参见使用kubectl连接集群联邦。 创建并编辑fhpa.yaml文件,文件内容定义如下所示,关键参数定义请参见表2。 vi fhpa.yaml 本示例创建的FederatedHPA策略名称为hpa-example-hpa,作用于名称为hpa-example的工作负载,稳定窗口时长为扩容0秒、缩容300秒,最大Pod数为100、最小Pod数为2,包含两条系统指标规则(名称为“memory”和“cpu”)。其中,memory规则中内存利用率的期望值为50%,cpu规则中CPU利用率的期望值为60%。 apiVersion: autoscaling.karmada.io/v1alpha1 kind: FederatedHPAmetadata: name: hpa-example-hpa # FederatedHPA策略名称 namespace: default # 工作负载所在命名空间名称 spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: hpa-example # 工作负载名称 behavior: scaleDown: stabilizationWindowSeconds: 300 # 缩容的稳定窗口时长为300秒 scaleUp: stabilizationWindowSeconds: 0 # 扩容的稳定窗口时长为0秒 minReplicas: 2 # 最小Pod数为2 maxReplicas: 100 # 最大Pod数为100 metrics: - type: Resource resource: name: memory # 第一条规则名称 target: type: Utilization # 指标类型为利用率 averageUtilization: 50 # 期望的平均利用率 - type: Resource resource: name: cpu # 第二条规则名称 target: type: Utilization # 指标类型为利用率 averageUtilization: 60 # 期望的平均利用率 表2 关键参数说明 参数 是否必填 参数类型 描述 stabilizationWindowSeconds 否 String 缩容的稳定窗口时长,请输入0-3600之间的正整数,单位为秒,不定义时默认为300秒。 说明: 稳定窗口时长内指标数据持续达到期待值,才会进行扩缩。稳定窗口时长的详细信息请参见如何保证负载伸缩的稳定性?。 stabilizationWindowSeconds 否 String 扩容的稳定窗口时长,请输入0-3600之间的正整数,单位为秒,不定义时默认为0秒。 minReplicas 是 String 触发策略时,工作负载内Pod数量所能缩容到的最小值,请输入1-299之间的正整数。 maxReplicas 是 String 触发策略时,工作负载内Pod数量所能扩容到的最大值,请输入1-1500之间的正整数,且输入值需大于实例范围最小值。 name 是 String 规则名称。基于系统指标进行弹性伸缩时,基于内存利用率的规则名称为memory,基于CPU利用率的规则名称为cpu。 type 是 String 指标类型。 Value:总量 AverageValue:平均量 = 总量 / 当前Pod数 Utilization:利用率 = 平均量 / 申请量 averageUtilization 是 String 指标数据达到期待值时,触发扩缩。 执行如下命令创建FederatedHPA策略。 kubectl apply -f fhpa.yaml 回显如下表明创建成功。 FederatedHPA.autoscaling.karmada.io/hpa-example-hpa created 创建完成后,可以执行如下命令观察负载伸缩的运行效果。 检查工作负载的当前Pod数:kubectl get deployments 查看FederatedHPA策略事件(仅保留最近三条):kubectl describe federatedhpa hpa-example-hpa 可以执行如下命令管理FederatedHPA策略。其中hpa-example-hpa为FederatedHPA策略的名称,实际情况中需修改为自己所创建的策略名称。 获取FederatedHPA策略:kubectl get federatedhpa hpa-example-hpa 更新FederatedHPA策略:kubectl edit federatedhpa hpa-example-hpa 删除FederatedHPA策略:kubectl delete federatedhpa hpa-example-hpa
  • master节点与组件升级命令说明 本地集群用户可以通过最新版本的本地集群命令行工具ucs-ctl来进行集群升级,对于管理组件和管理节点的升级,命令如下: ./ucs-ctl upgrade cluster [cluster_name] [flags] 可以配置的flag如下: -a:节点的全量升级,默认情况下upgrade cluster只会升级管理面节点和服务组件,加上-a后则表示全量升级,包括升级所有的业务节点。 -y:默认同意所有请求。 -patch:升级补丁包。 -R:回滚选项。
  • 使用命名空间 在创建工作负载、Service、Ingress、存储声明等场景时都会用到命名空间,以创建工作负载为例: 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。 在左侧导航栏中选择“工作负载”,在“无状态负载”页签中单击右上角“镜像创建”。 设置工作负载基本信息,选择工作负载所在的命名空间。 继续完成工作负载其他配置的填写并创建。
  • 创建命名空间 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。 在左侧导航栏中选择“命名空间”,单击右上角“创建命名空间”。 参照表1设置命名空间参数。 表1 命名空间基本信息 参数 参数说明 命名空间名称 新建命名空间的名称,命名必须唯一。 标签 Key/value键值对格式,给命名空间添加自定义标签,定义不同属性,通过这些标签了解各个命名空间的特点。 注解 Key/value键值对格式,给命名空间添加自定义注解。 描述 输入对命名空间的描述信息。 配置完成后,单击“确定”。 创建完成后,可单击“查看YAML”查看YAML文件,并支持下载。
  • 升级操作 登录UCS控制台,选择“容器舰队”或“未加入舰队的集群”内一个正在运行的低版本集群,单击右下方“升级集群”。 下载更新工具,请使用一台能连接集群的节点作为执行机,先使用如下命令下载新版本的集群管理工具: curl https://ucs-onprem.obs.XXXX.huawei.com/toolkits/ucs-ctl/ucs-ctl -o ucs-ctl && chmod +x ucs-ctl 升级master节点,这里可以使用-y命令来跳过所有选择项,其他可配置的flag请参照master节点与组件升级命令说明: ./ucs-ctl upgrade cluster [cluster name] 集群名称需要和创建本地集群时指定的名称一致,如果不确定名称可进集群内,使用命令查看: ./ucs-ctl get cluster node节点升级,node节点升级可以选择两种升级方式: 全量升级,全量升级指的是将集群内剩余节点全部升级,命令如下: ./ucs-ctl upgrade node -a -c [cluster name] 分批次部分升级,为了防止升级过程出现业务中断的情况,用户也可以选择分批次部分升级节点,此时需要手动选择节点。 ./ucs-ctl upgrade node -n [node ip] -c [cluster name] 特殊情况:若本地集群目前只有master节点,无node节点,此时仅提供master节点的升级命令。 其他可配置的flag请参照node节点升级命令说明。
  • node节点升级命令说明 对于常规业务节点的升级,命令如下: ./ucs-ctl upgrade node [flags] -c [cluster_name] 其中必须指定集群名称,即加上`-c [cluster_name]`这个flag。 可以配置的flag如下: -a:节点的全量升级。 -y:默认同意所有请求。 -c:指定集群名称。 -r:回滚选项。 -n:指定节点IP。 -f:指定节点配置文件。
  • 删除命名空间 在UCS控制台删除命名空间将会级联删除各个集群中的同名命名空间,并删除该命名空间相关的所有数据资源,请谨慎操作。 为保证UCS的正常运行,来源为“系统”或“默认”的命名空间无法被删除。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。 在左侧导航栏中选择“命名空间”,在命名空间列表中,选择需要删除的命名空间,单击“删除”。 如需同时删除多个命名空间,可勾选多个命名空间并单击“批量删除”。 根据提示,单击“是”进行删除操作。
  • 约束与限制 init容器不支持进行GPU虚拟化。 对于单张GPU卡: 最多虚拟化为20个GPU虚拟设备。 最多调度20个使用隔离能力的Pod。 仅支持调度相同隔离模式(GPU虚拟化支持显存隔离、显存与算力隔离两种隔离模式。)的工作负载。 对于同一工作负载中的不同容器: 仅支持配置单一显卡型号,不支持混合配置两种及以上GPU显卡型号。 仅支持配置一致GPU使用模式,不支持混合配置虚拟化和非虚拟化模式。 使用GPU虚拟化后,该GPU节点不再支持调度使用共享GPU资源的工作负载。
  • 验证GPU虚拟化隔离能力 工作负载创建成功后,您可以尝试验证GPU虚拟化的隔离能力。 登录容器查看容器被分配显存总量 kubectl exec -it gpu-app -- nvidia-smi 预期输出: Wed Apr 12 07:54:59 2023+-----------------------------------------------------------------------------+| NVIDIA-SMI 470.141.03 Driver Version: 470.141.03 CUDA Version: 11.4 ||-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. || | | MIG M. ||===============================+======================+======================|| 0 Tesla V100-SXM2... Off | 00000000:21:01.0 Off | 0 || N/A 27C P0 37W / 300W | 4792MiB / 5000MiB | 0% Default || | | N/A |+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=============================================================================|+-----------------------------------------------------------------------------+ 预期输出表明,该容器被分配显存总量为5000 MiB,实际使用了4792MiB。 查看所在节点的GPU显存隔离情况(在节点上执行)。 export PATH=$PATH:/usr/local/nvidia/bin;nvidia-smi 预期输出: Wed Apr 12 09:31:10 2023+-----------------------------------------------------------------------------+| NVIDIA-SMI 470.141.03 Driver Version: 470.141.03 CUDA Version: 11.4 ||-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. || | | MIG M. ||===============================+======================+======================|| 0 Tesla V100-SXM2... Off | 00000000:21:01.0 Off | 0 || N/A 27C P0 37W / 300W | 4837MiB / 16160MiB | 0% Default || | | N/A |+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=============================================================================|| 0 N/A N/A 760445 C python 4835MiB |+-----------------------------------------------------------------------------+ 预期输出表明,GPU节点上的显存总量为16160 MiB,其中示例Pod使用了4837MiB。
  • 基础软件规划 节点的操作系统、内核版本等基础软件需要符合表1中的版本要求。 表1 基础软件规划 系统架构 系统类型 网络模型支持 操作系统版本 内核版本限制 x86 Ubuntu 20.04 Cilium 检查命令:cat /etc/lsb-release DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS" 检查命令:uname -r 5.15.0-1017-aws Cilium是一种网络插件,支持BGP、eBPF等网络协议,更多内容请参见Cilium官方文档。 多云集群采用containerd作为容器引擎,如果节点操作系统已经安装containerd、runC组件,UCS将直接使用上述组件。 父主题: 安装多云集群的业务规划
  • 外部依赖 表5 外部依赖项 依赖项 功能解释 DNS服务器 DNS服务器需要能够解析OBS、SWR、 IAM 、DNS等服务的 域名 ,这些服务的域名请参见地区及终端节点。 公网接入情况下,节点可自动识别默认DNS配置,需提前将DNS服务器上游设置为公网DNS,接下来无需再手动进行DNS服务器配置。 私网接入情况下,节点无法识别默认DNS配置,因此需提前配置VPCEP解析能力,详情请参考安装前准备。若您还未搭建DNS服务器,可参考DNS进行搭建。 apt源或yum源 确保有可用的apt源或yum源,因为在本地集群执行纳管节点时(纳管节点是指待添加到本地集群管理的服务器),部分安装组件如ntp等,需要从apt源或yum源中获取依赖包。 须知: apt源操作适用于操作系统为Ubuntu的节点,yum源操作适用于操作系统为HCE或Redhat。 NTP服务器 可选,用于保证集群各节点时间同步,如果使用,推荐用户提供外置NTP服务器。
  • 磁盘挂卷 表6 磁盘挂卷 节点类型 磁盘挂载点 可用大小(GB) 用途 集群管理节点 /var/lib/containerd 50 存放containerd镜像目录 /run/containerd 30 containerd运行时目录 /var/paas/run 50 etcd数据目录(推荐使用ssd盘) /var/paas/sys/log 20 存放日志目录 /mnt/paas 40 容器运行挂载目录 /tmp 20 临时文件目录 集群计算节点 /var/lib/containerd 100 存放containerd镜像目录 /run/containerd 50 containerd运行时目录 /mnt/paas 50 容器运行挂载目录 /tmp 20 临时文件目录
  • 资源规格 UCS所安装的本地集群为HA版,适用于商用场景,以满足容灾高可用需求。商用版资源规格如下所述: 表2 容器平台基础能力资源规格 节点类型 数量 CPU (Cores) Mem (GiB) Disk (G)-系统盘 Disk (G)-高性能盘 Disk (G)-数据盘 备注 集群管理节点 3 8 16 100 50 300 需要提供一个VIP用于高可用。 集群计算节点 按需 2 4 40 - 100 数量按需可扩展。 表3 容器智能分析节点资源规格 节点类型 CPU (Cores) Mem (GiB) 监控prometheus Requests:1 Limits:4 Requests:2 Limits:12 事件log-agent Requests:0.5 Limits:3 Requests:1.5 Limits:2.5 表4 云原生服务中心计算节点资源规格 类型 数量 CPU (Cores) Mem (GiB) Disk (G)-系统盘 Disk (G)-高性能盘 Disk (G)-数据盘 operator-chef 1 Requests:0.5 Limits:2 Requests:0.5 Limits:2 不涉及 不涉及 10(日志) helm-operator 1 Requests:0.3 Limits:1.5 Requests:0.3 Limits:1.5 不涉及 不涉及 10(日志) ops-operator 1 Requests:0.3 Limits:1.5 Requests:0.3 Limits:1.5 不涉及 不涉及 10(日志)
  • 用户规划 表9 用户规划 用户 用户组 用户ID 用户组ID 密码 用途 root root 0 0 - UCS本地集群安装时使用的默认用户,也可以指定其他用户来安装本地集群。安装用户要求满足如下条件: 规划的所有集群管理节点密码一致。 用户具有完全的root用户权限。 说明: 安装完成后用户可以自行修改该用户密码或限制该用户root权限。 paas paas 10000 10000 - UCS本地集群服务进程的运行用户、用户组,在安装过程中创建。该用户和用户组对应名称为paas:paas,用户ID和用户组ID对应为10000:10000,因此安装前需要保证用户名、用户组名、用户ID和用户组ID不被占用。若发生冲突,需提前删除对应的用户或者用户组。
  • 防火墙规划 防火墙的规划需符合表1中要求。 表1 防火墙规划 源设备 源IP 源端口 目的设备 目的IP 目的端口(侦听) 协议 端口说明 侦听端口是否可更改 认证方式 加密方式 ucsctl执行机 源设备所在节点IP ALL 所有节点 目的设备所在节点IP 22 TCP SSH 否 证书/用户名密码 TLS v1.2 所有节点 源设备所在节点IP ALL NTP server 目的设备所在节点IP 123 UDP ntp 否 无 无 所有节点 源设备所在节点IP ALL DNS server 目的设备所在节点IP 53 UDP dns 否 无 无 所有节点 源设备所在节点IP ALL 自建APT源 目的设备所在节点IP 80/443 TCP http 否 无 无 所有节点 源设备所在节点IP ALL 集群负载均衡/VIP 目的设备所在节点IP 5443 TCP kube-apiserver 否 https+证书 TLS v1.2 所有节点 源设备所在节点IP 1024-65535 所有节点 目的设备所在节点IP 1024-65535 ALL 无 否 无 无 所有节点 源设备所在节点IP ALL 所有节点 目的设备所在节点IP 8472 UDP vxlan端口 否 无 无 需要访问ingress的节点 源设备所在节点IP ALL 网络节点 目的设备所在节点IP 80/443/按需指定端口 TCP http 否 https+证书 TLS v1.2 所有节点 源设备所在节点IP ALL 3台master节点 目的设备所在节点IP 5444 TCP kube-apiserver 否 https+证书 TLS v1.2 ucsctl执行机 源设备所在节点IP ALL 华为云OBS服务 obs.cn-north-4.myhuaweicloud.com 443 TCP http 否 https+证书 TLS v1.2 3台master节点 源设备所在节点IP ALL 华为云UCS服务 124.70.21.61 proxyurl.ucs.myhuaweicloud.com 30123 TCP grpc 否 https+证书 TLS v1.2 3台master节点 源设备所在节点IP ALL 华为云IAM服务 iam.cn-north-4.myhuaweicloud.com 443 TCP http 否 https+证书 TLS v1.2 所有节点 源设备所在节点IP All 华为云SWR服务 swr.cn-north-4.myhuaweicloud.com 443 TCP http 否 https+证书 TLS v1.2 所有节点 源设备所在节点IP ALL Ubuntu官方源/国内代理源 按需配置 80/443 TCP http 否 无 无 监控节点 源设备所在节点IP ALL 华为云 AOM 域名对应IP地址 443 TCP http 否 https+证书 TLS v1.2 监控节点 源设备所在节点IP ALL 华为云LTS 域名对应IP地址 443 TCP http 否 https+证书 TLS v1.2
  • 查看集群内工作负载列表 工作负载列表中包含工作负载名称、状态、实例个数(正常/全部)、命名空间、镜像名称、CPU使用率,以及内存使用率等信息。 图1 工作负载列表页面 您可以利用页面右上角的命名空间和工作负载类型,以及列表上方的工作负载名称、状态和命名空间进行筛选,快速定位所需的工作负载。 在列表的右上角,您可以单击按钮来导出全部工作负载数据,或者选择部分工作负载进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。
  • 查看集群内工作负载详情 在工作负载列表中,单击需要查看详情的工作负载名称,进入该工作负载的详情页面,通过切换“概览”、“Pod列表”和“监控”页签查看相应内容。 表1 工作负载详情页面 词条 词条描述 概览 单击工作负载名称,进入工作负载的“概览”页面。 资源概况:包括负载状态、Pod数量(异常/总数)以及异常事件。 监控概览:包括CPU使用率、内存使用率和网络流入/流出速率这些常见的监控指标。 图2 资源概况和监控概览 Pod使用趋势:包括工作负载中各Pod的CPU使用率、CPU使用量、内存使用率和内存使用量(在图表左上角切换对应指标),并且支持查看降序Top5和升序Top5数据(在图表右上角进行切换)。 图3 Pod使用趋势 Pod列表 Pod列表中包含了实例名称、状态、命名空间、实例IP、所在节点、重启次数、CPU申请/限制、内存申请/限制,以及CPU和内存使用率等详细信息。 您可以通过在列表上方按照实例名称、状态、命名空间、实例IP和所在节点进行筛选,快速找到需要的实例。 在列表的右上角,您可以单击按钮来导出全部实例数据,或者选择部分实例进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。 单击实例名称可以查看实例的详细监控数据。更多相关内容,请参见查看集群内Pod情况。 监控 在此处,您可以方便地查看工作负载在近1小时、近8小时、近24小时以及自定义时间段内各维度资源的使用情况。 如需查看更多监控信息,请单击“查看全部仪表盘”,跳转至“仪表盘”页面,相应指导请参见仪表盘。
  • 操作步骤 登录华为云控制台。 在左侧导航栏中选择“分布式云原生”,选择“配置管理”。 在右上角“添加集群”,选择需要启用配置管理功能的目标集群,单击确定。 在集群概览页,选择目标集群,单击“Gitops能力”,查看Gitops插件(名称:集群名称-FluxPlugin)是否安装成功。当插件部署状态显示运行中,表示插件已部署成功。 图2 集群概览页 选择“配置集合”页签,单击创建配置集合。 选择仓库源,如果已有仓库源请参考使用已有仓库源配置,如果需要创建新仓库源,请参考创建新仓库源。
  • 创建新仓库源 单击“创建新仓库源”输入仓库源名称、仓库源URL地址。 输入需要与其同步的代码库分支。 选择数据源验证,以及输入密钥。 选择公有类型的仓库无需进行身份验证,即可提供只读权限。 选择私有类型的仓库,则数据源验证可选择“选择集群secret”和“提供认证信息(SSH)”,两种方式都需要配置的密钥进行身份验证。 仓库密钥创建请参考密钥。 如果离散集群开通配置管理后,在创建仓库源时报404错误,网络波动重试即可。 仓库源创建完成后,在“自动同步策略”内输入“配置集合路径”,单击“下一步:信息确认”。 确认配置信息无误后,单击“创建配置集合”;如有问题,单击上一步进行修改。
共100000条
提示

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