华为云用户手册

  • 克隆事件 事件创建后,支持将事件克隆到当前应用中。例如,应用A中存在两个或多个功能相似的事件,此时可基于已创建的事件克隆出一个新事件,基于克隆后的事件进行修改,减少重复创建的操作。 参考登录AstroZero新版应用设计器中操作,登录应用设计器。 在左侧导航栏中,选择“数据”。 将鼠标放在对应的事件上,单击,选择“克隆”。 设置事件的唯一标识,单击“确认”。 克隆成功后,在事件目录下,可查看到克隆成功的事件。
  • 删除事件 事件不再使用时,可通过删除功能,将事件从应用中删除,避免占用账号的资源配额。 参考登录AstroZero新版应用设计器中操作,登录应用设计器。 在左侧导航栏中,选择“数据”。 将鼠标放在对应的事件上,单击,选择“删除”。 在弹出的确认框中,勾选“同时删除资源中的记录?”,单击“确认”。 删除事件时,如果不勾选“同时删除资源中的记录?”,仅会删除该事件,使用该事件的功能模块不会受到影响可正常使用。
  • 移动事件 事件创建完成后,支持将事件移动到拥有开发权限的应用中。例如,A应用中创建的事件,在B应用中也会用到,为避免多次重复创建,可以将A中的事件先克隆,再移动到B应用中。 参考登录AstroZero新版应用设计器中操作,登录应用设计器。 在左侧导航栏中,选择“数据”。 将鼠标放在对应的事件上,单击,选择“移动”。 在移动到其他应用中,选择待移动的元素,单击“下一步”。 选择事件待移动到的应用,单击“确认”。 只支持移动到有开发权限的应用下。
  • 什么是视图? 视图是业务数据在不同场景的展示页面,其功能是根据不同的用户角色或不同的业务场景,展现出不同的目标数据。AstroZero零代码中的每个工作表默认都会存在一个名叫“全部”的表格视图,该视图会显示所有的数据。一个表单中,可以包含多个视图,同一个表单中的所有视图共用一套数据,如果数据被修改,则该数据所在的所有视图中也会同步修改。 图5 应用与表单、视图之间的关系 例如,某点餐收集应用,按照部门点餐的情况,为每个部门各建立一个视图,如A部门点餐收集、B部门点餐收集、C部门点餐收集。在视图里(编辑视图功能)筛选出对应部门的信息,便于订餐员快速管理。 图6 逻辑视图
  • 什么是表单? 表单由文本框、单选、多选和下拉列表等组件构成,用于用户填报提交数据,并收集数据的工具。一个应用中,可以创建一个或多个表单,一个表单管理一类数据,多个表单共同组成了一个应用。 在AstroZero零代码平台中,数据的收集和录入都需要对应的工作表,如AstroZero零代码平台“新手指引”应用由“Hi,小伙伴”、“新手指引”、“试试问卷”、“试试小订餐”、“试试设备故障管理”和“期待你的应用哦”六张表单组成。 图3 表单
  • 安全组规则修改(可选) 该解决方案使用22端口用来远程登录弹性云服务器 E CS ,默认对该方案创建的VPC子网网段放开,请参考修改安全组规则,配置IP地址白名单,以便能正常访问服务。 安全组实际是网络流量访问策略,包括网络流量入方向规则和出方向规则,通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。 如果您的实例关联的安全组策略无法满足使用需求,比如需要添加、修改、删除某个TCP端口,请参考以下内容进行修改。 添加安全组规则:根据业务使用需求需要开放某个TCP端口,请参考添加安全组规则添加入方向规则,打开指定的TCP端口。 修改安全组规则:安全组规则设置不当会造成严重的安全隐患。您可以参考修改安全组规则,来修改安全组中不合理的规则,保证云服务器等实例的网络安全。 删除安全组规则:当安全组规则入方向、出方向源地址/目的地址有变化时,或者不需要开放某个端口时,您可以参考删除安全组规则进行安全组规则删除。
  • 资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,实际以收费账单为准,具体请参考华为云官网价格: 表1 资源和成本规划(包年包月) 华为云服务 配置示例 每月预估花费 弹性云服务器 ECS 区域:华北-北京四 计费模式:包年包月 规格:X86计算 | ECS | s6.large.2 | 2vCPUs | 4GiB 镜像:CentOS 7.8 64bit 系统盘:高IO | 40GB 数据盘:通用型SSD | 100GB 购买时长:1个月 购买量:1 236.20元 弹性公网IP EIP 区域:华北-北京四 计费模式:包年包月 线路:全动态BGP 公网带宽:按带宽计费 带宽大小:5Mbit/s 购买时长:1个月 购买量:1 115.00元 合计 351.20 元 表2 资源和成本规划(按需计费) 华为云服务 计费说明 每月花费 弹性云服务器 按需计费:0.48/小时 区域:华北-北京四 计费模式:按需计费 规格:X86计算 | ECS | s6.large.2 | 2vCPUs | 4GiB 镜像:CentOS 7.8 64bit 系统盘:高IO | 40GB 数据盘:通用型SSD | 100GB 购买时长:1个月 购买量:1 345.60元 弹性公网IP 按需计费(按带宽计费):0.34元/5M/小时 区域:华北-北京四 计费模式:按带宽计费 线路:全动态BGP 公网带宽:按带宽计费 带宽大小:5Mbit/s 购买时长:1个月 购买量:1 244.80元 合计 590.40元
  • 操作步骤 下载ucs-ctl二进制工具,放到任一台本地集群的管控节点/root/ucs目录下。 将所有节点密码信息记录到表格中,并保存到二进制所在节点/root/ucs/update_cert.csv。格式请参考表1。 表1 表格模板 字段 说明 Node IP 必填,节点IP地址 Node Role 必填,节点角色(选填master/node) User 必填,节点登录用户 Password 选填,节点登录密码 Auth Type 选填,节点认证类型(选填password/key) Key Path 选填,节点登录密钥路径 样例如下: Node IP,Node Role,User,Password,Auth Type,Key Path 192.168.0.145,master,root,xxx,password, 192.168.0.225,master,root,xxx,password, 192.168.0.68,master,root,xxx,password, 192.168.0.89,node,root,xxx,password, 导出环境变量 export CUSTOM_DOMAIN={ucs_endpoint},10.247.0.1 其中ucs_endpoint为server访问地址,可通过以下方式获取。 cat /var/paas/srv/kubernetes/kubeconfig | grep server 执行证书更新。 cd /root/ucs ./ucs-ctl kcm update-cert {cluster_name} -c update_cert.csv 失败后重试。 ./ucs-ctl kcm update-cert {cluster_name} -c update_cert.csv -r 失败后回滚。 ./ucs-ctl kcm rollback-cert {cluster_name} -c update_cert.csv
  • 处理手段 可执行如下操作进行资源残留清理,并在清理后重新开启监控。 kubectl delete ns monitoring kubectl delete ClusterRole cluster-problem-detector custom-metrics-resource-aggregated-reader event-exporter prometheus-operator prometheus-server ucsaddon-cie-collector-kube-state-metrics kubectl delete ClusterRoleBinding ucsaddon-cie-collector-kube-state-metrics cluster-problem-detector event-exporter prometheus-operator prometheus-server kubectl delete apiservice v1beta1.custom.metrics.k8s.io
  • 如何获取访问密钥AK/SK? 在注册多云集群时,您需要获取访问密钥AK/SK(Access Key ID/Secret Access Key),以便在AWS账户中创建与多云集群相关的资源(如EC2实例、安全组、弹性IP和负载均衡器等)。本文将为您提供获取访问密钥AK/SK的方法。 该密钥将被加密妥善保存,您无需担心信息泄露的风险。 使用AWS 账户 ID 或账户别名、您的 IAM 用户名和密码登录到 IAM 控制台。 要获取 AWS 账户 ID,请联系您 AWS 账户的管理员。 在右上角的导航栏中,选择您的用户名,然后选择“安全凭据”。 图1 选择“安全凭据” 在“访问密钥”区域中,单击“创建访问密钥”。如果您已经有两个访问密钥,则此按钮将被停用,您必须先删除一个访问密钥,然后才能创建新的访问密钥。您也可以使用已有的密钥来创建UCS on AWS集群。 图2 创建访问密钥 在“检索访问密钥”页面上,单击“显示”获取用户的秘密访问密钥的值,或单击“下载 .csv 文件”按钮。这是您保存秘密访问密钥的唯一机会。将秘密访问密钥保存在安全位置后,请单击“完成”。 图3 获取秘密访问密钥 在您使用UCS on AWS期间,在对应的集群被删除之前,请不要轮转、停用或者删除该密钥,否则会影响集群的后续更新和删除操作。 父主题: 多云集群
  • 如何清理多云集群资源? 在多云集群注销过程中,若因某些原因导致注销失败,您可以尝试重新进行注销操作。但在此之前,请确保已经在AWS控制台手动删除了集群关联的资源。本章节将为您提供这些资源的名称和数量,您可以分别访问AWS的EC2面板和VPC面板,查看并删除相应资源。 表1中,${clusterName}为您的集群名称,${random5}为长度是5的随机字符串。 表1 资源的名称和数量 控制台 资源类型 数量 名称 EC2面板 EC2 控制节点:3 工作节点:n 控制节点:${clusterName}-cp-${random5} 工作节点:${clusterName}-md-${i}-${random5},其中${i}默认为0 安全组 5 ${clusterName}-node ${clusterName}-lb ${clusterName}-apiserver-lb ${clusterName}-controlplane default 以上安全组对应的VPC均为:${clusterName}-vpc 弹性IP 3 ${clusterName}-eip-apiserver 存储卷 节点总数 * 2 根据卷挂载的EC2实例名,判断该卷属于哪个节点 ELB 1 ${clusterName}-apiserver,对应VPC为:${clusterName}-vpc 网络接口 4 Name为空,对应VPC均为:${clusterName}-vpc VPC面板 VPC 1 ${clusterName}-vpc NAT 3 ${clusterName}-nat 对应VPC为:${clusterName}-vpc;对应子网为:${clusterName}-subnet-public-${az1} ${clusterName}-nat 对应VPC为:${clusterName}-vpc;对应子网为:${clusterName}-subnet-public-${az2} ${clusterName}-nat 对应VPC为:${clusterName}-vpc;对应子网为:${clusterName}-subnet-public-${az3} 子网 6 ${clusterName}-subnet-public-${az1} ${clusterName}-subnet-private-${az1} ${clusterName}-subnet-public-${az2} ${clusterName}-subnet-private-${az2} ${clusterName}-subnet-public-${az3} ${clusterName}-subnet-private-${az3} 以上子网对应的VPC均为:${clusterName}-vpc 路由表 7 ${clusterName}-rt-public-${az1},显式子网关联为:${clusterName}-subnet-public-${az1} ${clusterName}-rt-private-${az1},显式子网关联为:${clusterName}-subnet-private-${az1} ${clusterName}-rt-public-${az2},显式子网关联为:${clusterName}-subnet-public-${az2} ${clusterName}-rt-private-${az2},显式子网关联为:${clusterName}-subnet-private-${az2} ${clusterName}-rt-public-${az3},显式子网关联为:${clusterName}-subnet-public-${az3} ${clusterName}-rt-private-${az3},显式子网关联为:${clusterName}-subnet-private-${az3} Name为空,显式子网关联为空 以上路由表对应的VPC均为:${clusterName}-vpc 互联网网关 1 ${clusterName}-igw,对应VPC为:${clusterName}-vpc 网络ACL 1 Name为空,关联对象为“6子网”,对应VPC为:${clusterName}-vpc 父主题: 多云集群
  • 策略中心运行异常怎么办? 策略中心运行异常的可能原因为Gatekeeper插件损坏,或者被删除。根据失败情况请使用以下方案排查修复: 检查gatekeeper-system命名空间中gatekeeper-controller-manager、gatekeeper-audit这两个Deployment是否为就绪状态,如果不是,请自行排查未就绪原因。 如果这两个Deployment被删除,则可以先将策略中心功能停用后再重新启用。 父主题: 策略中心
  • 排查项一:proxy-agent的运行状态 集群从UCS注销后,原有proxy-agent配置文件中包含的认证信息将会失效,请同时删除集群中已部署的proxy-agent实例。如需再次接入UCS,必须重新从UCS控制台下载proxy-agent配置文件进行部署。 登录目标集群Master节点。 查看集群代理部署状态。 kubectl -n kube-system get pod | grep proxy-agent 如果部署成功,预期输出如下: proxy-agent-*** 1/1 Running 0 9s 说明proxy-agent部署正常,如proxy-agent没有处于正常Running状态,可以使用kubectl -n kube-system describe pod proxy-agent-***查看Pod的告警信息,详细排查思路可参考proxy-agent部署失败怎么办?。 proxy-agent默认部署两个Pod实例,存在一个Pod正常Running即可使用基本功能,但是高可用性无法保证。 打印proxy-agent的Pod日志,查看代理程序是否可以连接到UCS。 kubectl -n kube-system logs proxy-agent-*** | grep "Start serving" 如没有“Start serving”的日志打印但是proxy-agent实例状态正常,则需要继续检查其他排查项。
  • 排查项三:集群认证信息变化 如错误显示“cluster responded with non-successful status: [401][Unauthorized]”,通过观察集群三个Master节点“/var/paas/sys/log/kubernetes/auth-server.log”日志,可能是IAM网络连通故障。请确认IAM 域名 解析能力,及IAM服务连通性正常。 常见问题日志如下: Failed to authenticate token: *******: dial tcp: lookup iam.myhuaweicloud.com on *.*.*.*:53: no such host 此类日志说明,节点缺少对iam.myhuaweicloud.com解析能力,请参考安装前准备,配置对应的域名解析。 Failed to authenticate token: Get *******: dial tcp *.*.*.*:443: i/o timeout 此类日志说明,节点访问IAM服务超时,请确保节点与华为云IAM服务能正常通信。 currently only supports Agency token 此类日志说明请求不是从UCS服务发起,目前本地集群只支持UCS服务IAM Token访问。 IAM assumed user has no authorization/iam assumed user should allowed by TEAdmin 此类日志说明UCS服务访问集群故障,请联系华为技术人员进行排障。 Failed to authenticate token: token expired, please acquire a new token 此类日志说明Token存在过期现象,请使用date命令确定时间是否差距过大,如果节点时间与标准时间差距过大,请同步时间后,查看集群是否恢复。如果长时间未恢复,可能需要重装集群,请联系华为技术人员进行排障。 解决上述问题后,请使用crictl ps | grep auth | awk '{print $1}' | xargs crictl stop命令重启auth-server容器。
  • 排查项二:集群与UCS网络连接状态 公网接入: 检查集群是否绑定公网IP或配置公网NAT网关。 检查集群安全组的出方向是否放通。如需对出方向做访问控制,请联系技术支持获取目的地址和端口号。 解决网络问题后,删掉已有的proxy-agent Pod使其重新生成Pod资源,查看新建Pod的日志中是否存在“Start serving”的日志打印。 kubectl -n kube-system logs proxy-agent-*** | grep "Start serving" 日志正常打印后,刷新UCS控制台页面,查看集群是否正常连接。 私网接入: 检查集群安全组的出方向是否放通。如需对出方向做访问控制,请联系技术支持获取目的地址和端口号。 排除集群与UCS和IDC之间的网络连接故障。 根据网络连接方式不同,请参考以下文档进行故障排除。 云专线(DC):请参考故障排除。 虚拟专用网络 (VPN):请参考故障排除。 排除集群私网接入的VPCEP故障,VPCEP状态需为“已接受”。如VPCEP被误删除,则需重新创建,请参见私网接入的集群误删除VPCEP后如何恢复?。 图1 VPCEP状态 解决网络问题后,删掉已有的proxy-agent Pod使其重新生成Pod资源,查看新建Pod的日志中是否存在“Start serving”的日志打印。 kubectl -n kube-system logs proxy-agent-*** | grep "Start serving" 日志正常打印后,刷新UCS控制台页面,查看集群是否正常连接。
  • 排查思路 舰队或集群关联权限时出现异常事件的排查思路大致可根据报错信息进行定位,如表1所示。 表1 报错信息说明 报错信息 说明 推荐排查项 ClusterRole failed reason:Get \"https://kubernetes.default.svc.cluster.local/apis/rbac.authorization.k8s.io/v1/clusterroles/XXXXXXX?timeout=30s\": Precondition Required" Or Get ClusterRole failed reason:an error on the server (\"unknown\") has prevented the request from succeeding (get clusterroles.rbac.authorization.k8s.io 出现该错误的原因大概率为集群还未接入,接入集群中的proxy-agent运行状态异常,或者网络异常。 排查项一:proxy-agent的运行状态 排查项二:集群与UCS网络连接状态 Unauthorized 出现该错误的原因可能是多样的,请根据实际状态码进行排查。 例如状态码401表示用户没有访问权限,可能的原因是集群认证信息过期。 排查项三:集群认证信息变化 Get cluster namesapce[x] failed. Or Reason:namespace "x" not found. 出现该错误的原因是集群内没有对应的命名空间。 在集群下创建对应的命名空间并进行重试操作。 如:kubectl create namespace ns_name 如果不需要使用该命名空间,该异常事件可以忽略。
  • 启用策略中心失败怎么办? 策略中心启用失败时,根据失败情况请使用以下方案排查修复: 如果提示“wait for plugins status become health time out”,请检查集群状态是否正常,集群资源是否足够。检查无误后单击“重新启用”。 如果在启用策略中心后,集群列表页面或者策略实例页面显示启用失败,请按以下步骤进行排查: 请至集群列表页面,跳转至集群的工作负载页面,检查gatekeeper-system命名空间下的策略管理实例插件是否运行正常。 如果运行异常,请通过工作负载的事件排查插件实例异常的原因。 如下图: 如果提示其他错误信息,请直接单击“重新启用”。 父主题: 策略中心
  • 操作步骤 “/mnt/paas/kubernetes/kubelet/cpu_manager_state”文件储存的是原先的cpu_manager_policy,是针对原先CPU核数的绑核设置,需要进行删除。然后重启kubelet,让cpu_manager根据现有的CPU Topology进行绑核,重新生成cpu_manager_state。 因此,需要执行以下命令: rm /mnt/paas/kubernetes/kubelet/cpu_manager_state systemctl restart kubelet 等待一段时间,节点恢复正常。
  • 操作步骤 此类问题是由于Cilium社区对“Terminating”状态的Pod并不会进行Cilium Endpoint摘除,导致部分请求分流到关机节点,从而导致请求失败。请按照如下指导处理: 执行以下命令,删除“Terminating”状态的Pod。 kubectl get pods -nkube-system | grep Terminating | awk '{print $1}'|xargs kubectl delete pods -nkube-system 执行以下命令确定没有异常Pod。 kubectl get pods -nkube-system 等待数分钟后,集群控制台恢复正常。
  • 操作步骤 检查Prometheus的PVC信息,获取PVC绑定的PV所在的节点和路径。 kubectl describe pvc pvc-prometheus-server-0 -nmonitoring|grep volume.kubernetes.io/selected-node kubectl describe pvc pvc-prometheus-server-0 -nmonitoring|grep volume.kubernetes.io/targetPath 登录到存储的节点,执行df -TH,查询节点磁盘配置,并根据节点磁盘的配置进行扩容。扩容完成后,还需要完成磁盘的分区,分区操作可参考《云硬盘用户指南》扩展磁盘分区和文件系统(linux)。 扩容及分区完成后,重启普罗插件。 kubectl delete pod prometheus-server-0 -nmonitoring 重启prometheus-server-0将导致重启期间容器智能分析功能不可用,请合理选择重启时间。
  • 排查项四:集群认证信息变化 如错误显示“cluster responded with non-successful status: [401][Unauthorized]”,通过观察集群三个Master节点“/var/paas/sys/log/kubernetes/auth-server.log”日志,可能是IAM网络连通故障。请确认IAM域名解析能力,及IAM服务连通性正常。 常见问题日志如下: Failed to authenticate token: *******: dial tcp: lookup iam.myhuaweicloud.com on *.*.*.*:53: no such host 此类日志说明,节点缺少对iam.myhuaweicloud.com解析能力,请参考安装前准备,配置对应的域名解析。 Failed to authenticate token: Get *******: dial tcp *.*.*.*:443: i/o timeout 此类日志说明,节点访问IAM服务超时,请确保节点与华为云IAM服务能正常通信。 currently only supports Agency token 此类日志说明请求不是从UCS服务发起,目前本地集群只支持UCS服务IAM Token访问。 IAM assumed user has no authorization/iam assumed user should allowed by TEAdmin 此类日志说明UCS服务访问集群故障,请联系华为技术人员进行排障。 Failed to authenticate token: token expired, please acquire a new token 此类日志说明Token存在过期现象,请使用date命令确定时间是否差距过大,如果节点时间与标准时间差距过大,请同步时间后,查看集群是否恢复。如果长时间未恢复,可能需要重装集群,请联系华为技术人员进行排障。 解决上述问题后,请使用crictl ps | grep auth | awk '{print $1}' | xargs crictl stop命令重启auth-server容器。
  • 排查项一:proxy-agent的运行状态 集群从UCS注销后,原有proxy-agent配置文件中包含的认证信息将会失效,请同时删除集群中已部署的proxy-agent实例。如需再次接入UCS,必须重新从UCS控制台下载proxy-agent配置文件进行部署。 登录目标集群Master节点。 查看集群代理部署状态。 kubectl -n kube-system get pod | grep proxy-agent 如果部署成功,预期输出如下: proxy-agent-*** 1/1 Running 0 9s 说明proxy-agent部署正常,如proxy-agent没有处于正常Running状态,可以使用kubectl -n kube-system describe pod proxy-agent-***查看Pod的告警信息,详细排查思路可参考proxy-agent部署失败怎么办?。 proxy-agent默认部署两个Pod实例,存在一个Pod正常Running即可使用基本功能,但是高可用性无法保证。 打印proxy-agent的Pod日志,查看代理程序是否可以连接到UCS。 kubectl -n kube-system logs proxy-agent-*** | grep "Start serving" 如没有“Start serving”的日志打印但是proxy-agent实例状态正常,则需要继续检查其他排查项。
  • 排查项二:集群与UCS网络连接状态 公网接入: 检查集群是否绑定公网IP或配置公网NAT网关。 检查集群安全组的出方向是否放通。如需对出方向做访问控制,请联系技术支持获取目的地址和端口号。 解决网络问题后,删掉已有的proxy-agent Pod使其重新生成Pod资源,查看新建Pod的日志中是否存在“Start serving”的日志打印。 kubectl -n kube-system logs proxy-agent-*** | grep "Start serving" 日志正常打印后,刷新UCS控制台页面,查看集群是否正常连接。 私网接入: 检查集群安全组的出方向是否放通。如需对出方向做访问控制,请联系技术支持获取目的地址和端口号。 排除集群与UCS和IDC之间的网络连接故障。 根据网络连接方式不同,请参考以下文档进行故障排除。 云专线(DC):请参考故障排除。 虚拟专用网络(VPN):请参考故障排除。 排除集群私网接入的VPCEP故障,VPCEP状态需为“已接受”。如VPCEP被误删除,则需重新创建,请参见私网接入的集群误删除VPCEP后如何恢复?。 图1 VPCEP状态 解决网络问题后,删掉已有的proxy-agent Pod使其重新生成Pod资源,查看新建Pod的日志中是否存在“Start serving”的日志打印。 kubectl -n kube-system logs proxy-agent-*** | grep "Start serving" 日志正常打印后,刷新UCS控制台页面,查看集群是否正常连接。
  • 排查项三:集群kube-apiserver状态 集群接入UCS时,可能出现如图2所示的异常信息,错误显示“please check the health status of kube apiserver: ...”。 图2 kube-apiserver状态异常 如出现以上信息,说明proxy-agent无法和集群apiserver进行正常通信,由于不同用户待接入集群的网络环境配置不同,这里无法提供统一的解决方案,需要您自行解决集群网络问题后进行重试。 登录UCS控制台,在左侧导航栏选择“容器舰队”页面。 登录目标集群Master节点,检查proxy-agent的Pod是否可以访问待接入集群的apiserver。 参考命令: kubectl exec -ti proxy-agent-*** -n kube-system /bin/bash # 访问集群的kube-apiserver curl -kv https://kubernetes.default.svc.cluster.local/readyz 如无法正常访问,请解决集群网络问题后,在UCS控制台重新注册集群,并重新部署proxy-agent。
  • 排查思路 集群处于异常状态的排查思路大致可根据报错信息进行定位,如表1所示。 表1 报错信息说明 报错信息 说明 推荐排查项 “currently no agents available, please make sure the agents are correctly registered” 出现该错误的原因大概率为接入集群中的proxy-agent运行状态异常或网络异常。 排查项一:proxy-agent的运行状态 排查项二:集群与UCS网络连接状态 “please check the health status of kube apiserver: ...” 出现该错误的原因大概率为集群内部kube-apiserver无法访问。 排查项三:集群kube-apiserver状态 “cluster responded with non-successful status code: ...” 出现该错误的原因可能是多样的,请根据实际状态码进行排查。 例如状态码401表示用户没有访问权限,可能的原因是集群认证信息过期。 排查项四:集群认证信息变化 “cluster responded with non-successful message: ...” 出现该错误的原因可能是多样的,请根据实际信息进行排查。 例如“Get "https://172.16.0.143:6443/readyz?timeout=32s\": context deadline exceeded”显示访问apiserver超时,可能是因为集群apiserver发生故障。 - “Current cluster version is not supported in UCS service.” 出现该错误的原因是集群版本不符合要求:接入UCS服务的Kubernetes集群版本必须为1.19及以上。 -
  • 操作步骤 修改“/etc/default/grub”文件的GRUB_CM DLI NE_LINUX配置项,添加systemd.unified_cgroup_hierarchy=no,关闭cgroup v2。 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 systemd.unified_cgroup_hierarchy=no" 使用sudo grub-mkconfig -o /boot/grub/grub.cfg命令重新生成引导。 执行reboot重启机器。
  • 问题描述 etcd kubernetes容器无法拉起,执行journalctl -u containerd查看containerd日志,看到以下日志: applying cgroup configuration for process caused \\\"mountpoint for cgroup not found\\\"\"\n 使用stat -fc %T /sys/fs/cgroup/查看cgroup版本为cgroup2fs,该问题根因为当前kubernetes版本cgroup v2暂未GA,需要进行cgroup降级。
  • 操作步骤 于安装节点获取节点清理脚本。 在解压后的“/var/paas/.ucs-package/ucs-onpremise/scripts/”目录下,即可获取清理脚本uninstall_node.sh。 将清理脚本拷贝到待清理的节点。 登录到待清理的节点上,执行以下命令进行清理操作: bash uninstall_node.sh 为了尽可能减少残留进程或者数据,清理脚本支持多次执行。 清理脚本执行完成后,重启节点。 重复执行上述操作,清理其他节点。
  • 操作步骤 执行以下命令打开kube-state-metrics工作负载对应的YAML文件。 kubectl edit deployment kube-state-metrics -nmonitoring 修改kube-state-metrics的启动参数。 例如需要采集Pod的所有labels时,则将kube-state-metrics的启动参数修改为: --metric-labels-allowlist=pods=[*],nodes=[node,failure-domain.beta.kubernetes.io/zone,topology.kubernetes.io/zone] kube-state-metrics将开始采集Pod和Node的labels指标,并通过kubectl edit servicemonitor kube-state-metrics -nmonitoring查询kube_pod_labels是否在普罗的采集任务中。 如需采集annotation,则在启动参数中以相同方法添加参数--metric-annotations-allowlist。 参考文档:https://github.com/kubernetes/kube-state-metrics/blob/v2.2.3/docs/cli-arguments.md
  • 问题描述 kube-prometheus-stack插件的kube-state-metrics组件负责将Prometheus的metrics数据格式转换成K8s API接口能识别的格式。kube-state-metrics组件在默认配置下,不采集K8s资源的所有labels和annotation。如需采集则需要在启动参数中修改采集配置,并同时检查名称为kube-state-metrics的ServiceMonitor中采集白名单是否添加相应指标。
共100000条