云服务器内容精选
-
通过命令行配置升级示例 Deployment的升级可以是声明式的,也就是说只需要修改Deployment的YAML定义即可,比如使用kubectl edit命令将上面Deployment中的镜像修改为nginx:alpine。修改完成后再查询ReplicaSet和Pod,发现创建了一个新的ReplicaSet,Pod也重新创建了。 $ kubectl edit deploy nginx $ kubectl get rs NAME DESIRED CURRENT READY AGE nginx-6f9f58dffd 2 2 2 1m nginx-7f98958cdf 0 0 0 48m $ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-6f9f58dffd-tdmqk 1/1 Running 0 1m nginx-6f9f58dffd-tesqr 1/1 Running 0 1m Deployment可以通过maxSurge和maxUnavailable两个参数控制升级过程中同时重新创建Pod的比例,这在很多时候是非常有用,配置如下所示。 spec: strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate 在前面的例子中,由于spec.replicas是2,如果maxSurge和maxUnavailable都为默认值25%,那实际升级过程中,maxSurge允许最多3个Pod存在(向上取整,2*1.25=2.5,取整为3),而maxUnavailable则不允许有Pod Unavailable(向上取整,2*0.75=1.5,取整为2),也就是说在升级过程中,一直会有2个Pod处于运行状态,每次新建一个Pod,等这个Pod创建成功后再删掉一个旧Pod,直至Pod全部为新Pod。
-
通过命令行回退工作负载版本 例如上面升级的新版镜像有问题,可以执行kubectl rollout undo命令进行回滚。 $ kubectl rollout undo deployment nginx deployment.apps/nginx rolled back Deployment之所以能如此容易的做到回滚,是因为Deployment是通过ReplicaSet控制Pod的,升级后之前ReplicaSet都一直存在,Deployment回滚做的就是使用之前的ReplicaSet再次把Pod创建出来。Deployment中保存ReplicaSet的数量可以使用revisionHistoryLimit参数限制,默认值为10。
-
通过控制台配置工作负载升级 在创建工作负载时,单击“展开高级配置”。 参考表1,设置升级策略。 表1 参数说明 参数 描述 升级方式 设置不同的升级策略,有如下两种。 RollingUpdate:滚动升级,即逐步创建新Pod再删除旧Pod,为默认策略。 Recreate:替换升级,即先把当前Pod删掉再重新创建Pod。 最大无效实例数(maxUnavailable) 与spec.replicas相比,可以有多少个Pod失效,也就是删除的比例,默认值是25%,比如spec.replicas为4,那升级过程中就至少有3个Pod存在,即删除Pod的步伐是1。同样这个值也可以设置成数字。 仅Deployment支持配置。 最大浪涌(maxSurge) 与spec.replicas相比,可以有多少个Pod存在,默认值是25%,比如spec.replicas为 4,那升级过程中就不能超过5个Pod存在,即按1个的步伐升级,实际升级过程中会换算成数字,且换算会向上取整。这个值也可以直接设置成数字。 仅Deployment支持配置。 实例可用最短时间(minReadySeconds) 指定新创建的 Pod 在没有任意容器崩溃情况下的最小就绪时间, 只有超出这个时间 Pod 才被视为可用。默认值为 0(Pod 在准备就绪后立即将被视为可用)。 最大保留版本数(revisionHistoryLimit) 用来设定出于回滚目的所要保留的旧 ReplicaSet 数量。 这些旧 ReplicaSet 会消耗 etcd 中的资源,并占用 kubectl get rs 的输出。 每个 Deployment 修订版本的配置都存储在其 ReplicaSets 中;因此,一旦删除了旧的 ReplicaSet, 将失去回滚到 Deployment 的对应修订版本的能力。 默认情况下,系统保留 10 个旧 ReplicaSet,但其理想值取决于新 Deployment 的频率和稳定性。 升级最大时长(progressDeadlineSeconds) 指定系统在报告 Deployment 进展失败 之前等待 Deployment 取得进展的秒数。 这类报告会在资源状态中体现为 Type=Progressing、Status=False、 Reason=ProgressDeadlineExceeded。Deployment 控制器将持续重试 Deployment。 将来,一旦实现了自动回滚,Deployment 控制器将在探测到这样的条件时立即回滚 Deployment。 如果指定,则此字段值需要大于 .spec.minReadySeconds 取值。 缩容时间窗(terminationGracePeriodSeconds) 优雅删除时间,默认为30秒,删除Pod时发送SIGTERM终止信号,然后等待容器中的应用程序终止执行,如果在terminationGracePeriodSeconds时间内未能终止,则发送SIGKILL的系统信号强行终止。 图1 升级策略
-
HPA工作原理 HPA(Horizontal Pod Autoscaler)是用来控制Pod水平伸缩的控制器,HPA周期性检查Pod的度量数据,计算满足HPA资源所配置的目标数值所需的副本数量,进而调整目标资源(如Deployment)的replicas字段。 想要做到自动弹性伸缩,先决条件就是能感知到各种运行数据,例如集群节点、Pod、容器的CPU、内存使用率等等。而这些数据的监控能力Kubernetes也没有自己实现,而是通过其他项目来扩展Kubernetes的能力,Kubernetes提供Prometheus和Metrics Server插件来实现该能力: Prometheus是一套开源的系统监控报警框架,能够采集丰富的Metrics(度量数据),目前已经基本是Kubernetes的标准监控方案。 Metrics Server是Kubernetes集群范围资源使用数据的聚合器。Metrics Server从kubelet公开的Summary API中采集度量数据,能够收集包括了Pod、Node、容器、Service等主要Kubernetes核心资源的度量数据,且对外提供一套标准的API。 使用HPA(Horizontal Pod Autoscaler)配合Metrics Server可以实现基于CPU和内存的自动弹性伸缩,再配合Prometheus还可以实现自定义监控指标的自动弹性伸缩。 HPA主要流程如图1所示。 图1 HPA流程图
-
通过控制台创建 登录CCE控制台。 单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建工作负载”。 配置工作负载的信息。 基本信息 负载类型:选择无状态工作负载Deployment。 负载名称:填写工作负载的名称。请输入1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 命名空间:选择工作负载的命名空间,默认为default。您可以单击后面的“创建命名空间”,命名空间的详细介绍请参见创建命名空间。 实例数量:填写实例的数量,即工作负载Pod的数量。 容器配置 容器信息 Pod中可以配置多个容器,您可以单击右侧“添加容器”为Pod配置多个容器。 基本信息:配置容器的基本信息。 参数 说明 容器名称 为容器命名。 更新策略 镜像更新/拉取策略。可以勾选“总是拉取镜像”,表示每次都从镜像仓库拉取镜像;如不勾选则优使用节点已有的镜像,如果没有这个镜像再从镜像仓库拉取。 镜像名称 单击后方“选择镜像”,选择容器使用的镜像。 如果需要使用第三方镜像,请参见使用第三方镜像。 镜像版本 选择需要部署的镜像版本。 CPU配额 CPU资源限制值,即允许容器使用的CPU最大值,防止占用过多资源。 内存配额 内存资源限制值,即允许容器使用的内存最大值。如果超过,容器会被终止。 初始化容器(可选) 选择容器是否作为初始化(Init)容器。初始化(Init)容器不支持设置健康检查。 Init容器是一种特殊容器,可以在Pod中的其他应用容器启动之前运行。每个Pod中可以包含多个容器,同时Pod中也可以有一个或多个先于应用容器启动的Init容器,当所有的Init 容器运行完成时,Pod中的应用容器才会启动并运行。详细说明请参见Init容器。 生命周期(可选):在容器的生命周期的特定阶段配置需要执行的操作,例如启动命令、启动后处理和停止前处理,详情请参见设置容器生命周期。 健康检查(可选):根据需求选择是否设置存活探针、就绪探针及启动探针,详情请参见设置容器健康检查。 环境变量(可选):支持通过键值对的形式为容器运行环境设置变量,可用于把外部信息传递给Pod中运行的容器,可以在应用部署后灵活修改,详情请参见设置环境变量。 数据存储(可选):在容器内挂载本地存储或 云存储 ,不同类型的存储使用场景及挂载方式不同,详情请参见存储。 安全设置(可选):对容器权限进行设置,保护系统和其他容器不受其影响。请输入用户ID,容器将以当前用户权限运行。 镜像访问凭证:用于访问镜像仓库的凭证,默认取值为default-secret,使用default-secret可访问SWR镜像仓库的镜像。default-secret详细说明请参见default-secret。 服务配置(可选) 服务(Service)可为Pod提供外部访问。每个Service有一个固定IP地址,Service将访问流量转发给Pod,而且Service可以为这些Pod自动实现负载均衡。 您也可以在创建完工作负载之后再创建Service,不同类型的Service概念和使用方法请参见服务(Service)。 高级配置(可选) 升级策略:指定工作负载的升级方式及升级参数,支持滚动升级和替换升级,详情请参见设置工作负载升级策略。 标签与注解:以键值对形式为工作负载Pod添加标签或注解,填写完成后需单击“确认添加”。关于标签与注解的作用及配置说明,请参见设置标签与注解。 DNS配置:为工作负载单独配置DNS策略,详情请参见工作负载DNS配置说明。 单击右下角“创建工作负载”。
-
通过kubectl命令行创建 本节以nginx工作负载为例,说明kubectl命令创建工作负载的方法。 Autopilot集群暂不支持配置节点亲和与反亲和,所以当您使用kubectl命令行创建工作负载时,为避免Pod创建失败,请不要配置affinity字段。 请参见通过kubectl连接集群,使用kubectl连接集群。 创建一个名为nginx-deployment.yaml的描述文件。其中,nginx-deployment.yaml为自定义名称,您可以随意命名。 vi nginx-deployment.yaml 描述文件内容如下。此处仅为示例,deployment的详细说明请参见kubernetes官方文档。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 1 selector: matchLabels: app: nginx strategy: type: RollingUpdate template: metadata: labels: app: nginx spec: containers: - image: nginx #若使用“开源镜像中心”的镜像,可直接填写镜像名称;若使用“我的镜像”中的镜像,请在SWR中获取具体镜像地址。 imagePullPolicy: Always name: nginx imagePullSecrets: - name: default-secret 以上yaml字段解释如表1。 表1 deployment字段详解 字段名称 字段说明 必选/可选 apiVersion 表示API的版本号。 说明: 请根据集群版本输入: 1.17及以上版本的集群中无状态应用apiVersion格式为apps/v1 1.15及以下版本的集群中无状态应用apiVersion格式为extensions/v1beta1 必选 kind 创建的对象类别。 必选 metadata 资源对象的元数据定义。 必选 name deployment的名称。 必选 spec 用户对deployment的详细描述的主体部分都在spec中给出。 必选 replicas 实例数量。 必选 selector 定义Deployment可管理的容器实例。 必选 strategy 升级类型。当前支持两种升级方式,默认为滚动升级。 RollingUpdate:滚动升级。 ReplaceUpdate:替换升级。 可选 template 描述创建的容器实例详细信息。 必选 metadata 元数据。 必选 labels metadata.labels定义容器标签。 可选 spec: containers image(必选):容器镜像名称。 imagePullPolicy(可选):获取镜像的策略,可选值包括Always(每次都尝试重新下载镜像)、Never(仅使用本地镜像)、IfNotPresent(如果本地有该镜像,则使用本地镜像,本地不存在时下载镜像),默认为Always。 name(必选):容器名称。 必选 imagePullSecrets Pull镜像时使用的secret名称。若使用私有镜像,该参数为必选。 需要Pull SWR容器镜像 仓库的镜像时,参数值固定为default-secret。 当Pull第三方镜像仓库的镜像时,需设置为创建的secret名称。 可选 创建deployment。 kubectl create -f nginx-deployment.yaml 回显如下表示已开始创建deployment。 deployment "nginx" created 查看deployment状态。 kubectl get deployment deployment状态显示为Running,表示deployment已创建成功。 NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 4m5s 参数解析: NAME:工作负载名称。 READY:表示工作负载的可用状态,显示为“可用Pod个数/期望Pod个数”。 UP-TO-DATE:指当前已经完成更新的副本数。 AVAILABLE:可用的Pod个数。 AGE:已经运行的时间。 若工作负载(即deployment)需要被访问,您需要设置访问方式,具体请参见服务(Service)创建对应服务。
-
查看CRD及其对应的资源 登录CCE控制台。 单击集群名称进入集群,在左侧选择“自定义资源”。 在自定义资源页面,查看CRD或CRD对应的资源对象。 查看CRD及其YAML 列表中列出了集群中所有CRD,以及对应的API组、API版本、资源作用范围,单击操作列中的“查看YAML”按钮即可查看CRD的YAML。 您可以通过上方的搜索框,使用关键词搜索全部资源类型。 查看CRD对应的资源对象 在列表中选择一个自定义资源类型,单击操作列中的“查看资源”按钮即可浏览对应的资源对象。
-
设置可用区亲和性 在Autopilot集群中,您可以通过设置工作负载注解实现可用区亲和,将Pod调度到指定的可用区。 登录CCE控制台。 单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建工作负载”。 在“高级配置”中,选择“标签与注解”,并填写以下注解。 键:node.cce.io/node-az-list 值:可用区名称,多个可用区间使用英文逗号隔开。 不同区域的可用区名称请参见地区和终端节点。 图1 设置可用区亲和性 填写其他工作负载参数后,单击“创建工作负载”。
-
创建有状态负载 登录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,容器将以当前用户权限运行。 镜像访问凭证:用于访问镜像仓库的凭证。该凭证仅访问私有镜像仓库时使用,如所选镜像为公开镜像,则无需选择密钥。密钥的创建方法请参见创建密钥。 设置工作负载实例间发现服务配置。 StatefulSet实例间发现通过无头服务(Headless Service)实现,无头服务并不会分配 Cluster IP,并且查询会返回所有Pod的DNS记录,这样就可查询到所有Pod的IP地址。 Service名称:输入工作负载所对应的服务名称,用于集群内工作负载间的互相访问。该服务主要用于实例的内部发现,不需要有单独的IP地址,也不需要做负载均衡。 端口配置: 端口名称:端口名称用于给容器端口命名,通常以端口用途命名。 服务端口:输入服务端口。 容器端口:输入容器的监听端口。 (可选)单击服务配置栏的,进行工作负载服务配置。 若工作负载需要和其它服务互访,或需要被公网访问,您需要添加服务(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。若指定端口时,请确保同个集群内的端口唯一性。 (可选)单击“展开高级配置”,设置工作负载高级配置。 升级策略:指定有状态负载的升级方式,包括整体替换升级和逐步滚动升级,详细参数说明请参见配置工作负载升级策略。 滚动升级:滚动升级将逐步用新版本的实例替换旧版本的实例,升级的过程中,业务流量会同时负载均衡分布到新的和旧的实例上,因此业务不会中断。 替换升级:有状态工作负载的替换升级,需要手动删除旧实例,再创建新实例。升级过程中业务会中断。 实例管理策略: 有序策略:默认实例管理策略,有状态负载会逐个的、按顺序的进行部署、删除、伸缩实例, 只有前一个实例部署Ready或者删除完成后,有状态负载才会操作后一个实例。 并行策略:支持有状态负载并行创建或者删除所有的实例,有状态负载发生变更时立刻在实例上生效。 调度策略:您可设置亲和(affinity)与反亲和(anti-affinity)实现Pod的计划性调度,详细信息请参见配置调度策略(亲和与反亲和)。 标签与注解:您可以单击“添加”为Pod增加标签或注解,新增标签或注解的键不能与已有的重复。 单击“下一步”,对选择的集群进行调度与差异化配置。在选择可调度集群后,可对容器进行“差异化配置”。 集群调度策略: 调度方式: 复制分发:工作负载将在勾选的所有集群中进行部署。 部署集群:单击集群即可将其勾选为工作负载可调度的集群,集群个数请您根据自身业务进行确定。 差异化配置: 工作负载在不同的集群中部署可进行差异化的配置。在选择可调度集群后单击对应集群右上角,即可对每个集群进行差异化配置,差异化后的容器配置只对该集群生效。 具体参数说明请参见容器配置。 设置完成后,单击“创建工作负载”完成创建。
-
操作流程 准备CCE工作负载信息 在通过API网关将容器的工作负载对外开放前,需要在云容器引擎控制台创建CCE集群(VPC网络模型)或Turbo集群。 开放CCE工作负载 方式一:在API网关中直接创建负载通道并开放API,通过负载通道访问CCE工作负载中的实例地址。 方式二:在API网关中一键式导入CCE工作负载,自动生成API和负载通道,通过负载通道访问CCE工作负载中的实例地址。 (可选)配置工作负载标签实现灰度发布 通过CCE工作负载的标签配置,实现灰度发布。灰度发布是服务发布策略之一,旨在通过调整流量分配权重,逐步将流量从旧版本引导到新版本实例上。 父主题: 使用API网关专享版开放云容器引擎CCE工作负载
-
工作负载事件中出现Cluster pod max limit exceeded如何解决? 创建工作负载时,事件中出现以下错误: Cluster pod max limit exceeded(x) 该事件信息表示集群中的Pod数量达到上限值,无法再新建Pod,其中x为集群Pod数量上限,默认为500。 解决方案 请合理规划集群中的Pod数量,避免达到上限值。 集群中安装的插件实例会占用Pod配额,请合理规划。
-
创建工作负载时无法拉取SWR镜像如何解决? 在Autopilot集群中创建工作负载时,出现以下错误: Failed to pull image "swr.cn-north-**.myhuaweicloud.com/**/nginx:latest": rpc error: code = Unknown desc = failed to pull and unpack image "swr.cn-north-7.myhuaweicloud.com/**/nginx:latest": failed to resolve reference "swr.cn-north-7.myhuaweicloud.com/**/nginx/latest": failed to do request: Head "https://swr.cn-north-**.myhuaweicloud.com/v2/**/nginx/manifests/latest": dial tcp 100.79.**.**:443: i/o timeout 报错信息中说明创建工作负载时无法拉取SWR镜像,请检查OBS和SWR终端节点是否正常。 解决方案 如果未创建OBS和SWR终端节点,请参考配置访问SWR和OBS服务的 VPC终端节点 进行配置。
-
设置容器生命周期 云容器实例基于Kubernetes,提供了容器生命周期钩子,在容器的生命周期的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以注册相应的钩子函数。目前提供的生命周期钩子函数如下所示。 启动后处理(PostStart):容器启动后触发。 停止前处理(PreStop):容器停止前触发。 当前云容器实例仅支持命令行类型(Exec)钩子函数。 登录云容器实例控制台,在创建负载配置生命周期过程中,选择“启动后处理”或者“停止前处理”页签。 例如需要在容器中执行“/postStart.sh all”命令,则在界面上做如下配置即可,第一行是命令行脚本名称,第二行是参数。 图1 命令行脚本
-
工作负载基本概念 无状态工作负载(即Kubernetes中的Deployment):实例之间完全独立、功能相同,具有弹性伸缩、滚动升级等特性。如:nginx、wordpress,创建无状态工作负载请参见创建无状态工作负载。 有状态工作负载(即Kubernetes中的StatefulSet):实例之间不完全独立,具有稳定的持久化存储和网络标示,以及有序的部署、收缩和删除等特性。如:mysql-HA、etcd,创建有状态工作负载请参见创建有状态工作负载。 守护进程集(即Kubernetes中的DeamonSet):在集群的每个节点上运行一个Pod,且保证只有一个Pod,适合一些系统层面的应用,如日志收集、资源监控等,创建守护进程集请参见创建守护进程集。
-
排查项一:kubectl创建工作负载时未指定imagePullSecret 以创建一个名为nginx的deployment为例,请排查yaml文件中是否存在imagePullSecrets字段(如下yaml示例中的加粗字段),表示pull镜像时的secret名称。 需要使用 容器镜像服务 的镜像时,参数值固定为imagepull-secret。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 1 selector: matchLabels: app: nginx strategy: type: RollingUpdate template: metadata: labels: app: nginx spec: containers: - image: nginx:alpine imagePullPolicy: Always name: nginx imagePullSecrets: - name: imagepull-secret
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格