云服务器内容精选

  • 操作步骤 安装“云原生监控插件”。 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“云原生监控插件”,单击“安装”。 图1 安装云原生监控插件 在安装插件页面,进行规格配置,部署模式选择“Server模式”。 如果需要在Agent部署模式下使用HPA功能,请联系技术支持人员。 通过云原生监控插件,提供系统资源指标。 如果CCE集群中未安装metrics-server插件,请开启Metric API,详情请参见通过Metrics API提供资源指标。配置完成后,可使用Prometheus采集系统资源指标。 如果CCE集群中已安装metrics-server插件,可以选择以下任意一种方式进行处理: 方式一:请卸载“Kubernetes Metrics Server”插件后,开启Metric API。 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“Kubernetes Metrics Server”插件,单击“卸载”。 开启Metric API,详情请参见通过Metrics API提供资源指标。配置完成后,可使用Prometheus采集系统资源指标。 方式二:修改APIService对象。 需要更新APIService对象“v1beta1.metrics.k8s.io”: apiVersion: apiregistration.k8s.io/v1 kind: APIService metadata: labels: app: custom-metrics-apiserver release: cceaddon-prometheus name: v1beta1.metrics.k8s.io spec: group: metrics.k8s.io groupPriorityMinimum: 100 insecureSkipTLSVerify: true service: name: custom-metrics-apiserver namespace: monitoring port: 443 version: v1beta1 versionPriority: 100 可以将该对象保存为文件,命名为metrics-apiservice.yaml,然后执行以下命令: kubectl apply -f metrics-apiservice.yaml 执行kubectl top pod -n monitoring命令,如果显示如下,则表示Metrics API能正常访问: # kubectl top pod -n monitoring NAME CPU(cores) MEMORY(bytes) ...... custom-metrics-apiserver-d4f556ff9-l2j2m 38m 44Mi ...... 卸载插件时,需要执行以下kubectl命令,同时删除APIService对象,否则残留的APIService资源将导致metrics-server插件安装失败。 kubectl delete APIService v1beta1.metrics.k8s.io
  • 插件卸载 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“卸载”。 表2 特殊场景说明 特殊场景描述 场景现象 场景说明 CCE集群无节点,卸载插件。 插件卸载失败。 bursting插件卸载时会在集群中启动Job用于清理资源,卸载插件时请保证集群中至少有一个可以调度的节点。 用户直接删除集群,未卸载插件。 用户在CCI侧的命名空间中有资源残留,如果命名空间有计费资源,会造成额外计费。 由于直接删除集群,没有执行插件的资源清理Job,造成资源残留。用户可以手动清除残留命名空间及其下的计费资源来避免额外计费。 关于CCE突发弹性引擎(对接CCI)更多内容详情请参见:CCE突发弹性引擎(对接CCI)。
  • 工作负载下发 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“工作负载”,进入工作负载首页。 单击“创建工作负载”,具体操作步骤详情请参见创建工作负载。 填写基本信息。“CCI弹性承载”选择“强制调度策略”。关于调度策略更多信息,请参考调度负载到CCI。 CCE集群创建工作负载时,需要弹性到CCI,健康检查不支持配置TCP启动探针。 进行容器配置。 配置完成后,单击“创建工作负载”。 在工作负载页面,选择工作负载名称,单击进入工作负载管理界面。 工作负载所在节点为CCI集群,说明负载成功已调度到CCI。
  • 简介 CCE突发弹性引擎(对接 CCI)作为一种虚拟的kubelet用来连接Kubernetes集群和其他平台的API。Bursting的主要场景是将Kubernetes API扩展到无服务器的容器平台(如CCI)。 基于该插件,支持用户在短时高负载场景下,将部署在云容器引擎CCE上的无状态负载(Deployment)、有状态负载(StatefulSet)、普通任务(Job)、定时任务(CronJob)四种资源类型的容器实例(Pod),弹性创建到云容器实例CCI服务上,以减少集群扩容带来的消耗。
  • 约束与限制 CCE Standard集群的网络模型如果为容器隧道网络,暂不支持对接CCE突发弹性引擎(对接 CCI)插件。 CCE 突发弹性引擎 (对接 CCI) 插件在1.5.2及以上版本,将占用更多节点资源,请在升级CCE突发弹性引擎(对接 CCI)插件前预留空间配额。 单实例:需要预留一个节点,节点下需要有3个Pod空间配额。 高可用:需要预留两个节点,节点下需要有3个Pod空间配额,共计6个Pod空间配额。
  • 安装插件 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“安装”。 配置插件参数。 表1 插件参数说明 插件参数 说明 选择版本 插件的版本。插件版本和CCE集群存在配套关系,更多信息可以参考CCE突发弹性引擎(对接CCI)插件版本记录。 规格配置 用于配置插件负载的实例数。 网络互通 勾选后将开启CCE集群和CCI两侧pod互访的功能,用户可以根据自身业务选择是否打开。详细功能介绍请参考网络。
  • Pod annotation CCE集群+bursting的使用场景涉及到自定义注解,相关注解含义如下表所示。 annotation key 描述 相关文档 scheduling.cci.io/managed-by-profile 标记当前pod被哪个profile资源管理。 调度负载到CCI coordinator.cci.io/inject-volumes CCI pod日志采集相关,日志采集插件注入。 日志 logconf.k8s.io/fluent-bit-configmap-reference CCI pod日志采集相关,日志采集插件注入。 日志 logconfigs.logging.openvessel.io CCI pod日志采集相关,日志采集插件注入。 日志 sandbox-volume.openvessel.io/volume-names CCI pod日志采集相关,日志采集插件注入。 日志 coordinator.cci.io/image-replacement 镜像地址前缀替换相关。 镜像
  • 功能概览 使用CCE集群+bursting基于如下模型,用户需要重点关注下发负载和调度。 下发负载涉及到用户给负载进行的配置项,和用户自身的业务高度相关。 工作负载配置项 功能描述 功能规格 相关文档拓展 调度 用户可以通过多种方式来管理CCE集群的工作负载,来控制其调度到CCI服务。通过合理的调度策略配置,提升用户集群的资源利用率。 支持4种调度策略。 支持2种管理调度策略的方式。 支持多个虚拟节点调度。 调度负载到CCI 镜像 用户通过镜像配置自身业务镜像,将自己的业务容器运行在华为云CCE集群+CCI服务上。 支持修改镜像配置方式。 支持原地升级镜像。 镜像 存储 用户通过存储相关的配置为工作负载外挂存储卷,以完成业务中数据持久存储的诉求。 支持多种存储类型。 支持替换工作负载hostpath配置方式。 存储 网络 用户通过网络配置规划CCE集群和CCI集群之间的网络拓扑。 支持CCI侧负载通过service发布。 支持CCE集群pod与CCI集群中pod通过service互通。 支持指定cluster-dns。 支持pod绑定全域弹性公网ip。 网络 日志 用户可以通过同时安装CCE Log Collector插件和bursting插件,采集CCI侧工作负载的日志。 支持弹性CCI的负载通过CCE Log Collector上报日志。 支持日志自动转储。 日志 监控 用户可以通过配置插件对接监控平台,提升弹性CCI工作负载的可观测性。 支持对接 AOM 。 支持对接普罗米修斯。 监控
  • 资源使用说明 CCE集群+bursting的使用场景涉及到华为云周边服务的搭配使用,如下表格详细描述了涉及到的周边服务。 涉及服务 资源说明 备注 CCI 插件会在CCI服务新建一个名为“cce-burst-”+“CCE集群ID”的命名空间。 不建议直接在CCI服务使用该命名空间,如需使用CCI服务,请另外新建命名空间。 CCI服务命名空间不产生计费。 CCE CCE侧的工作负载、Secret、Congfigmap、PV、PVC会同步到CCI,同时也占用CCE节点的资源。 CCE集群资源规模1000 pod+1000 configmap建议申请2U4G节点规格。 CCE集群资源规模2000 pod+2000 configmap建议申请4U8G节点规格。 CCE集群资源规模4000 pod+4000 configmap建议申请8U16G节点规格。 ELB 开启“支持CCE集群pod与CCI集群pod通过service互通”功能bursting插件会自动创建ELB资源。 创建共享型性能保障规格的ELB,名称为cce-lb-xxx。 当卸载插件时,该ELB资源也会被自动清除。 VPC 弹性CCI的负载共享使用CCE集群所在VPC。 CCI命名空间Service网段为10.247.0.0/16,CCE集群的VPC子网网段请避开该网段。 SWR 创建弹性到CCI的工作负载选择镜像时,直接对接华为云SWR服务。 创建负载请确认镜像已被正确上传至您的SWR仓库。
  • 问题一:用户负载无法调度到CCI,登录CCE节点执行kubectl get node发现virtual-kubelet节点状态为不可调度。 问题原因:CCI资源售罄导致弹性到CCI的资源调度失败,bursting节点会被锁定半小时(状态变为SchedulingDisabled),期间无法调度至CCI。 解决方案:用户可通过CCE集群控制台,使用kubectl工具查看bursting节点状态,如果节点被锁定,可手动解锁bursting节点。
  • 约束与限制 metrics-server无法采集到通过bursting插件弹性到CCI 2.0上的Pod的监控数据,可能会影响HPA工作。如果HPA无法正常工作,请参考弹性伸缩进行处理。 从CCE bursting弹到CCI2.0的pod,与从CCI2.0前端或API创建的pod,如非必要,命名空间和pod名请勿同时重复,这将导致CCI2.0侧的pod监控数据异常。从CCE侧查看pod的监控不受影响。
  • 操作步骤 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“监控中心”,进入监控中心首页。 单击“立即开通”。 在导航栏左侧单击“工作负载”,进入工作负载首页。 单击工作负载对应的右侧操作“监控”按钮。 查看负载监控指标,详情请参考云原生监控插件。 关于更多监控中心的用法,请参考 应用运维管理 (AOM)服务帮助文档。 也可以在CCI2.0 console界面上查看指标;前置条件:当前命名空间需开启AOM监控
  • 约束与限制 使用场景 使用说明 CCE内容器日志采集 + CCI集群容器日志采集 CCE集群内的工作负载支持三种日志采集类型: 容器标准输出:采集集群内指定容器日志,仅支持Stderr和Stdout的日志。 容器文件日志:采集集群内指定容器内的文件日志。 节点文件日志:采集集群内指定节点路径的文件。 须知: 弹性到CCI的工作负载仅支持“容器文件日志”类型的采集策略。 pod挂载多种类型存储目录 pod通过指定系统、设备、cgroup、tmpfs等挂载目录下的日志无法被采集。 弹性CCI的pod关联多个日志采集策略 为了更好的采集日志,建议为pod预留充足内存。pod被第一个日志策略关联请预留至少50MiB内存。每增加一个关联日志采集策略,建议多预留5MiB内存。 超长日志采集 单条日志最大容量为250KB,超过会被丢弃。 超长日志文件名 容器中长度超过190的日志文件无法被采集。 日志采集策略中,最长文件名不能超过255。 日志采集速率 单个Pod单行日志采集速率不超过10000条/秒,多行日志不超过2000条/秒。 最大采集文件数 单个Pod所有日志采集策略监听的文件数不超过2000个文件。 动态创建日志目录 当前只支持采集容器启动时就已存在的目录下的日志文件。即采集目录只支持镜像中本就存在目录或者是通过volumeMount挂载的目录,不支持容器启动之后新建的目录。 容器停止前日志采集 当容器被停止时,如果出现因网络延迟、资源占用多等原因导致的采集延时,可能会丢失容器停止前的部分日志。
  • 操作步骤 安装“云原生日志采集插件”和“CCE 突发弹性引擎 (对接 CCI)”插件。 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“安装”。 在安装配置中需要勾选“网络互通”功能。 选择“云原生日志采集插件”,单击“安装”。 创建弹性到CCI的负载。 在导航栏左侧单击“工作负载”,进入工作负载首页。 单击“创建工作负载”,具体操作步骤详情请参见创建工作负载。 填写基本信息并完成工作负载创建。更多创建弹性到CCI负载的方式,请参考调度负载到CCI。 配置日志采集策略。 在导航栏左侧单击“日志中心”,进入日志中心首页。 单击“日志采集策略”,进入日志采集策略创建的界面。 配置具体日志采集策略,完成后单击“确定”。 弹性到CCI的Pod不支持日志策略热更新,更新日志采集策略后需要重新部署弹性到CCI的Pod才可生效。 查看弹性到CCI的pod yaml。 为支持CCI pod日志被采集到日志中心,CCE插件CCE Log Collector为pod注入了如下四个annotation: annotation 示例值 coordinator.cci.io/inject-volumes '[{"name":"log-agent-conf","configMap":{"name":"log-agent-cci-logging-config","defaultMode":384},"namespace":"monitoring"},{"name":"log-agent-cert","secret":{"secretName":"log-agent-ca-secret","defaultMode":384},"namespace":"monitoring"}]' logconf.k8s.io/fluent-bit-configmap-reference monitoring-log-agent-cci-logging-config logconfigs.logging.openvessel.io '{"testcci001":{"container_files":{"container-1":"/var/test/*/*.log"},"regulation":""}}'' sandbox-volume.openvessel.io/volume-names log-agent-conf,log-agent-cert 在日志中心查看日志上报。 CCE集群日志中心更详细的用法可以参考CCE插件CCE Log Collector相关文档指导。
  • CCE集群pod与CCI集群中pod通过service互通的使用指导 安装插件,勾选”网络互通“功能。 安装成功后租户账号下会自动创建负载均衡器,可以通过网络控制台进行查看。 创建弹性CCI侧pod,并配置service发布。 为了方便验证,镜像选择暴露容器80端口的nginx。 为工作负载配置service。推荐自动创建新的负载均衡器,以避免和插件自动创建的elb产生冲突。 通过CCE集群控制台,获取该负载的访问方式。 创建CCE侧pod,并配置service发布。方法请参考步骤2,不选择弹性CCI标签。 验证网络互访。 创建弹性CCI的工作负载,镜像选择含有curl命令的镜像,如centos。 通过CCI侧进入该容器,执行图中命令,观测CCI访问CCE service网络打通。 图1 访问CCI pod的service 图2 访问CCE pod的service 同理创建CCE侧pod,镜像选择含有curl命令的镜像,如centos。执行相同的命令。观测CCE访问CCI service网络打通。