华为云用户手册

  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息, 与路径参数中的项目ID相同。
  • 操作步骤 安装Sermant Agent,请参考安装Sermant Agent。 启动应用并开启优雅上下线能力。 在应用的启动参数添加如下参数,添加启动参数后,待应用启动完成。 -javaagent:${HOME}/java-agent/java-agent.jar=appName=default-Ddynamic_config_serverAddress={ CS E_CONFIG_CENTER_ENDPOINTS}-Dregister.service.address={CSE_REGISTRY_ENDPOINTS} 相关配置介绍: appName为agent服务名称,该配置无需修改,使用default即可。 ServiceComb引擎服务注册发现地址(CSE_REGISTRY_ENDPOINTS)与CSE配置中心地址(CSE_CONFIG_CENTER_ENDPOINTS)需替换为实际地址,可参考如下方式获取: ServiceComb引擎服务注册发现地址:获取ServiceComb引擎服务注册发现地址。 CSE配置中心地址:获取ServiceComb引擎配置中心地址。 特别说明: 优雅下线是基于http协议进行通知,默认通知端口为16688,若您在虚机部署出现端口冲突问题(通常是单个ECS部署多个实例),请在启动时添加如下参数规避: # 请更换下面的端口号-Dgrace_rule_httpServerPort=16688
  • 操作步骤 安装Sermant Agent,请参考安装Sermant Agent。 启动应用。 在应用的启动参数添加如下参数,添加启动参数后,待应用启动完成。 -javaagent:${HOME}/java-agent/java-agent.jar=appName=default-Ddynamic_config_serverAddress={CSE_CONFIG_CENTER_ENDPOINTS}-Dregister.service.address={CSE_REGISTRY_ENDPOINTS}-Dgrace_rule_enableSpring=false-Dservice_meta_version={VERSION}-Dservice_meta_parameters={PA RAM ETERS} 相关配置介绍: appName为agent服务名称,该配置无需修改,使用default即可。 ServiceComb引擎服务注册发现地址{CSE_REGISTRY_ENDPOINTS}与ServiceComb引擎配置中心地址{CSE_CONFIG_CENTER_ENDPOINTS}需替换为实际地址,可参考如下方式获取: ServiceComb引擎服务注册发现地址:获取ServiceComb引擎服务注册发现地址。 ServiceComb引擎配置中心地址:获取ServiceComb引擎配置中心地址。 grace_rule_enableSpring为SpringCloud框架优雅上下线功能,所以Dubbo框架需要手动关闭(设置为fasle),否则可能会存在端口冲突的问题。 {VERSION}需替换为服务注册时的版本号(形如a.b.c的格式,其中a、b、c均为数字,默认为1.0.0),标签应用需要修改为不同于正常应用的版本号。 {PARAMETERS}需替换为服务注册时的自定义标签(形如tag1:value1,tag2:value2),即标签名与标签值以英文冒号分隔,多个标签之间以英文逗号分隔。 一般地,如果用版本号进行路由,则只需配置service_meta_version,如果用自定义标签进行路由,则只需配置service_meta_parameters。
  • 操作步骤 安装Sermant Agent,请参考安装Sermant Agent。 启动应用。 在应用的启动参数中添加如下参数,添加启动参数后,待应用启动完成。 -javaagent:${HOME}/java-agent/java-agent.jar=appName=default-Ddynamic_config_serverAddress={CSE_CONFIG_CENTER_ENDPOINTS}-Dregister.service.address={CSE_REGISTRY_ENDPOINTS}-Dservice_meta_version={VERSION}-Dservice_meta_parameters={PARAMETERS} 相关配置介绍: appName为agent服务名称,该配置无需修改,使用default即可。 ServiceComb引擎服务注册发现地址{CSE_REGISTRY_ENDPOINTS}与ServiceComb引擎配置中心地址{CSE_CONFIG_CENTER_ENDPOINTS}需替换为实际地址,可参考如下方式获取: ServiceComb引擎服务注册发现地址:获取ServiceComb引擎服务注册发现地址。 ServiceComb引擎配置中心地址:获取ServiceComb引擎配置中心地址。 {VERSION}需替换为服务注册时的版本号(形如a.b.c的格式,其中a、b、c均为数字,默认为1.0.0),标签应用需要修改为不同于正常应用的版本号。 {PARAMETERS}需替换为服务注册时的自定义标签(形如tag1:value1,tag2:value2),即标签名与标签值以英文冒号分隔,多个标签之间以英文逗号分隔。 一般地,如果用版本号进行路由,则只需配置service_meta_version,如果用自定义标签进行路由,则只需配置service_meta_parameters。
  • YAML示例 apiVersion: v1kind: Podmetadata: labels: test: liveness name: liveness-httpspec: containers: - name: liveness image: nginx:alpine args: - /server livenessProbe: httpGet: path: /healthz port: 80 httpHeaders: - name: Custom-Header value: Awesome initialDelaySeconds: 3 periodSeconds: 3 readinessProbe: exec: command: - cat - /tmp/healthy initialDelaySeconds: 5 periodSeconds: 5 startupProbe: httpGet: path: /healthz port: 80 failureThreshold: 30 periodSeconds: 10
  • 停止前处理 登录CCE控制台,在创建工作负载时,配置容器信息,选择“生命周期”。 在“停止前处理”页签,设置停止前处理的命令。 表4 停止前处理 参数 说明 命令行方式 在容器中执行指定的命令,配置为需要执行的命令。命令的格式为Command Args[1] Args[2]…(Command为系统命令或者用户自定义可执行程序,如果未指定路径则在默认路径下寻找可执行程序),如果需要执行多条命令,建议采用将命令写入脚本执行的方式。 如需要执行的命令如下: exec: command: - /uninstall.sh - uninstall_agent 请在执行脚本中填写: /uninstall uninstall_agent。这条命令表示容器结束前将执行uninstall.sh。 HTTP请求方式 发起一个HTTP调用请求。配置参数如下: 路径:请求的URL路径,可选项。 端口:请求的端口,必选项。 主机地址:请求的IP地址,可选项,默认是容器所在的节点IP。
  • 启动命令 在默认情况下,镜像启动时会运行默认命令,如果想运行特定命令或重写镜像默认值,需要进行相应设置。 Docker的镜像拥有存储镜像信息的相关元数据,如果不设置生命周期命令和参数,容器运行时将运行镜像制作时提供的默认的命令和参数,Docker将这两个字段定义为ENTRYPOINT和 CMD。 如果在创建工作负载时填写了容器的运行命令和参数,将会覆盖镜像构建时的默认命令ENTRYPOINT、CMD,规则如下: 表1 容器如何执行命令和参数 镜像 ENTRYPOINT 镜像CMD 容器运行命令 容器运行参数 最终执行 [touch] [/root/test] 未设置 未设置 [touch /root/test] [touch] [/root/test] [mkdir] 未设置 [mkdir] [touch] [/root/test] 未设置 [/opt/test] [touch /opt/test] [touch] [/root/test] [mkdir] [/opt/test] [mkdir /opt/test] 登录CCE控制台,在创建工作负载时,配置容器信息,选择“生命周期”。 在“启动命令”页签,输入运行命令和运行参数。 表2 容器启动命令 命令方式 操作步骤 运行命令 输入可执行的命令,例如“/run/server”。 若运行命令有多个,多个命令之间用空格进行分隔。若命令本身带空格,则需要加引号("")。 说明: 多命令时,运行命令建议用/bin/sh或其他的shell,其他全部命令作为参数来传入。 运行参数 输入控制容器运行命令参数,例如--port=8080。 若参数有多个,多个参数以换行分隔。
  • 启动后处理 登录CCE控制台,在创建工作负载时,配置容器信息,选择“生命周期”。 在“启动后处理”页签,设置启动后处理的参数。 表3 启动后处理-参数说明 参数 说明 命令行方式 在容器中执行指定的命令,配置为需要执行的命令。命令的格式为Command Args[1] Args[2]…(Command为系统命令或者用户自定义可执行程序,如果未指定路径则在默认路径下寻找可执行程序),如果需要执行多条命令,建议采用将命令写入脚本执行的方式。不支持后台执行和异步执行的命令。 如需要执行的命令如下: exec: command: - /install.sh - install_agent 请在执行脚本中填写: /install install_agent。这条命令表示容器创建成功后将执行install.sh。 HTTP请求方式 发起一个HTTP调用请求。配置参数如下: 路径:请求的URL路径,可选项。 端口:请求的端口,必选项。 主机地址:请求的IP地址,可选项,默认是容器所在的节点IP。
  • YAML样例 本节以nginx为例,说明kubectl命令设置容器生命周期的方法。 在以下配置文件中,您可以看到postStart命令在容器目录/bin/bash下写了个install.sh命令。 preStop执行uninstall.sh命令。 apiVersion: apps/v1kind: Deploymentmetadata: name: nginxspec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - image: nginx command: - sleep 3600 #启动命令 imagePullPolicy: Always lifecycle: postStart: exec: command: - /bin/bash - install.sh #启动后命令 preStop: exec: command: - /bin/bash - uninstall.sh #停止前命令 name: nginx imagePullSecrets: - name: default-secret
  • Ingress支持的Service类型 ELB Ingress支持的Service类型如表2所示。 表2 ELB Ingress支持的Service类型 集群类型 ELB类型 集群内访问(ClusterIP) 节点访问(NodePort) CCE集群 共享型负载均衡 不支持 支持 独享型负载均衡 不支持(集群内访问服务关联实例未绑定eni网卡,独享型负载均衡无法对接) 支持 CCE Turbo 集群 共享型负载均衡 不支持 支持 独享型负载均衡 支持 不支持(节点访问服务关联实例已绑定eni网卡,独享型负载均衡无法对接) Nginx Ingress支持的Service类型如表3所示。 表3 Nginx Ingress支持的Service类型 集群类型 ELB类型 集群内访问(ClusterIP) 节点访问(NodePort) CCE集群 共享型负载均衡 支持 支持 独享型负载均衡 支持 支持 CCE Turbo集群 共享型负载均衡 支持 支持 独享型负载均衡 支持 支持
  • 查看节点伸缩策略 您可以查看节点伸缩策略的关联节点池、执行规则和伸缩历史,参照界面中的提示有针对性的解决异常问题。 在CCE控制台,单击集群名称进入集群。 单击左侧导航栏的“节点伸缩”,单击要查看的策略前方的。 在展开的区域中,可以看到该策略的关联节点池、执行规则和伸缩历史页签,若策略异常,请参照界面中的报错提示进行定位处理。 您还可以在节点池管理中关闭或开启弹性扩缩容: 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中单击“节点管理”并切换至“节点池”页签。 单击要操作的节点池的“编辑”按钮,在弹出的“编辑节点池”窗口中可设置节点数上下限和弹性缩容冷却时间。
  • 扩展网段规划说明 在添加扩展网段前,需做好网段规划,避免造成网段冲突。注意以下几点: 集群所在VPC下所有子网(包括扩展网段子网)不能和容器网段、服务网段冲突。 扩展网段选择10.0.0.0/8、172.16.0.0/12、192.168.0.0/16可能与集群Master分配的IP冲突,尽量避免选择这三个网段作为扩展网段。 同VPC的非集群内ECS,如果需要和集群互访,访问会做SNAT, Pod源地址是节点IP而非Pod IP。 如果扩展网段没添加过集群节点,那扩展网段的ECS不能访问集群内Pod;扩展网段添加集群节点后,扩展网段的ECS可以访问集群内Pod。
  • 版本记录 表3 CCE插件版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.25.11 /v1.(19|21|23|25).*/ 支持插件实例AZ反亲和配置 升级至社区版本 1.10.1 1.10.1 1.25.1 /v1.(19|21|23|25).*/ 适配CCE v1.25集群 1.8.4 1.23.3 /v1.(15|17|19|21|23).*/ 插件依赖例行升级 1.8.4 1.23.2 /v1.(15|17|19|21|23).*/ 插件依赖例行升级 1.8.4 1.23.1 /v1.(15|17|19|21|23).*/ 适配CCE v1.23集群 1.8.4 1.17.15 /v1.(15|17|19|21).*/ 适配CCE v1.21集群 1.8.4 1.17.9 /v1.(15|17|19).*/ 插件依赖例行升级 1.8.4 1.17.7 /v1.(15|17|19).*/ 同步至社区v1.8.4版本 1.8.4 1.17.4 /v1.(17|19).*/ 适配CCE 1.19集群 1.6.5 1.17.3 /v1.17.*/ 支持v1.17集群,修复存根域配置问题 1.6.5 1.17.1 /v1.17.*/ 支持v1.17集群 1.6.5
  • 检查项内容 在升级CCE集群版本至v1.19及以上版本时,将对您的节点上的Kubenertes组件的配置进行检查,检查您是否后台修改过配置文件。 /opt/cloud/cce/kubernetes/kubelet/kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml /opt/cloud/cce/kubernetes/kube-proxy/kube-proxy /etc/containerd/default_runtime_spec.json /etc/sysconfig/docker /etc/default/docker /etc/docker/daemon.json 如您对这些文件的某些参数进行修改,有可能会导致集群升级失败或升级之后业务出现异常。如您确认该修改对业务无影响,可单击确认后继续进行升级操作。 CCE采用标准镜像的脚本进行节点配置一致性检查,如您使用其它 自定义镜像 有可能导致检查失败。 当前可预期的修改将不会进行拦截,可预期修改的参数列表如下: 表1 可预期修改的参数列表 组件 配置文件 参数 升级版本 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml cpuManagerPolicy v1.19以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml maxPods v1.19以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml kubeAPIQPS v1.19以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml kubeAPIBurst v1.19以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml podPidsLimit v1.19以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml topologyManagerPolicy v1.19以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml resolvConf v1.19以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml eventRecordQPS v1.21以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml topologyManagerScope v1.21以上 kubelet /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml allowedUnsafeSysctls v1.19以上 docker /etc/docker/daemon.json dm.basesize v1.19以上
  • 解决方案 若节点状态异常,请联系技术支持人员。 若容器网络异常,并影响了您的业务,请联系技术支持人员,并同步确认当前异常的网络访问路径。 源端 目的端 目的端类型 可能故障 集群内Pod 集群内节点 集群外同VPC下节点 华为云外 Service ELB 公网IP 集群流量负载均衡入口 未有记录 Service ELB 私网IP 集群流量负载均衡入口 未有记录 Ingress ELB 公网IP 集群流量负载均衡入口 未有记录 Ingress ELB 私网IP 集群流量负载均衡入口 未有记录 Service Node Port 公网IP 集群流量入口 kube proxy配置覆盖,该故障已在升级流程适配 Service Node Port 私网IP 集群流量入口 未有记录 Service Cluster IP Service网络平面 未有记录 非Service NodePort 节点端口 节点容器网络 未有记录 跨节点Pod 容器网络平面 未有记录 同节点Pod 容器网络平面 未有记录 Service 域名 、Pod域名等,基于CoreDNS解析 域名解析 未有记录 外部网站域名,基于CoreDNS hosts配置解析 域名解析 coredns插件升级后配置被覆盖,该故障已在插件升级流程适配 外部网站域名,基于CoreDNS 上游服务器解析 域名解析 coredns插件升级后配置被覆盖,该故障已在插件升级流程适配 外部网站域名,不通过CoreDNS解析 域名解析 未有记录
  • 节点排水规则 节点排水功能会安全驱逐节点上的Pod,但对于满足以下过滤规则的Pod,系统会进行例外处理: Pod筛选条件 使用强制排水 不使用强制排水 Pod的status.phase字段为Succeeded或Failed 删除 删除 Pod不受工作负载controller管理 删除 放弃排水 Pod由DaemonSet管理 忽略 放弃排水 Pod中挂载了emptyDir类型的volume 驱逐 放弃排水 由kubelet直接管理的静态Pod 忽略 忽略 节点排水过程中可能会对Pod执行的操作如下: 删除:Pod会从当前节点上删除,不会再重新调度至其他节点。 驱逐:Pod会从当前节点上删除,且会重新调度至其他节点。 忽略:Pod不会被驱逐或删除。 放弃排水:若节点上存在放弃排水的Pod,节点排水过程会中止,不会驱逐或删除任何Pod。
  • 约束与限制 仅以下指定版本的集群支持节点排水功能: v1.21集群:v1.21.10-r0及以上版本 v1.23集群:v1.23.8-r0及以上版本 v1.25集群:v1.25.3-r0及以上版本 v1.25以上版本集群 IAM用户在使用节点排水功能时,至少需要具有以下一项权限,详情请参见命名空间权限(Kubernetes RBAC授权)。 cluster-admin(管理员权限):对全部命名空间下所有资源的读写权限。 drainage-editor:节点排水操作权限,可执行节点排水。 drainage-viewer:节点排水只读权限,仅可查看节点排水状态,无法执行节点排水。 如负载未设置干扰预算(Disruption Budget),Pod重新调度期间负载功能可能无法正常使用。
  • 约束与限制 文件存储必须与集群在同一个VPC内。 支持多个PV挂载同一个SFS或SFS Turbo,但有如下限制: 多个不同的PVC/PV使用同一个底层SFS或SFS Turbo卷时,且被同一Pod使用会出现问题,需要避免这么使用。 PV中persistentVolumeReclaimPolicy参数需设置为Retain,否则可能存在一个PV删除时,级联删除底层卷,其他关联这个底层卷的PV会由于底层存储被删除导致使用出现异常。 重复用底层存储时,建议在应用层做好多读多写的隔离保护,防止产生的数据覆盖和丢失。 使用SFS 3.0容量型时,集群中需要安装2.0.9及以上版本的everest插件。 使用SFS 3.0存储卷时,挂载点不支持修改属组和权限。 使用SFS 3.0存储卷时,创建、删除PVC和PV过程中可能存在时延,实际计费时长请以SFS侧创建、删除时刻为准。 SFS 3.0存储卷暂不支持Delete回收策略,需要挂载文件系统手动删除所有文件后才可以正常删除PV和PVC。
  • 约束与限制 云硬盘不支持跨可用区挂载,且不支持被多个工作负载、同一个工作负载的多个实例或多个任务使用。 由于CCE集群各节点之间暂不支持共享盘的数据共享功能,多个节点挂载使用同一个云硬盘可能会出现读写冲突、数据缓存冲突等问题,所以创建无状态工作负载时,若使用了EVS云硬盘,建议工作负载只选择一个实例。 1.19.10以下版本的集群中,如果使用HPA策略对挂载了EVS卷的负载进行扩容,当新Pod被调度到另一个节点时,会导致之前Pod不能正常读写。 1.19.10及以上版本集群中,如果使用HPA策略对挂载了EVS卷的负载进行扩容,新Pod会因为无法挂载云硬盘导致无法成功启动。 不支持使用已进行分区或者非ext4文件系统的云硬盘。 CCE集群中的容器存储目前已支持加密(Kubernetes 1.13版本及以上),使用前请确认云硬盘所在区域(Region)是否支持硬盘加密能力。
  • 使用场景 根据使用场景不同,文件存储支持以下挂载方式: 通过静态PV使用已有文件存储:即静态创建的方式,需要先使用已有的文件存储创建PV,然后通过PVC在工作负载中挂载存储。适用于已有可用的底层存储或底层存储需要包周期的场景。 通过动态PV使用文件存储:即动态创建的方式,无需预先创建文件存储,在创建PVC时通过指定存储类(StorageClass),即可自动创建文件存储和对应的PV对象。适用于无可用的底层存储,需要新创建的场景。
  • 文件存储性能 CCE支持使用SFS容量型、SFS 3.0容量型文件存储。更多关于文件存储类型的详细介绍,请参见文件系统类型。 SFS容量型文件存储当前正处于售罄状态,CCE控制台已经屏蔽创建,存量SFS容量型仍可以通过kubectl命令行方式创建PV。 SFS 3.0容量型当前正在各region逐步上线中,部分区域(Region)可能还未支持,请您耐心等待。若您的应用所在区域已经支持SFS 3.0容量型,建议新应用使用SFS 3.0容量型,并尽快将已有的SFS容量型文件存储迁移到SFS 3.0容量型中,以免容量不足影响业务。 表1 文件存储性能 参数 SFS容量型 SFS 3.0容量型 最大带宽 2GB/s 1.25TB/s 最高IOPS 2K 百万 时延 3~20ms 10ms 最大容量 4PB EB
  • 文件存储介绍 CCE支持将弹性文件存储(SFS)创建的存储卷挂载到容器的某一路径下,以满足数据持久化需求,SFS存储卷适用于多读多写的持久化存储,适用大容量扩展以及成本敏感型的业务场景,包括 媒体处理 、内容管理、大数据分析和分析工作负载程序等。SFS容量型文件系统不适合海量小文件业务,推荐使用SFS Turbo文件系统。 SFS为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB规模,具备高可用性和持久性,为海量数据、高带宽型应用提供有力支持。 符合标准文件协议:用户可以将文件系统挂载给服务器,像使用本地文件目录一样。 数据共享:多台服务器可挂载相同的文件系统,数据可以共享操作和访问。 私有网络:数据访问必须在数据中心内部网络中。 容量与性能:单文件系统容量较高(PB级),性能极佳(IO读写时延ms级)。 应用场景:适用于多读多写(ReadWriteMany)场景下的各种工作负载(Deployment/StatefulSet)和普通任务(Job)使用,主要面向高性能计算、媒体处理、内容管理和Web服务、大数据和分析应用程序等场景。
  • 约束与限制 文件存储必须与集群在同一个VPC内。 支持多个PV挂载同一个SFS或SFS Turbo,但有如下限制: 多个不同的PVC/PV使用同一个底层SFS或SFS Turbo卷时,且被同一Pod使用会出现问题,需要避免这么使用。 PV中persistentVolumeReclaimPolicy参数需设置为Retain,否则可能存在一个PV删除时,级联删除底层卷,其他关联这个底层卷的PV会由于底层存储被删除导致使用出现异常。 重复用底层存储时,建议在应用层做好多读多写的隔离保护,防止产生的数据覆盖和丢失。
  • 使用kubectl命令登录容器 使用kubectl连接集群,详情请参见通过kubectl连接集群。 执行以下命令,查看已创建的Pod。 kubectl get pod 示例输出如下: NAME READY STATUS RESTARTS AGEnginx-59d89cb66f-mhljr 1/1 Running 0 11m 查询该Pod中的容器名称。 kubectl get po nginx-59d89cb66f-mhljr -o jsonpath='{range .spec.containers[*]}{.name}{end}{"\n"}' 示例输出如下: container-1 执行以下命令,登录到nginx-59d89cb66f-mhljrPod中名为container-1的容器。 kubectl exec -it nginx-59d89cb66f-mhljr -c container-1 -- /bin/sh 如需退出容器,可执行exit命令。
  • CCE事件列表 事件类告警是根据CCE上报到 AOM 的事件来决定是否告警,CCE上报了一系列事件到AOM,您可以在配置事件告警的处查看具体事件,根据自身需求添加事件类告警。 图2 CCE上报的事件 CCE当前支持如下事件: 扩容节点超时 数据卷扩容失败 主机卸载块存储失败 节点池资源充足 卷回收策略未知 太多活跃Pod 挂载数据卷失败 节点kubelet故障 标签选择器冲突 缩容节点 节点内存空间不足 卷PVC丢失 节点上发现未注册的网络设备 数据卷回收失败 未触发节点扩容 删除未注册节点成功 状态异常 删除失败 网卡未发现 太多成功Pod 缩容空闲节点成功 未拉取镜像异常 节点重启 节点kube-proxy故障 扩容失败 节点磁盘空间已满 节点任务夯住 等待主机挂载块存储失败 启动失败 拉取镜像失败 废弃节点清理 副本集创建异常 CIDR不可用 节点的连接跟踪表已满 节点磁盘空间不足 待机失败 缩容节点失败 节点不可调度 节点池扩容节点失败 更新配置失败 节点池扩容节点成功 节点纳管失败 创建负载均衡失败 查询失败 数据卷删除失败 节点操作系统内核故障 扩容节点失败 挂载盘符失败 删除负载均衡失败 修复节点池节点个数成功 卸载数据卷失败 激活失败 节点内存不足强杀进程 卸载盘符失败 节点docker故障 回滚失败 CIDR分配失败 节点docker夯住 标签选择器异常 节点状态异常 创建卷失败 创建卷清理失败 节点池退避重试中 启动重试失败 部署回滚版本未发现 调度失败 修复节点池节点个数失败 节点文件系统只读 更新失败 节点ntp服务故障 节点创建失败 拉取镜像重试失败 节点卸载失败 卷误绑定 查询Pod列表失败 节点池资源售罄 节点磁盘卸载夯住 创建失败 更新负载均衡失败 未知Job 缩容失败 触发节点扩容 主机挂载块存储失败 重启失败 节点cni插件故障 节点池扩容节点启动 缩容空闲节点启动 删除未注册节点失败 内部故障 外部依赖异常 初始化执行线程失败 更新数据库失败 节点池触发创建节点失败 节点池触发删除节点失败 创建包周期节点失败 解除资源租户访问控制节点镜像的授权失败 创建虚拟IP失败 删除节点虚拟机失败 删除节点安全组失败 删除控制节点安全组失败 删除控制节点网卡安全组失败 删除集群ENI/SubENI安全组失败 解绑控制节点网卡失败 删除控制节点网卡失败 删除控制节点虚拟机失败 删除控制节点密钥对失败 删除控制节点subnet失败 删除控制节点VPC失败 删除集群证书失败 删除控制节点云服务器组失败 删除虚拟IP失败 获取控制节点浮动IP失败 获取集群规格信息失败 获取集群endpoint失败 获取kubernetes集群连接失败 更新集群Secret失败 处理用户操作超时 连接kubernetes集群超时 检查组件状态失败或组件状态异常 无法在kubernetes集群中找到该节点 节点在kubernetes集群中状态异常 无法在ECS服务中找到该节点对应的虚拟机 升级控制节点失败 升级节点失败 变更控制节点规格失败 变更控制节点规格超时 创建包周期节点校验不通过 安装节点失败 清理VPC中集群容器网络路由表条目失败 集群状态不可用 集群状态故障 集群状态长时间不更新 集群升级超时后更新控制节点状态失败 集群升级超时后更新运行中的任务失败 更新集群状态失败 更新节点状态失败 纳管节点超时后移除数据库中的节点记录失败 节点处理超时后更新节点状态为异常失败 更新集群访问地址失败 删除不可用的Kubernetes连接失败 同步集群证书失败
  • SMN 创建主题 SMN(Simple Message Notification, 消息通知 服务)是向订阅者主动推送消息的服务,订阅者可以是电子邮件、短信、HTTP和HTTPS等。 主题是消息发布或客户端订阅通知的特定事件类型。它作为发送消息和订阅通知的信道,为发布者和订阅者提供一个可以相互交流的通道。 您需要创建一个主题,并订阅。具体方法请参见创建主题和订阅主题。 订阅主题后,请前往您的订阅终端(邮件或短信)手动确认添加订阅,消息通知才可生效。
  • 存储卷访问模式 PV只能以底层存储资源所支持的方式挂载到宿主系统上。例如,文件存储可以支持多个节点读写,云硬盘只能被一个节点读写。 ReadWriteOnce:卷可以被一个节点以读写方式挂载,云硬盘存储卷支持此类型。 ReadWriteMany:卷可以被多个节点以读写方式挂载,文件存储、对象存储、极速文件存储支持此类型。 表1 云存储 支持访问模式 存储类型 ReadWriteOnce ReadWriteMany 云硬盘EVS √ × 文件存储SFS × √ 对象存储OBS × √ 极速文件存储SFS Turbo × √
  • 约束与限制 在新版控制台(需要将集群升级到1.19.10及以上并且Everest存储插件升级到1.2.10及以上)PV资源已经正式开放给用户管理;旧版控制台仍保持导入使用或者是通过动态创建方式进行创建,用户无法通过控制台对PV资源进行生命周期管理。 支持多个PV挂载同一个SFS或SFS Turbo,但有如下限制: 多个不同的PVC/PV使用同一个底层SFS或SFS Turbo卷时,且被同一Pod使用会出现问题,需要避免这么使用。 PV中persistentVolumeReclaimPolicy参数需设置为Retain,否则可能存在一个PV删除时,级联删除底层卷,其他关联这个底层卷的PV会由于底层存储不在了,使用出现异常。 重复用底层存储时,建议在应用层做好多读多写的隔离保护,防止产生的数据覆盖和丢失。
  • PV回收策略 PV回收策略用于指定删除PVC时,底层卷的回收策略,支持设定Delete、Retain回收策略。 Delete:删除PVC,PV资源与底层存储资源均被删除。 Retain:删除PVC,PV资源与底层存储资源均不会被删除,需要手动删除回收。PVC删除后PV资源状态为“已释放(Released)”,不能直接再次被PVC绑定使用。 Everest还支持一种删除PVC时不删除底层存储资源的使用方法,当前仅支持使用YAML创建。PV回收策略设置为Delete,添加annotations“everest.io/reclaim-policy: retain-volume-only”,这样删除PVC,PV会被删除,但底层存储资源会保留。
  • 添加/删除节点标签 登录CCE控制台。 单击集群名称进入集群,在左侧选择“节点管理”,勾选节点,单击左上方“标签与污点管理”。 在弹出的窗口中,在“批量操作”下方单击“新增批量操作”,然后选择“添加/更新”或“删除”。 填写需要增加/删除标签的“键”和“值”,单击“确定”。 例如,填写的键为“deploy_qa”,值为“true”,就可以从逻辑概念表示该节点是用来部署QA(测试)环境使用。 图1 添加节点标签 标签添加成功后,再次进入该界面,在节点数据下可查看到已经添加的标签。
共100000条