华为云用户手册

  • 步骤二:目标集群评估 在kspider执行完毕后,除了“cluster-*.json”文件之外,还会在当前目录下生成“preferred-*.json”文件。这个文件基于源集群的规模和节点规格进行初步评估,并提供关于目标集群版本和规模的推荐信息。这有助于您更好地规划和准备迁移过程。 “preferred-*.json”文件说明如下: { K8sVersion:Kubernetes版本,字符串类型 Scale:集群规模,字符串类型 Nodes:节点信息 CPU:CPU,字符串类型 Memory:内存,字符串类型 Arch:架构,字符串类型 KernelVersion:OS内核版本,字符串类型 ProxyMode:集群Proxy模式,字符串类型 ELB:是否依赖ELB,布尔型 } 上述文件中每个字段的评估规则如下: 表1 评估规则 字段 评估规则 Kubernetes版本 如果是1.21以下版本,推荐U CS 集群主要发行版本(例如1.21,随着时间发展会发生变化),大于主要发行版本时,将推荐UCS集群的最新版本。 集群规模 源集群节点数<25,推荐50节点规模 25≤源集群节点数<100,推荐200节点规模 100≤源集群节点数<500,推荐1000节点规模 源集群节点数≥500,推荐2000节点规模 CPU+内存 统计数量最多的那一种规格 架构 统计数量最多的那一种规格 OS内核版本 统计数量最多的那一种规格 集群Proxy模式 根据集群规模来设置,大于1000节点规模的集群,推荐使用ipvs,1000以内的推荐使用iptables。 是否依赖ELB 源集群是否有负载均衡类型的Service 示例: { "K8sVersion": "v1.21", "Scale": 50, "Nodes": { "CPU": "4", "Memory": "7622952Ki", "Arch": "amd64", "KernelVersion": "3.10.0-862.14.1.5.h520.eulerosv2r7.x86_64" }, "ELB": false, "ProxyMode": "iptables" } 评估结果仅供参考,最终选择什么版本、规模的目标集群还需要您综合判断。
  • 相关操作 通过UCS控制台,您还可以执行表2中的操作。 表2 相关操作 操作 说明 YAML创建 单击右上角“YAML创建”,可使用已有的YAML创建工作负载。 查看工作负载详情 单击已创建工作负载的名称,在“实例列表”页签下,可以查看Pod相关详情信息。 事件:可以设置查询条件,比如设置事件产生的时间段或搜索事件名称,查看相关事件。 容器列表:可以查看相应实例的容器名称、状态、镜像以及启停次数等。 查看YAML:可以查看相应实例的YAML文件。 编辑YAML 单击工作负载名称后的“编辑YAML”,可查看并编辑当前工作负载的YAML文件。 升级 单击工作负载名称后的“升级”。 更改工作负载信息,操作步骤与创建工作负载时一致。 单击“提交”,升级工作负载。 删除 单击工作负载名称后的“删除”,并单击“是”进行确认。 批量删除 勾选需要删除的工作负载。 单击左上角的“批量删除”。 单击“是”进行确认。
  • 创建守护进程集 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。 在左侧导航栏中选择“工作负载”,切换至“守护进程集”页签,并单击右上角“镜像创建”。 设置工作负载基本信息。 负载类型:选择“守护进程集”。 负载名称:新增工作负载的名称,命名必须唯一。 命名空间:选择工作负载所在命名空间。如需新建命名空间,请参见创建命名空间。 描述:工作负载的描述信息。 设置工作负载容器配置。 Pod中可以配置多个容器,您可以单击右侧“添加容器”为Pod配置多个容器并分别进行设置。 基本信息: 表1 基本信息参数说明 参数 说明 容器名称 为容器命名。 镜像名称 单击后方“选择镜像”,选择容器使用的镜像。 我的镜像:当前区域下华为云镜像仓库中的镜像。若无可用的镜像,可单击“上传镜像”进行上传。 镜像中心:开源镜像仓库中的官方镜像。 共享镜像:由他人账号共享的私有镜像,详情请参见共享私有镜像。 镜像版本 选择需要部署的镜像版本。 更新策略 镜像更新/拉取策略。勾选“总是拉取镜像”表示每次都从镜像仓库拉取镜像;如不勾选则优先使用节点已有的镜像,如果没有这个镜像再从镜像仓库拉取。 CPU配额 申请:容器需要使用的最小CPU值,默认0.25Core。 限制:允许容器使用的CPU最大值。建议设容器配额的最高限额,避免容器资源超额导致系统故障。 内存配额 申请:容器需要使用的内存最小值,默认512MiB。 限制:允许容器使用的内存最大值。如果超过,容器会被终止。 关于CPU/内存配额申请和限制的具体说明请参见设置容器规格。 初始化容器 选择容器是否作为初始化容器。 Init 容器是一种特殊容器,在 Pod 内的应用容器启动之前运行。详细说明请参见Init 容器。 生命周期:设置生命周期回调函数可在容器的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以设置相应的函数。目前提供的生命周期回调函数有启动命令、启动后处理、停止前处理,详情请参见设置容器生命周期。 健康检查:设置健康检查可以在容器运行过程中定时检查容器的健康状况,详情请参见设置容器健康检查。 环境变量:容器运行环境中设定的一个变量,通过环境变量设置的配置项不会随着Pod生命周期结束而变化,详情请参见设置环境变量。 数据存储:配置容器存储,可以使用本地存储和存储卷声明(PVC)。建议使用PVC将工作负载Pod数据存储在 云存储 上。若存储在本地磁盘上,节点异常无法恢复时,本地磁盘中的数据也将无法恢复。容器存储相关内容请参见容器存储。 安全设置:对容器权限进行设置,保护系统和其他容器不受其影响。请输入用户ID,容器将以当前用户权限运行。 镜像访问凭证:用于访问镜像仓库的凭证。该凭证仅访问私有镜像仓库时使用,如所选镜像为公开镜像,则无需选择密钥。密钥的创建方法请参见创建密钥。 (可选)单击服务配置栏的,进行工作负载服务配置。 若工作负载需要和其它服务互访,或需要被公网访问,您需要添加服务(Service),设置访问方式。工作负载访问的方式决定了这个工作负载的网络属性,不同访问方式的工作负载可以提供不同网络能力,操作详情请参见服务与路由。 您也可以在创建完工作负载之后再创建Service,参见集群内访问(ClusterIP)和节点访问(NodePort)。 Service名称:新增服务名称,用户可自定义,服务名称必须唯一。 访问类型: 集群内访问(ClusterIP):只能集群内访问服务。 节点访问(NodePort):可以通过集群内任意节点访问到服务。 服务亲和(仅节点访问设置): 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。 端口配置: 协议:TCP或UDP,请根据业务的协议类型选择。 服务端口:容器端口映射到集群虚拟IP上的端口,用虚拟IP访问应用时使用,端口范围为1-65535,可任意指定。 容器端口:容器镜像中应用程序实际监听的端口,需用户确定。例如:nginx程序实际监听的端口为80。 节点端口(仅节点访问设置):容器端口映射到节点私有IP上的端口,用私有IP访问应用时使用,端口范围为30000-32767,建议选择“自动生成”。 自动生成:系统会自动分配端口号。 指定端口:指定固定的节点端口,默认取值范围为30000-32767。若指定端口时,请确保同个集群内的端口唯一性。 (可选)单击“展开高级配置”,设置工作负载高级配置。 升级策略:指定守护进程集的升级方式,包括整体替换升级和逐步滚动升级,详细参数说明请参见工作负载升级策略配置。 滚动升级:滚动升级将逐步用新版本的实例替换旧版本的实例,升级的过程中,业务流量会同时负载均衡分布到新的和旧的实例上,因此业务不会中断。 替换升级:守护进程集的替换升级,需要手动删除旧实例,再创建新实例。升级过程中业务会中断。 调度策略:您可设置亲和(affinity)与反亲和(anti-affinity)实现Pod的计划性调度,详细信息请参见调度策略(亲和与反亲和)。 标签与注解:您可以单击“添加”为Pod增加标签或注解,新增标签或注解的键不能与已有的重复。 单击“下一步:调度与差异化”,对选择的集群进行调度与差异化配置。在选择可调度集群后,可对容器进行“差异化配置”。 调度策略: 调度方式: 复制分发:工作负载将在勾选的所有集群中进行部署。 部署集群:单击集群即可将其勾选为工作负载可调度的集群,集群个数请您根据自身业务进行确定。 差异化配置: 工作负载在不同的集群中部署可进行差异化的配置。在选择可调度集群后单击对应集群右上角,即可对每个集群进行差异化配置,差异化后的容器配置只对该集群生效。 具体参数说明请参见容器配置。 设置完成后,单击“创建工作负载”完成创建。
  • 操作步骤 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”。 查找目标服务。 如您已知目标服务名称,可使用菜单顶部的搜索框,按照服务名称查询所需的服务,以Prometheus为例,如图1所示。 图1 查找目标服务 如您不知道目标服务名称,可在左侧筛选栏中按照服务类型、应用场景等条件来筛选。云原生服务中心提供以下筛选条件,帮助用户快速获取所需。 筛选条件 简介 类型 按照服务功能进行分类,目前有“运行时”、“流媒体&消息”、“集成交付”、“数据库”、“日志”、“监控”、“大数据”、“开发工具”、“网络”、“安全”、“AI/机器学习”。 架构 服务支持的架构类型,当前分为“X86_64”和 “ARM”。 交付方式 分为“Operator”和“Helm”。 场景 分为“云”和“边”。 价格 分为“免费”和“付费“。 单击服务名称进入服务详情页,如图2所示,您可以在此处查看服务的基本信息、详情介绍,以及通过右侧“帮助链接”下的“Provider”和“Maintainers”获取提供商的联系方式进行咨询(部分服务可能没有该信息)。 图2 服务详情页 单击“订阅”按钮确认订阅。订阅成功后,您可直接单击“创建实例”进行部署,也可在“我的订阅”中查询此服务再创建实例,具体操作步骤请参见实例创建。
  • 符合策略实例的资源定义 示例中readOnlyRootFilesystem字段为true,符合策略实例。 apiVersion: v1 kind: Pod metadata: name: nginx-readonlyrootfilesystem-allowed labels: app: nginx-readonlyrootfilesystem spec: containers: - name: nginx image: nginx securityContext: readOnlyRootFilesystem: true
  • 不符合策略实例的资源定义 示例中readOnlyRootFilesystem字段为false,不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: nginx-readonlyrootfilesystem-disallowed labels: app: nginx-readonlyrootfilesystem spec: containers: - name: nginx image: nginx securityContext: readOnlyRootFilesystem: false
  • 策略实例示例 以下策略实例展示了策略定义生效的资源类型。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sPSPReadOnlyRootFilesystem metadata: name: psp-readonlyrootfilesystem spec: match: kinds: - apiGroups: [""] kinds: ["Pod"]
  • 工作负载风险 工作负载风险概览统计该舰队内已开启监控的集群节点发生的K8s Warning事件,包括事件名称、类型、所属集群名称、资源类型、资源名称、事件内容、发生时间和发生次数等。单击上方搜索框,选择属性类型,再输入对应的关键字,即可查询该条件下的事件。单击,可对事件进行排序。 单击右上角条件框、可对列表内的工作负进行筛选。 图2 工作负载风险概览 仅展示最近100条K8S Warning事件,更多事件请前往集群事件页查看。
  • 策略实例示例 以下策略实例展示了策略定义生效的资源类型,parameters中指定了提示信息message以及label的约束定义。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sRequiredLabels metadata: name: all-must-have-owner spec: match: kinds: - apiGroups: [""] kinds: ["Namespace"] parameters: message: "All namespaces must have an `owner` label that points to your company username" labels: - key: owner allowedRegex: "^[a-zA-Z]+.agilebank.demo$"
  • 基本信息 策略类型:合规 推荐级别:L1 生效资源类型:* 参数: labels: 键值对数组,key/ allowedRegex key: a8r.io/owner # Matches email address or github user allowedRegex: ^([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}|[a-z]{1,39})$
  • 创建节点 登录集群控制台,单击目标集群名称进入集群详情页。 在左侧导航栏中单击“节点管理”,单击右上角“创建节点”。 选择需要的节点规格。 输入节点名称,可根据实际情况选择磁盘大小及数据盘数量。 配置完成后,单击“下一步:规格确认”。 规格确认无误后单击“提交”;如有问题,单击“上一步”返回修改。 节点创建过程中,可用区、节点类型、容器引擎、操作系统、系统盘及数据盘类型都不可选。 数据盘可分局实际情况增加数量,最多可额外增加4块。 数据盘和系统盘最小默认大小为100GB。
  • 不符合策略实例的资源定义 Pod的automountServiceAccountToken字段设为true,不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: nginx-automountserviceaccounttoken-disallowed labels: app: nginx-automountserviceaccounttoken spec: automountServiceAccountToken: true containers: - name: nginx image: nginx
  • 符合策略实例的资源定义 Pod的automountServiceAccountToken字段设为false,符合策略实例。 apiVersion: v1 kind: Pod metadata: name: nginx-automountserviceaccounttoken-allowed labels: app: nginx-not-automountserviceaccounttoken spec: automountServiceAccountToken: false containers: - name: nginx image: nginx
  • 策略实例示例 示例声明了match匹配的对象不能把automountServiceAccountToken字段设为true。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sPSPAutomountServiceAccountTokenPod metadata: name: psp-automount-serviceaccount-token-pod spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] excludedNamespaces: ["kube-system"]
  • 不符合策略实例的资源定义 示例中ClusterRole的生效对象中有endpoints,不符合策略实例。 kind: ClusterRole metadata: annotations: rbac.authorization.kubernetes.io/autoupdate: "true" creationTimestamp: null labels: kubernetes.io/bootstrapping: rbac-defaults rbac.authorization.k8s.io/aggregate-to-edit: "true" name: system:aggregate-to-edit rules: - apiGroups: - apps resources: - endpoints verbs: - create - delete - deletecollection - patch - update
  • 符合策略实例的资源定义 示例中ClusterRole的生效对象中没有endpoints,符合策略实例。 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: rbac.authorization.kubernetes.io/autoupdate: "true" creationTimestamp: null labels: kubernetes.io/bootstrapping: rbac-defaults rbac.authorization.k8s.io/aggregate-to-edit: "true" name: system:aggregate-to-edit rules: - apiGroups: - "" resources: - pods/attach - pods/exec - secrets - services/proxy verbs: - get - list - watch
  • 策略实例示例 以下策略实例展示了策略定义生效的资源类型。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sBlockEndpointEditDefaultRole metadata: name: block-endpoint-edit-default-role spec: match: kinds: - apiGroups: ["rbac.authorization.k8s.io"] kinds: ["ClusterRole"]
  • 在控制台注销本地集群 仅在控制台进行注销操作,不会删除集群。 进入 UCS 界面,左侧导航栏选择“容器舰队”。 找到待删除的本地集群: 已加入容器舰队的本地集群,先进入对应的容器舰队控制台,然后再左侧导航栏选择容器集群。 未加入容器舰队的本地集群,单击容器舰队列表最上面的“未加入舰队的集群”即可。 单击本地集群右上角红色的注销按钮,会弹出注销确认框。 确认待注销的集群名称等信息,并勾选“我已阅读并知晓上述信息”,单击“确定”即可在控制台注销本地集群。
  • 本地资源清理 该操作可能导致与该集群有绑定关系的资源(比如指定调度集群的负载等)无法正常使用,请谨慎操作,避免对运行中的业务造成影响。 在控制台注销并没有真正删除本地集群,您需要手动进入集群内完成删除过程。 复制卸载之后控制台返回的卸载命令。 进入本地集群中的节点内,执行卸载命令。 ./ucs-ctl delete cluster cluster_name cluster_name取决于集群具体的名字。
  • 流水线发布流程 图1 流水线发布流程 流水线发布的流程如图1所示,具体步骤如下: 配置项目与扩展点。在该小节,您将会为应用开通新的流水线项目,并为该项目配置跨服务权限。 新建发布环境。在该小节,您将会为应用建立新的代码仓库,并配置环境信息以及关联的UCS集群舰队信息。 配置发布策略。在该小节,您将会根据预置的发布模板,配置应用的发布策略。 配置流水线及参数。在该小节,您将会对发布流程进行图形化编排,通过发布插件选择环境级别、发布环境以及产物地址。 发布舰队应用。在该小节,您将会通过流水线,结合上述步骤的调测、编排,实现从源码构建到舰队应用发布全流程的自动化体验。
  • 相关操作 通过UCS控制台,您还可以执行表3中的操作。 表3 相关操作 操作 说明 YAML创建 单击右上角“YAML创建”,可使用已有的YAML创建服务。 查看详情 选择PVC所在的命名空间。 (可选)根据PVC名称进行搜索。 单击PVC名称即可查看存储卷声明详情,包括基本信息以及各集群的部署信息。 在存储卷声明详情页的部署集群栏中单击“查看YAML”,可查看各个集群中部署的PVC实例YAML,并支持下载。 查看YAML 单击PVC名称后的“查看YAML”,可查看当前PVC的YAML文件。 更新(存储卷声明PVC扩容) 单击PVC名称后的“更新”。 根据PVC参数更改部署集群参数,或单击“扩容”调整存储卷容量大小。 单击“确认”提交已修改的信息。 删除 单击PVC名称后的“删除”,并单击“是”进行确认。 批量删除 勾选需要删除的PVC。 单击左上角的“批量删除”。 单击“是”进行确认。
  • 创建存储卷声明 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。 在左侧导航栏中选择“容器存储”,在“存储卷声明PVC”页签下单击右上角“创建存储卷声明”。 设置通用配置参数。 名称:新建存储卷声明名称,命名必须唯一。 命名空间:新建存储卷声明所属的命名空间,默认配置为default。 部署集群:单击,选择存储要部署的集群。 华为云集群:添加部署集群参数说明请参见表1。 图1 添加部署华为云集群 非华为云集群:添加部署集群参数说明请参见表2。 图2 添加部署非华为云集群 表1 添加部署华为云集群 参数 参数说明 集群 选择部署集群为华为云集群。 存储类 csi-disk:即云硬盘EVS,需指定存储可用区和云硬盘类型。 可用区:云硬盘所在的可用区,不同可用区下支持的云硬盘类型可能存在差异。 云硬盘类型:可选择普通IO、高IO或超高IO,不同IO类型对应的存储类型依次为SATA、SAS、SSD。 csi-nas:即文件存储SFS。 csi-obs:即 对象存储OBS ,需指定实例类型和对象存储类型,并添加访问密钥。 实例类型:对象桶或并行文件系统。并行文件系统是OBS经过优化的高性能文件系统,提供更高性能的对象访问。 对象存储类型:标准存储和低频访问存储。低频访问存储是高可靠、较低成本的实时访问存储服务,适用于不频繁访问(平均一年少于12次)的场景,例如文件同步/共享、企业备份。 访问模式 选择csi-disk(云硬盘)时,访问模式为ReadWriteOnce (RWO),即存储卷只能以读写模式被单个节点同时加载。 选择csi-nas(文件存储)或csi-obs(对象存储)时,访问模式为ReadWriteMany (RWX),即存储卷能够以读写模式被多个节点同时加载。 容量(GiB) 新建存储的容量,容量不能小于10GiB。 仅选择csi-disk(云硬盘)和csi-nas(文件存储)时可设置;选择csi-obs(对象存储)时为按需使用,无需设置容量。 表2 添加部署非华为云集群 参数 参数说明 集群 选择部署集群为非华为云集群。 存储类 集群支持的存储类(StorageClass)取决于注册集群的实际环境,相关内容请参见存储类。 访问模式 ReadWriteOnce (RWO):即存储卷只能以读写模式被单个节点同时加载。 ReadWriteMany (RWX):即存储卷能够以读写模式被多个节点同时加载。 容量(GiB) 新建存储的容量,容量不能小于10GiB。 注解 输入键、值后单击“添加”,对应的注解将以Key/value键值对的形式附加到存储卷声明对象上。 重复添加,可对多个集群进行差异化的存储卷声明设置。 单击“确认”创建成功后,可单击PVC名称查看存储卷声明详情。
  • 符合策略实例的资源定义 externalIPs中的IP为允许列表中的IP,符合策略实例。 apiVersion: v1 kind: Service metadata: name: allowed-external-ip spec: selector: app: MyApp ports: - name: http protocol: TCP port: 80 targetPort: 8080 externalIPs: - 203.0.113.0
  • 不符合策略实例的资源定义 externalIPs中的IP不为允许列表中的IP,不符合策略实例。 apiVersion: v1 kind: Service metadata: name: disallowed-external-ip spec: selector: app: MyApp ports: - name: http protocol: TCP port: 80 targetPort: 8080 externalIPs: - 1.1.1.1
  • 策略实例示例 服务的externalIP仅允许allowedIPs中定义的IP。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sExternalIPs metadata: name: external-ips spec: match: kinds: - apiGroups: [""] kinds: ["Service"] parameters: allowedIPs: - "203.0.113.0"
  • 符合策略实例的资源定义 CPU和内存的Request小于配置的最大值,符合策略实例。 apiVersion: v1 kind: Pod metadata: name: opa-allowed labels: owner: me.agilebank.demo spec: containers: - name: opa image: openpolicyagent/opa:0.9.2 args: - "run" - "--server" - "--addr=localhost:8080" resources: requests: cpu: "100m" memory: "1Gi"
  • 不符合策略实例的资源定义 内存的Request大于约束的最大值,不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: opa-disallowed labels: owner: me.agilebank.demo spec: containers: - name: opa image: openpolicyagent/opa:0.9.2 args: - "run" - "--server" - "--addr=localhost:8080" resources: requests: cpu: "100m" memory: "2Gi"
  • 策略实例示例 示例配置了CPU和内存的最大Request。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sContainerRequests metadata: name: container-must-have-requests spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] parameters: cpu: "200m" memory: "1Gi"
  • 事件 事件搜索 事件页面的主要功能是展示按照一定条件搜索出的指定资源的事件信息,包括Normal/Warning事件趋势和详情。这样,用户可以更加方便地查看与该资源相关的事件信息。 您可以按照如下几种方式进行事件搜索。 在输入框里输入要搜索的事件名称,选择命名空间或者事件类型,单击“搜索”按钮进行搜索。 单击“高级搜索”,按照工作负载、节点、容器组、事件内容、资源类型或者资源名称进行搜索。 也可以在左上角选择事件发生的时间范围,包括近1小时、近1天、近1周和自定义。 图4 搜索事件 事件列表 您可以在列表中查看满足搜索条件的事件详情,包括最近发生时间、事件名称、资源类型、资源名称、事件内容、事件类型和发生次数。单击操作列的“历史事件”,在弹出的对话框中将展示当前资源类型和资源名称下的所有事件。 图5 事件列表
  • 授权流程 图1 给用户授予Kubernetes资源权限流程 创建用户。 管理员帐号在 IAM 控制台创建一个用户。 为用户授予UCS系统策略。 授予Kubernetes资源权限之前,必须先为用户授予UCS系统策略的权限,本例中应该授予UCS ReadOnlyAccess策略(UCS服务只读权限)。 创建权限。 管理员帐号在UCS控制台创建权限,选择“只读权限”的权限类型,表示对所有Kubernetes资源对象的只读权限。 关联权限至舰队或未加入舰队的集群。 将权限关联至舰队,关联时需要选择权限作用的命名空间。也可以关联权限至未加入舰队的集群。 验证权限是否生效。 新创建的用户登录控制台,验证只读权限是否生效。
共100000条