云服务器内容精选
-
工作负载基本概念 无状态工作负载(即Kubernetes中的Deployment):实例之间完全独立、功能相同,具有弹性伸缩、滚动升级等特性。如:nginx、wordpress,创建无状态工作负载请参见创建无状态工作负载。 有状态工作负载(即Kubernetes中的StatefulSet):实例之间不完全独立,具有稳定的持久化存储和网络标示,以及有序的部署、收缩和删除等特性。如:mysql-HA、etcd,创建有状态工作负载请参见创建有状态工作负载。 守护进程集(即Kubernetes中的DeamonSet):在集群的每个节点上运行一个Pod,且保证只有一个Pod,适合一些系统层面的应用,如日志收集、资源监控等,创建守护进程集请参见创建守护进程集。
-
创建无状态负载 登录U CS 控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。 在左侧导航栏中选择“工作负载”,在“无状态负载”页签中单击右上角“镜像创建”。 若使用已有的YAML创建工作负载,请单击右上角“YAML创建”。 设置工作负载基本信息。 负载类型:选择“无状态负载”。 负载名称:新增工作负载的名称,命名必须唯一。 命名空间:选择工作负载所在命名空间。如需新建命名空间,请参见创建命名空间。 描述:工作负载的描述信息。 实例数量:设置多集群的工作负载中各集群的实例数。用户可以设置具体实例个数,默认为2。每个工作负载实例都由相同的容器部署而成。在UCS中可以通过设置弹性扩缩容策略,根据工作负载资源使用情况,动态调整工作负载实例数。 设置工作负载容器配置。 Pod中可以配置多个容器,您可以单击右侧“添加容器”为Pod配置多个容器并分别进行设置。 图1 容器配置 基本信息: 表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增加标签或注解,新增标签或注解的键不能与已有的重复。 容忍策略:当工作负载实例所在的节点不可用时,系统将实例重新调度到其它可用节点的时间窗,默认为300秒。 单击“下一步:调度与差异化”,对选择的集群进行调度与差异化配置。在选择可调度集群后,可对容器进行“差异化配置”。 集群调度策略: 调度方式: 集群权重:手动设置各集群的权重,工作负载在各集群的实例数将根据设置的权重比例进行分配。 自动均衡:工作负载将根据资源余量在可调度的集群中自动选择集群进行部署。 部署集群:选择工作负载可调度的集群,集群个数请您根据自身业务进行确定。 “集群权重”模式下,需手动设置各集群权重值,权重非0的集群将自动勾选为可调度集群,权重为0则表示该集群不可调度。状态非正常的集群无法设置权重。 “自动均衡”模式下,单击集群即可将其勾选为可调度集群。 差异化配置: 工作负载在不同的集群中部署可进行差异化的配置。在选择可调度集群后单击对应集群右上角,即可对每个集群进行差异化配置,差异化后的容器配置只对该集群生效。 具体参数说明请参见容器配置。 设置完成后,单击“创建工作负载”,完成创建后,可单击“返回工作负载列表”查看所创建的工作负载。
-
方案优势 无需设置弹性公网IP,节省网络带宽成本。 API网关可通过手动创建的负载通道或者导入CCE的工作负载生成的负载通道,访问CCE中工作负载的地址。 API网关可通过手动创建的负载通道或者导入CCE的工作负载生成的负载通道,动态监测工作负载下所有实例的地址变化,并自动更新到负载通道中。 支持通过CCE工作负载标签配置进行灰度发布,完成灰度测试与版本切换。 提供多种认证方式,增加访问安全性。 提供访问流量控制策略,增加后端服务的安全性。 与直接访问容器应用相比,API网关提供流量控制,确保后端服务稳定运行。 支持多实例负载均衡,合理利用资源,增加系统可靠性。
-
应用场景 云容器引擎(Cloud Container Engine,即CCE)中的工作负载,以及微服务,可通过API网关将服务能力以API形式对外开放。 开放CCE工作负载支持以下两种方式,推荐使用方式一直接创建负载通道的方式开放CCE工作负载。 方式一 在API网关中直接创建负载通道,通过负载通道访问CCE工作负载中的实例地址,动态监测工作负载下实例IP地址变化。开放API时使用负载通道访问后端服务,通过API的形式将云容器应用的服务能力开放出来。 方式二 一键式导入CCE工作负载,自动生成API和负载通道,API与相应生成的负载通道绑定,动态监测工作负载下实例IP地址变化。通过API的形式开放云容器引擎中的工作负载以及微服务等能力。
-
弹性伸缩 当前仅支持无状态负载弹性伸缩。 您可以根据业务需求自行定义伸缩策略,降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助您节约资源和人力成本。当前支持三种弹性伸缩策略: 告警策略:支持根据CPU/内存的使用率,进行工作负载的自动伸缩。工作负载创建完成后即可设置,在CPU/内存超过或少于一定值时,自动增减实例。 定时策略:支持在特定时间点进行工作负载的自动伸缩。适用于秒杀周年庆等活动,例如在秒杀这个时间点增加一定数量的实例个数。 周期策略:支持以天、周、月为周期的伸缩策略。适用于周期性的流量变化。
-
排查项四:命名空间的资源类型错误 请检查创建命名空间时选择的资源类型是否正确,通用计算型和GPU加速型支持X86镜像。 登录控制台,在页面上单击失败的工作负载,进入负载详情界面。 查看Pod列表,单击实例异常Pod所在行“操作”列的“查看日志”。 查看报错信息如下。 ERROR: exec failed: Exec format error ERROR: hyper send process initiated event: error
-
排查项一:查看端口是否冲突 按照使用kubectl配置好kubectl。 在页面上单击失败的工作负载,进入负载详情界面,查看Pod列表,获取Pod名字。 查看失败的容器的名称。 kubectl describe pod $name -n $namespace | grep "Error syncing pod failed to" 图1 查看失败的容器的名称 查看退出容器的错误日志。 kubectl logs $podName -n $namespace -c $containerName 此种问题有如下解决方法:重新创建工作负载,并配置正确的端口,确保端口不冲突。
-
排查项二:用户自身业务BUG 请检查工作负载启动命令是否正确执行,或工作负载本身bug导致容器不断重启。 按照使用kubectl配置好kubectl。 在页面单击失败的工作负载,进入负载详情界面,查看Pod列表,获取Pod名字。 查看失败的容器的名称。 kubectl describe pod $name -n $namespace | grep "Error syncing pod failed to" 图2 查看失败的容器的名称 查看退出容器的错误日志。 kubectl logs $podName -n $namespace -c $containerName 根据日志提示修复工作负载本身的问题。 图3 容器启动命令配置不正确 此种问题的解决方案是:重新创建工作负载,并配置正确的启动命令。
-
为什么exec进入容器后执行GPU相关的操作报错? 问题现象: exec进入容器后执行GPU相关的操作(例如nvidia-smi、使用tensorflow运行GPU训练任务等)报错“cannot open shared object file: No such file or directory”。 问题原因: 安全容器内的cuda库位置为/usr/local/nvidia/lib64,您需要添加/usr/local/nvidia/lib64到LD_LIBRARY_PATH,才能正确地找到cuda库。 解决方法: 使用kubectl exec或者前端console登录进入带GPU的容器时,先执行命令export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/nvidia/lib64,然后再执行其他GPU相关的操作命令。 父主题: 容器工作负载类
-
滚动升级策略 进入CCE Console页面,单击“集群名称--工作负载”,单击待升级工作负载更多列的“编辑YAML”。 通过YAML配置如下参数: spec: strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 10% 也可以通过单击步骤1页面待升级工作负载的操作列的“升级”按钮来配置,对应参数如下: 参数说明: 参数 说明 最大无效实例数(maxUnavailable) 与spec.replicas相比,可以有多少个Pod失效,也就是删除的个数或比例,建议值是0个。 比如spec.replicas为3,那升级过程中就至少有3个可用的Pod存在。 最大浪涌(maxSurge) 与spec.replicas相比,可以有多少个Pod存在,建议值是10%。 比如spec.replicas为 3,那升级过程中就不能超过4个Pod存在,即按10%(1个)的步长升级,实际升级过程中会换算成数字,且换算会向上取整。这个值也可以直接设置成个数。 仅配置升级策略参数maxUnavailable及maxSurge,不会触发工作负载滚动升级,即Pod不会发生重启。新配置值在工作负载的下一次滚动升级中生效。 在CCE Console中执行工作负载的重新部署,实际上就是完成一次工作负载的滚动升级流程,只是工作负载的版本没有发生变化。 父主题: 网关工作负载
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格