云主机开年特惠28.8元/年,0元秒杀等你来抢!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 天翼云新春焕新季 NEW 云主机开年特惠28.8元/年,0元秒杀等你来抢!
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 出海产品促销专区 NEW 爆款云主机低至2折,高性价比,不限新老速来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
  • MCP市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
模型推理服务
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V3.1
  • DeepSeek-R1-0528
  • DeepSeek-V3-0324
  • Qwen3-235B-A22B
  • Qwen3-32B
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 安全邮箱
  • WPS 365 天翼云版
  • 天翼企业云盘(标准服务版)
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      消息队列RocketMQ版_相关内容
      • 接入集群如何通过IPv6接入管控实例
        本节介绍接入集群如何通过IPv6接入管控实例。 操作步骤 资源准备 管控实例vpc和子网支持IPv6,参考:搭建IPv6私有网络,无需购买云主机。 创建内网ELB,参考:创建负载均衡器,网络类型选择内网。 创建管控实例并启用IPv6 1. 在分布式容器云平台控制台左侧导航栏中选择【分布式集群】>【管控实例】>【实例信息】,点击【创建管控实例】进入订购页面。 2. 在管控实例订购页面,选择在【前置步骤】中创建的支持ipv6的vpc、子网,启用ipv6, 选择创建的ELB 3. 提交订单等待管控实例创建完成 4. 在实例信息页面,启用NAT64功能 5. 查看在【前置步骤】中创建的ELB的详情,查看6443监听器的后端主机组, 确认IPV6健康检查状态正常
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        常见问题
        其他
        接入集群如何通过IPv6接入管控实例
      • 用户访问集群API Server的方式有哪些?
        本文介绍用户访问集群API Server的方式有哪些? 用户访问集群API Server的方式有哪些? 当前云容器引擎提供通过证书认证访问集群API Server的方式: 集群API方式:集群API需要使用证书认证访问,在云容器引擎控制台集群信息 > 连接信息获取kubeconfig文件, 通过kubectl直接连接集群API Server。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        常见问题
        API&kubectl
        用户访问集群API Server的方式有哪些?
      • 节点
        如何开启自动弹性伸缩? 在插件市场安装cubeclusterautoscaler插件。 配置中心开启弹性伸缩策略。 按需节点池配置弹性伸缩策略。 如何删除创建失败的节点? 如果集群中出现创建失败的节点,可登录云容器引擎控制台,选择集群进入后,通过 “节点池” > "节点管理" ,退订节点。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        常见问题
        节点
      • password字段加密的方法
        本页主要介绍云容器引擎产品的API使用中password字段加密的方法。 涉及的OpenAPI包括:纳管节点 通过API创建节点时password字段需要进行加密处理,具体方法如下: Java 以下是Java环境下对密码进行加密的示例步骤: plaintext import javax.crypto.Cipher;import java.security.KeyFactory; import java.security.PublicKey; import java.security.spec.X509EncodedKeySpec; import java.util.Base64; public class PasswordEncryptDemo { public final static String publicKeyWord "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCcX/slG/wUF6+qVw34VTW+gwFuVvHMHAPmu9jDn+jwED2A+i87CuYpvcjyYwPij41uS6SPZ/MSWDTO6f8/1YRs0Jbj1SIDNpRl/udTEbsPquFIqHSQSZsQseZS+j0HCAIwLUgMAJHW4AHw622Vgiirsm7gOY0qwnry1BmymiVXlQIDAQAB"; private static String encrypt(String password) throws Exception { Cipher cipher Cipher.getInstance("RSA"); PublicKey publicKey KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.getDecoder().decode(publicKeyWord))); cipher.init(Cipher.ENCRYPTMODE, publicKey); byte[] encrypts cipher.doFinal(password.getBytes("UTF8")); return Base64.getEncoder().encodeToString(encrypts); } public static void main(String[] args) throws Exception { String password "密码"; String encryptPassword encrypt(password); System.out.println(encryptPassword); }} GO 以下是GO环境下对密码进行加密的示例步骤: plaintext package mainimport ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/pem" "fmt")const publicKeyword "BEGIN PUBLIC KEYnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCcX/slG/wUF6+qVw34VTW+gwFuVvHMHAPmu9jDn+jwED2A+i87CuYpvcjyYwPij41uS6SPZ/MSWDTO6f8/1YRs0Jbj1SIDNpRl/udTEbsPquFIqHSQSZsQseZS+j0HCAIwLUgMAJHW4AHw622Vgiirsm7gOY0qwnry1BmymiVXlQIDAQABnEND PUBLIC KEY"func Encrypt(password string) string { publicKeywordByte : []byte(publicKeyword) block, : pem.Decode(publicKeywordByte) if block nil { fmt.Println("解析pem 失败") return "" } publicKeyInterface, error : x509.ParsePKIXPublicKey(block.Bytes) if error ! nil { fmt.Println("Failed to parse public key:", error) return "" } publicKey, ok : publicKeyInterface.(rsa.PublicKey) if !ok { fmt.Println("Public key is not type rsa.publicKey") return "" } ciphertext, err : rsa.EncryptPKCS1v15(rand.Reader, publicKey, []byte(password)) if err ! nil { fmt.Println("Encryption failed:", err) return "" } return base64.StdEncoding.EncodeToString(ciphertext)}func main() { fmt.Println(Encrypt("密码"))}
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        API参考
        附录
        password字段加密的方法
      • 使用延迟绑定的存储类实现跨AZ调度
        本节介绍了云容器引擎的最佳实践:使用延迟绑定的存储类实现跨AZ调度。 天翼云提供多种存储类型,如云硬盘、海量文件、弹性文件等。多数存储创建于特定可用区,若从其他可用区访问,部分存储类型将无法访问,部分虽可访问但存在性能损耗。尤其对于云硬盘或并行文件等对可用区要求严格的存储产品,若节点与存储的可用区不匹配,将导致存储无法正常挂载。为保障可用性与性能,建议多可用区业务采用延迟绑定策略,尽可能使存储与容器应用处于同一可用区。 注意 若工作负载的多个副本分布在多个可用区,且均使用同一支持延迟绑定及多机只读的PVC,则存储将基于首个被调度Pod所在的可用区进行挂载。 名词解释 延迟绑定(WaitForFirstConsumer)是存储类绑定策略的一种。选择该策略后,使用此存储类创建的PVC不会立即执行动态分配操作,而是等待有工作负载使用该PVC且Pod完成调度后,才触发动态分配流程。 Pod调度完成后,K8S会记录其所在节点的可用区信息。动态分配时,系统将根据Pod所在可用区为PVC分配存储并构建PV。 使用方法 创建一个新的存储类时,需根据实际需求选择存储产品并填写相关参数。在“绑定策略”一栏中,请选择延迟绑定(WaitForFirstConsumer)。 创建持久卷申明时,选择这个新的存储类,可以看到持久卷申明,状态会一直处于等待中,事件也是等待动态分配的状态。此时需要新建一个工作负载使用该PVC。 一段时间后可见,持久卷申请已成功绑定,无状态工作负载启动正常,云盘正常挂载。通过存储控制台查询可确认存储所在可用区与工作负载的可用区保持一致。
        来自:
      • 合理分配容器资源
        BestEffort BestEffort Pod 可以使用未分配给其他 QoS 类 Pod 的节点资源。在节点遇到资源压力时,kubelet 将优先驱逐 BestEffort Pod。 Pod 中所有的容器都没有 CPU 和内存的 request 和 limit 场景一 节点内存超过了预留的上限,导致节点 OOMkill。 解决方法: 升级节点的规格 迁移 Pod 至其他资源充足的节点 场景二 Pod 的内存 limit 设置过低,导致容器在使用内存超过限制时触发了OOMkill。此时,kubelet 会重启容器,但由于内存限制仍未改变,容器将再次超过限制并被终止。这种情况会导致容器反复重启,影响应用程序的稳定性。 解决方法: 扩大容器的内存 limit 设置
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        容器
        合理分配容器资源
      • Nginx Ingress实现灰度发布和蓝绿发布
        步骤4:下线旧版本Service v1 将常规Ingress grayv1ing 的服务名称改为grayv2deploy 删除Canary Ingress grayv2ing 删除旧无状态应用 grayv1deploy 和配置项 grayv1
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        发布
        Nginx Ingress实现灰度发布和蓝绿发布
      • 使用容器镜像服务发布应用
        本节介绍了云容器引擎的最佳实践:使用容器镜像服务发布应用。 云容器引擎产品使用容器镜像服务CRS中的容器镜像,发布一个容器应用。 前提条件:已开通容器镜像服务CRS实例,已开通容器集群。 准备容器镜像 用户可以根据自身的业务需求,通过dockerfile构建镜像或者使用其它已经构建好的镜像。 本文使用 docker pull nginx:stablealpine 将容器镜像推送到容器服务实例 1、在容器镜像服务中创建命名空间(可选:也可以直接使用已经创建好的命名空间)。 a.登录镜像服务控制台 b.点击 命名空间 – 创建命名空间 创建一个名称为 mydemons 的命名空间。 2、在容器镜像服务中创建镜像仓库(可选:当命名空间设置为允许自动创建仓库时,可以直接通过推送镜像来创建镜像仓库) a.登录镜像服务控制台 b.点击 镜像仓库 – 创建镜像仓库 创建一个名称为 nginx 的私有镜像仓库。 3、执行docker tag并推送镜像 docker tag nginx:stablealpine /mydemons/nginx:stablealpine docker login docker push /mydemons/nginx:stablealpine 推送成功后,可以在控制台看到镜像的版本。 云容器引擎中创建镜像拉取凭证(可选) 如果上一步骤推送的镜像仓库属性为公共的,则不需要进行此操作,否则需要按以下步骤创建镜像拉取凭证: 1、登录云容器引擎控制台。 2、选择集群。 3、点击命名空间 创建命名空间 mydemo(可选:也可以直接使用已经创建好的命名空间) 4、点击 配置管理 – 镜像拉取凭证 – 新增,填写用户名、密码等信息。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        工作负载
        使用容器镜像服务发布应用
      • Cubecni插件扩容Pod子网
        本节介绍云容器引擎的最佳实践: Cubecni场景下扩容Pod子网。 Cubecni网络场景下,当Pod子网IP不足时,可添加Pod子网以实现Pod子网扩容。 使用限制 非资源委托集群,Pod子网仅支持扩容到3个,请做好规划,建议选择网络位小于等于19的子网,即网段中至少包含8192个IP地址; 添加Pod子网后,不支持移除已使用的Pod子网,请做好规划。 判断Pod子网IP是否充足 可通过如下方式判断子网IP是否充足: 1、查看监控面板,若Pod子网空闲IP数较少,则可考虑扩容Pod子网 2、查看Pod事件,若出现ip not enough等类似信息,说明Pod子网空闲IP已耗尽 新增Pod子网 可在控制台上配置Pod子网,参考如下步骤: 1、在网络控制台创建新的子网,建议创建给Pod使用的子网的网络位小于等于19,即网段中至少包含8192个IP地址; 2、登录云容器引擎控制台,在左侧导航栏单击集群; 3、在集群列表页面,点击目标集群名称,然后点击配置中心 > 网络配置,如下所示,点击 “添加容器子网”:
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        网络
        Cubecni插件扩容Pod子网
      • DNS解析异常问题排查
        问题现象 接入CoreDNS的业务Pod解析域名概率性失败。 从抓包或检查CoreDNS DNS查询请求日志可以发现,A和AAAA通常在同一时间的出现,并且请求的源端口一致。 问题原因 并发A和AAAA的DNS请求触发Linux内核Conntrack模块缺陷,导致UDP报文丢失。 解决方案 考虑采用NodeLocal DNSCache缓存方案,提升DNS解析性能,降低CoreDNS负载。 CentOS、Ubuntu等基础镜像,可以通过options timeout:2 attempts:3 rotate singlerequestreopen等参数优化。 如果容器镜像是以Alpine制作的,建议更换基础镜像。 PHP类应用短连接解析问题较多,如果使用的是PHP Curl的调用,可以使用CURLIPRESOLVEV4参数仅发送IPv4解析。 NodeLocal DNSCache未生效 问题现象 NodeLocal DNSCache没有流量进入,所有请求仍在CoreDNS上。 问题原因 未配置DNSConfig注入,业务Pod实际仍配置了CoreDNS kubedns服务IP作为DNS服务器地址。 业务Pod采用Alpine作为基础镜像,Alpine基础镜像会并发请求所有nameserver,包括本地缓存和CoreDNS。 解决方案 配置DNSConfig自动注入。 如果容器镜像是以Alpine制作的,建议更换基础镜像。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        常见问题
        域名DNS
        DNS解析异常问题排查
      • 服务等级协议
        本节介绍了该产品的服务等级协议。 产品服务等级协议,详情请参见这里
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        相关协议
        服务等级协议
      • 自定义存储资源对象
        自定义通用PV 当需要手动静态制备PV时,可以通过自定义通用PV的方式。使用时,通过创建PVC时使用分配模式为“已有PV”进行绑定。 登录“云容器引擎”管理控制台; 在集群列表页点击进入指定集群; 进入主菜单“存储”——“持久卷”,单击左上角“创建持久卷”; 在创建对话框,配置持久卷PV的相关参数。配置项说明如下: 配置项 说明 名称 PV的名称 持久卷 这里选择“通用” 容量 可以根据需求自定义容量 访问模式 1、ReadWriteOnce:卷可以被一个节点以读写方式挂载 2、ReadOnlyMany:卷可以被多个节点以只读方式挂载 3、ReadWriteMany:卷可以被多个节点以读写方式挂载 回收策略 PV对象的回收策略表示当PVC释放时如何处理该数据卷。 回收策略包括: 1、Retained(保留):用户可以手动回收资源。当PVC对象被删除时,PV卷仍然存在,对应的数据卷被视为"已释放(released)"。 2、Deleted(删除):对于支持Delete回收策略的卷插件,删除动作会将PV对象从Kubernetes中移除,同时也会从外部基础设施中移除所关联的存储资产。 标签 用于对PV对象进行标记和分类的元数据属性,可以赋予PV以自定义的属性或标识。 高级选项 支持选择持久卷类型。PV持久卷是用插件的形式来实现的,目前控制台开放两种类型: 1、NFS:能将 NFS (网络文件系统)挂载到Pod中。需要指定NFS Server地址、NFS目录。 2、Local:local卷代表的是某个被挂载的本地存储设备,例如磁盘、分区或者目录。local卷只能用作静态创建的持久卷,不支持动态配置。 local类型需要指定LocalPV所在节点及目录。 参数配置完成后,点击“确定”。创建成功后,可以在持久卷列表查看,此时PV状态为“可用”。 进入主菜单“存储”——“持久卷声明”,单击左上角“创建持久卷声明”,分配模式选择“已有持久卷”,持久卷名称选择上述自定义PV名称; 参数配置完成后,点击“确定”。创建成功后,可以在持久卷声明列表查看。 进入持久卷声明列表页,等待PVC状态为“已绑定” 。 通用持久卷YAML示例如下,以NFS类型为例: apiVersion: v1 kind: PersistentVolume metadata: name: {PVNAME} spec: capacity: storage: 1Gi volumeMode: Filesystem accessModes: ReadWriteOnce persistentVolumeReclaimPolicy: Retained mountOptions: hard nfsvers4.1 nfs: path: /tmp server: {NFSSERVERADDRESS}
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        存储
        自定义存储资源对象
      • 存储卷
        存储卷配额说明 部分存储类型在每个节点的挂载数量是有限制的。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        存储
        存储卷
      • kubelet配置
        本页主要介绍云容器引擎产品的kubelet配置。 名称 类型 描述 示例值 cpuManagerPolicy String CPU 管理器策略。 none kubeAPIQPS Integer 与 API Server 通信的每秒查询个数。 100 kubeAPIBurst Integer 每秒发送到 API Server 的突发请求数量上限。 100 maxPods Integer 运行的 Pod 个数上限。 110 podPidsLimit Integer Pod 中可使用的 PID 个数上限。 1 eventRecordQPS Integer 每秒可生成的事件数量。 5 eventBurst Integer 事件记录的个数的突发峰值上限。 10 topologyManagerPolicy String 使用的拓扑管理器策略名称。 none topologyManagerScope String 拓扑管理策略的资源对齐粒度 container resolvConf String 容器指定DNS解析配置文件 runtimeRequestTimeout String 除长期运行的请求之外所有运行时请求的超时时长 120s serializeImagePulls Boolean 是否逐一拉取镜像。 FALSE registryPullQPS Integer 镜像仓库的 QPS 上限。 5 registryBurst Integer 突发性镜像拉取的个数上限。 10 containerLogMaxFiles Integer 每个容器可以存在的日志文件个数上限。 20 containerLogMaxSize String 日志文件被轮转之前可以到达的最大大小。 50Mi imageGCHighThresholdPercent Integer 镜像用量超过此阈值,则镜像垃圾回收会持续执行。 80 imageGCLowThresholdPercent Integer 镜像用量低于此阈值时不会执行镜像垃圾回收操作。 70 cpuCFSQuota Boolean CPU CFS 配额约束开关。 FALSE systemReservedMem String 系统内存预留 100Mi kubeReservedMem String Kubernetes组件内存预留 100Mi evictionHard:memory.available String 硬驱动逐配置项:节点可用内存值 100Mi evictionHard:nodefs.available String 硬驱动逐配置项:Kubelet使用的文件系统的可用容量的百分比 10% evictionHard:nodefs.inodesFree String 硬驱动逐配置项:Kubelet使用的文件系统的可用inodes数的百分比 5% evictionHard:imagefs.available String 硬驱动逐配置项:容器运行时存放镜像等资源的文件系统的可用容量的百分比 10% evictionHard:imagefs.inodesFree String 硬驱动逐配置项:容器运行时存放镜像等资源的文件系统的可用inodes数的百分比 10% evictionHard:pid.available String 硬驱动逐配置项:留给分配Pod使用的可用PID数的百分比 10% evictionSoft:memory.available String 软驱逐配置项:节点可用内存值 100Mi evictionSoft:nodefs.available String 软驱逐配置项:Kubelet使用的文件系统的可用容量的百分比 10% evictionSoft:nodefs.inodesFree String 软驱逐配置项:Kubelet使用的文件系统的可用inodes数的百分比 10% evictionSoft:imagefs.available String 软驱逐配置项:容器运行时存放镜像等资源的文件系统的可用容量的百分比 10% evictionSoft:imagefs.inodesFree String 软驱逐配置项:容器运行时存放镜像等资源的文件系统的可用inodes数的百分比 10% evictionSoft:pid.available String 软驱逐配置项:留给分配Pod使用的可用PID数的百分比 10% evictionSoftGracePeriod:memory.available String 驱逐周期 10s evictionSoftGracePeriod:nodefs.available String 驱逐周期 10s evictionSoftGracePeriod:nodefs.inodesFree String 驱逐周期 10s evictionSoftGracePeriod:imagefs.available String 驱逐周期 10s evictionSoftGracePeriod:imagefs.inodesFree String 驱逐周期 10s evictionSoftGracePeriod:pid.available String 驱逐周期 10s
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        API参考
        附录
        kubelet配置
      • 密钥Secret的安全使用
        本节介绍云容器引擎的最佳实践:密钥Secret的安全使用。 在Kubernetes中,您可以使用Secret对象来存储敏感信息,例如密码、OAuth令牌和ssh密钥等。但Secret在etcd中以base64编码格式存储,base64编码不等于加密。因此建议用如下方式使用Secret。 严格限制Secret权限 通过文件挂载的方式使用Secret时,容器内映射的文件权限默认为0644,建议为其配置更严格的权限,例如: apiversion: v1 kind: Pod metadata: name: podauth spec: containers: name: mypod image: nginx volumeMounts: name: example mountPath: "/etc/example" volumes: name: example secret: secretName: mysecret defaultMode: 256 其中“defaultMode: 256”,256为10进制,对应八进制的0400权限。 “隐藏”Secret文件 使用文件挂载的方式时,通过配置Secret的文件名实现文件在容器中“隐藏”的效果: apiVersion: v1 kind: Secret metadata: name: mysecretfile data: .mysecretfile: dmFsdWUtMg0KDQo apiVersion: v1 kind: Pod metadata: name: mysecretfilepod spec: volumes: name: myvolume secret: secretName: mysecretfile containers: name: secretcontainer image: nginx command: ls "1" "/etc/volume" volumeMounts: name: myvolume readOnly: true mountPath: "/etc/volume" 这样.mysecretfile目录在/etc/volume/路径下通过“ls l”查看不到,但可以通过“ls al”查看到。 加密Secret文件内容 用户应在创建Secret前自行加密敏感信息,使用时再解密。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        安全
        密钥Secret的安全使用
      • 容器定时伸缩(CronHPA)
        使用CronHPA调整HPA伸缩范围 CronHPA支持定时调整HPA策略的最大和最小实例数,满足复杂场景下的工作负载伸缩。 由于HPA与CronHPA均通过scaleTargetRef字段来获取伸缩对象,如果CronHPA和HPA同时设置Deployment为伸缩对象,两个伸缩策略相互独立,后执行的操作会覆盖先执行的操作,导致伸缩效果不符合预期,因此需避免这种情况发生。 当CronHPA与HPA兼容使用时,需要将CronHPA中的scaleTargetRef字段设置为HPA策略,而HPA策略的scaleTargetRef字段设置为Deployment,这样CronHPA策略会在固定的时间调整HPA策略的实例数量上下限,即可实现工作负载定时伸缩和弹性伸缩的兼容。 步骤 1 为Deployment创建HPA策略。 plaintext apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: nginxdeploymentbasichpa namespace: default spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: nginxdeploymentbasic minReplicas: 3 maxReplicas: 10 metrics: type: Resource resource: name: cpu target: type: Utilization averageUtilization: 32 步骤 2 创建CronHPA策略,并关联步骤1中创建的HPA策略。 plaintext apiVersion: autoscaling.ctyun.com/v1beta1 kind: CronHorizontalPodAutoscaler metadata: labels: controllertools.k8s.io: "1.0" name: cronhpasample spec: scaleTargetRef: apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler name: nginxdeploymentbasichpa jobs: name: "scalea" schedule: "0 51 " targetSize: 1 name: "scaleb" schedule: "0 58 " targetSize: 3 在CronHPA与HPA共同使用时,CronHPA规则是在HPA策略的基础上生效的,CronHPA不会直接调整Deployment的副本数目,而是通过HPA来操作Deployment,因此了解以下参数可帮助您更好地理解其工作原理。 CronHPA的目标实例数(targetReplicas):表示CronHPA设定的实例数,在CronHPA生效时用于调整HPA的最大/最小实例数,从而间接调整Deployment实例数。 HPA的最小实例数(minReplicas):Deployment的实例数下限。 HPA的最大实例数(maxReplicas):Deployment的实例数上限。 Deployment的实例数(replicas):CronHPA策略生效之前Deployment的Pod数量。 在CronHPA规则生效时,通过比较目标实例数(targetReplicas)与实际Deployment的实例数,并结合HPA的最小实例数或最小实例数的数值大小,来调整Deployment实例数的上下限值。 下表格以举例的形式说明了不同场景下CronHPA修改HPA的情况。 扩缩容条件 扩缩容结果 兼容规则说明 HPA(min/max) CronHPA目标副本数 当前副本数 扩缩容结果 兼容规则说明 1/10 5 5 HPA(min/max):1/10 副本数:5 当CronHPA中的目标副本数和当前副本数一致时,HPA中的minReplicas和maxReplicas以及当前的副本数无需变更。 1/10 4 5 HPA(min/max):1/10 副本数:5 当CronHPA中的目标副本数低于当前副本数时,保留当前副本数。 1/10 6 5 HPA(min/max):6/10 副本数:6 当CronHPA中的目标副本数高于当前副本数时,保留CronHPA的目标副本数。 CronHPA目标副本数高于HPA的minReplicas时,修改HPA的副本数下限。 5/10 4 5 HPA(min/max):4/10 副本数:5 当CronHPA中的目标副本数低于当前副本数时,保留当前应用副本数。 当CronHPA目标副本数低于HPA的minReplicas时,修改HPA的副本数下限。 5/10 11 5 HPA(min/max):11/11 副本数:11 当CronHPA中的目标副本数高于当前副本数时,保留CronHPA的目标副本数。 当CronHPA目标副本数高于HPA的maxReplicas时,修改HPA的副本数上限。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        用户指南
        弹性伸缩
        工作负载弹性伸缩
        容器定时伸缩(CronHPA)
      • 容器磁盘读写限速
        本节介绍 容器磁盘读写限速的用户指南。 通过容器磁盘读写限速,可以帮助用户为不同应用配置磁盘带宽与 IOPS 限制,实现资源隔离与性能保障。 适用场景 需要防止单一容器占用过多磁盘带宽或 IOPS,影响其他业务。 希望为关键业务或普通业务设置不同的磁盘性能等级。 功能说明 支持通过 Pod 注解,分别限制容器的磁盘读写带宽与 IOPS: 注解 含义 koordinator.sh/blkioQOS Pod 磁盘限速 JSON 注解 注意 通过 koordinator.sh/blkioQOS 注解,以 JSON 格式配置具体设备的读写带宽/IOPS,单位为字节/秒。需根据实际设备名和需求填写。 配置方法 在 Pod/Deployment YAML 的 metadata.annotations 字段中添加 koordinator.sh/blkioQOS 注解。例如: plaintext apiVersion: apps/v1kind: Deploymentmetadata: name: fiotest namespace: demospec: replicas: 1 template: metadata: labels: app: fiotest annotations: koordinator.sh/blkioQOS: { "blocks": [ { "name": "/dev/vda", "type": "device", "ioCfg": { "readBPS": 10485760, "writeBPS": 10485760 } } ] } spec: containers: name: fio image: fio:latest command: ["sleep", "9999999"] volumeMounts: name: testvolume mountPath: /test volumes: name: testvolume hostPath: path: /var/lib/fiotest type: DirectoryOrCreate
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        用户指南
        调度
        在离线混部
        容器磁盘读写限速
      • 应用高可用部署推荐
        本节介绍云容器引擎的最佳实践: 应用高可用部署推荐。 基本原则 可参考如下几点,实现容器应用高可用部署: 1. 集群控制节点高可用,控制节点数大于等于3; 2. 集群需有多个属于不同可用区的节点,业务根据自身需求合理配置调度策略,以实现多可用区部署及资源均匀分配; 3. 创建多个在不同可用区的节点池,通过节点池做节点伸缩; 4. 工作负载实例数需大于等于2; 5. 配置工作负载的亲和性规则,让Pod尽量分布在不同可用区、不同节点上。 操作步骤 假设集群3个控制节点和3个工作节点,工作节点可用区分布如下所示: $ kubectl get node L topology.kubernetes.io/zone grep v master NAME STATUS ROLES AGE VERSION ZONE ccseagent1b54ffbc17 Ready 40m v1.25.6 cnxinan11A ccseagent59ab9e7689 Ready 38m v1.25.6 cnxinan12A ccseagenta7527e3e80 Ready 36m v1.25.6 cnxinan13A 创建工作负载,如下所示,定义两条podAntiAffinity反亲和性规则: 工作负载多实例配置可用区反亲和,参数设置如下: 权重weight:权重值越高会被优先调度,本示例设置为50; 拓扑域topologyKey:为节点标签,用于指定调度时的作用域,下述示例为topology.kubernetes.io/zone,该标签用于识别节点在哪个可用区。 标签选择labelSelector:选择Pod的标签,与工作负载本身反亲和。 工作负载多实例配置节点反亲和,参数设置如下: 权重weight:设置为50; 拓扑域topologyKey:为标签kubernetes.io/hostname,该标签值为节点名; 标签选择labelSelector:即工作负载多个实例Pod的标签,实例间反亲和。 kind: Deployment apiVersion: apps/v1 metadata: name: demo namespace: default spec: replicas: 2 selector: matchLabels: app: demo template: metadata: labels: app: demo spec: containers: name: container0 image: nginx:latest resources: limits: cpu: 300m memory: 512Mi requests: cpu: 400m memory: 512Mi affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: weight: 50 podAffinityTerm: labelSelector:
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        容灾
        应用高可用部署推荐
      • 集群命名空间RBAC授权
        本节介绍了云容器引擎的最佳实践; 集群命名空间RBAC授权。 应用现状 云容器引擎的权限控制有两种:集群权限和命名空间权限,以下篇幅将介绍云容器引擎针对集群权限的ClusterRole的创建、权限绑定和验证做简单介绍。 RBAC(RoleBased Access Control) 是基于角色(Role)的访问控制。您可以通过RBAC将权限和集群角色关联,以达到为不同的角色成员配置不同的权限,从而降低账号的安全风险。RBAC的Kubernetes对象的Role或者ClusterRole中包含一组代表相关权限的规则。Role用来在某个命名空间内设置访问权限,ClusterRole则是用于为集群范围的资源定义访问权限。 权限策略说明 您可自行编写权限策略,或通过云容器引擎的控制台创建自定义策略。 ClusterRole创建 针对您要定义集群范围的角色,那么请使用ClusterRole。下面是一个创建ClusterRole的YAML示例。 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: clusterRoletest rules: apiGroups: metrics.k8s.io resources: pods verbs: get list watch 关于ClusterRole或者Role的更多信息,请参见Role和ClusterRole。 预置角色权限说明 预置角色 集群内RBAC权限 管理员 对集群所有命名空间下 Kubernetes 资源的 RBAC 读写权限, 对集群节点、存储卷、命名空间、配额的读写权限 运维人员 对集群所有命名空间下控制台可见 Kubernetes 资源的 RBAC 读写权限, 对集群节点、存储卷、命名空间、配额的只读权限 开发人员 对集群所有命名空间或所选命名空间下控制台可见 Kubernetes 资源的 RBAC 读写权限 受限人员 对集群所有命名空间或所选命名空间下控制台可见 Kubernetes 资源的 RBAC 只读权限 自定义 权限由您所选择的 ClusterRole 决定,请在确定所选 ClusterRole 对各类资源的操作权限后再进行授权,以免子账号获得不符合预期的权限
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        权限
        集群命名空间RBAC授权
      • 通过特权容器配置内核参数
        本节介绍了云容器引擎的最佳实践:通过特权容器配置内核参数。 前提条件 开通特权容器需要通过命令行模式连接到目标集群,所以需要先保存集群kubeconfig,并且配置好kubectl环境。 注意 修改主机的内核配置可能会对系统的稳定性和安全性产生影响,因此在进行这些操作时请谨慎考虑,并确保您具备足够的了解和经验。 后台操作流程 编写应用yaml,创建特权容器,示例如下: kind: DaemonSet apiVersion: apps/v1 metadata: name: daemonsettest labels: name: daemonsettest spec: selector: matchLabels: name: daemonsettest template: metadata: labels: name: daemonsettest spec: hostNetwork: true containers: name: daemonsettest image: nginx:alpine command: "/bin/sh" args: "c" while :; do time$(date);done imagePullPolicy: IfNotPresent lifecycle: postStart: exec: command: sysctl "w" net.ipv4.tcptwreuse1 securityContext: privileged: true imagePullSecrets: name: defaultsecret spec.spec.containers.lifecycle 字段是指容器启动后执行设置的命令;spec.spec.containers.securityContext.privileged: true是指开启特权容器。 使用以上yaml文件创建特权容器:kubectl apply f daemonsettest.yaml 执行后查看是否容器启动成功:kubectl get daemonset 当看到READY数量跟节点数量相同时,说明已经全部创建成功,则可以在当前主机执行kubectl get po grep daemonsettest 或者docker ps grep daemonsettest查找对应容器。 通过命令 docker exec it 356d0e5a831c /bin/sh 或 kubectl exec it podname bash 进入容器内部,然后执行命令sysctl a grep net.ipv4.tcptwreuse查看对应的内容是否有修改命令行终端确认修改系统参数成功。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        容器
        通过特权容器配置内核参数
      • 使用hostAliases配置Pod /etc/hosts
        本节介绍云容器引擎的最佳实践:使用hostAliases配置Pod /etc/hosts。 使用场景 DNS配置不满足要求时,可以通过配置 hostAliases 向pod的“/etc/hosts”文件中添加域名解析条目。 操作步骤 进入云容器引擎集群控制台 选择工作负载>无状态>创建Deployment 点击高级配置,设置主机别名配置 远程登录pod查看配置的 hostAliases 是否正常,执行如下命令:
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        容器
        使用hostAliases配置Pod /etc/hosts
      • 容器与节点时区同步
        容器、容器日志时间与节点同步 容器和节点时间同步后,容器的日志时间戳仍可能与节点时间相差8小时。比较典型的应用场景是容器的工作进程为使用tomcat应用。 tomcat应用的日志输出默认使用UTC时间,即便容器与节点时间已经同步,应用的日志输出也会相差8小时,该问题需要在构建镜像阶段解决。 1、先获取基础tomcat镜像的catalina.sh脚本 mkdir tmp docker run rm tomcat: v tmp:/mnt cp /usr/local/tomcat/bin/catalina.sh /mnt/catalina.sh 2、修改catalina.sh脚本的JAVAOPTSshell变量,添加Duser.timezoneGMT+08配置项 JAVAOPTS"$JAVAOPTS Djava.protocal.handler.pkgsorg.apache.catalina.webresources Duser.timezoneGMT+08" 3、使用Dockerfile重建tomcat应用容器镜像,将修改后的catalina.sh脚本拷贝到构建目录,然后在Dockerfile中添加下列构建指令 COPY catalina.sh /usr/local/bin/tomcat/bin/catalina.sh
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        容器
        容器与节点时区同步
      • 使用OceanFS静态存储卷(sharePath模式)
        2、创建持久卷声明(PVC) 使用kubectl连接集群,创建示例yaml文件pvcexample.yaml: plaintext apiVersion: v1 kind: PersistentVolumeClaim metadata: name: {YOURPVCNAME} namespace: default spec: accessModes: ReadWriteOnce resources: requests: storage: 100Gi volumeMode: Filesystem volumeName: {YOURPVNAME} 替换PV名称 执行以下命令,创建PVC plaintext kubectl apply f pvcexample.yaml 查看创建的PVC: 登录“云容器引擎”管理控制台; 在集群列表页点击进入指定集群; 进入主菜单“存储”——“持久卷声明”,在列表查看。 3、创建工作负载 使用kubectl连接集群,创建示例yaml文件stsexample.yaml: plaintext apiVersion: "apps/v1" kind: "StatefulSet" metadata: name: "oceanfsstest" namespace: "default" spec: podManagementPolicy: "OrderedReady" replicas: 1 revisionHistoryLimit: 10 serviceName: "" template: spec: containers: image: "nginx:1.25alpine" imagePullPolicy: "IfNotPresent" name: "container1" resources: limits: cpu: "100m" memory: "256Mi" requests: cpu: "100m" memory: "256Mi" terminationMessagePath: "/dev/terminationlog" terminationMessagePolicy: "File" volumeMounts: mountPath: "/ccetmp" name: "volume1" dnsPolicy: "ClusterFirst" restartPolicy: "Always" schedulerName: "defaultscheduler" securityContext: {} terminationGracePeriodSeconds: 30 volumes: name: "volume1" persistentVolumeClaim: claimName: {YOURPVCNAME} 替换为步骤2中的PVC名称 updateStrategy: rollingUpdate: partition: 0 type: "RollingUpdate" 执行以下命令,创建StatefulSet plaintext kubectl apply f stsexample.yaml 查看创建的有状态负载: 登录“云容器引擎”管理控制台,在集群列表页点击进入指定集群。进入主菜单“工作负载”——“有状态”,在列表查看。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        用户指南
        存储
        海量文件
        使用OceanFS静态存储卷(sharePath模式)
      • 服务发布
        新版本服务。 path: / backend: service: name: newnginx port: number: 80 pathType: ImplementationSpecific 查看路由访问情况。执行以下命令,访问服务。 curl H"Host: www.ctyun.com" 预期输出: old 执行以下命令,请求头中满足foobar的客户端请求访问服务。 curl H"Host: www.ctyun.com"H"foo: bar" 预期输出: new 重复执行以上命令。可以看到,仅请求头中满足foobar的客户端请求,且只有50%的流量才能路由到新版本服务。重复执行以上命令。可以看到,仅请求头中满足foobar的客户端请求,且只有50%的流量才能路由到新版本服务。按照以下内容,修改步骤2创建的Ingress。 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: grayreleasecanary annotations: 开启Canary。 nginx.ingress.kubernetes.io/canary: "true" 仅允许50%的流量会被路由到新版本服务newnginx中。 默认总值为100。 nginx.ingress.kubernetes.io/canaryweight: "50" spec: rules: host: www.ctyun.com http: paths: 新版本服务。 path: / backend: service: name: newnginx port: number: 80 pathType: ImplementationSpecific 执行以下命令,查看路由访问情况。 curl H"Host: www.ctyun.com" 重复执行以上命令,可以看到仅50%的流量路由到新版本服务。 步骤三:删除老版本服务基于Helm的发布管理 系统运行一段时间后,当新版本服务已经稳定并且符合预期后,需要下线老版本的服务,仅保留新版本服务在线上运行。为了达到该目标,需要将旧版本的Service指向新版本服务的Deployment,并且删除旧版本的Deployment和新版本的Service。修改旧版本Service,使其指向新版本服务。 apiVersion:v1 kind: Service metadata: name:oldnginx spec: ports: port:80 protocol:TCP targetPort:80 selector:
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        发布
        服务发布
      • 设置容器规格
        资源使用超出限制 如果容器使用资源超过限制,可能会被Kubernetes终止。检查应用程序代码,确保资源使用在合理范围内。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        用户指南
        工作负载(旧版)
        设置容器规格
      • 容器内获取客户端源IP
        本节介绍云容器引擎的最佳实践:容器内获取客户端源IP。 客户端真实源IP地址可以用于分析网站流量和用户行为。通过分析来源IP地址,可以了解用户的地理位置、浏览器偏好和其他用户行为指标。这些数据可以用于优化网站设计、定位目标受众和改善用户体验。 在容器化场景下,客户端和容器服务端之间可能存在多种代理服务器,外部请求在经过多次转发后,容器中服务无法获取到客户端真实源IP。 场景介绍 不同请求类型,获取客户端真实IP说明如下: 类型 说明 HTTP/HTTPS请求 通过在ELB监听器开启XForwardedFor,业务应用可以通过XForwardedFor头部提取到源地址,从而获得客户端真实IP。 TCP请求 通过在后端主机配置TOA插件获取客户端的真实源IP地址。TOA是操作系统的内核模块,需要在ELB后端主机中安装TOA插件,以实现后端主机可获取客户端真实源IP地址的目的。 对于HTTP/HTTPS请求,具体实现分为以下两类: 服务类型 说明 负载均衡 ELB访问方式,是通过弹性负载均衡ELB产品来实现负载均衡。通过创建LoadBalancer SVC时,指定注解方式开启XForwardedFor。当通过ELB访问工作负载时,可以通过XForwardedFor头部提取到源地址。 节点端口(NodePort) NodePort访问方式,是将容器端口映射到节点端口,实现获取客户端源IP有以下方式: 当配置SVC外部流量策略为Local时,表示请求不经过转发,可以获取客户端源ip; 当配置SVC外部流量策略为Cluster时,需要通过手动创建监听器及后端主机组,开启XForwardedFor实现。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        网络
        容器内获取客户端源IP
      • 如何将Ingress服务暴露到公网
        本节介绍了云容器引擎的最佳实践:如何将Ingress服务暴露到公网。 如果你是通过Ingress访问你的服务,并且想通过公网访问,可为集群Ingress服务配置天翼云ELB。 具体配置步骤如下: 1、登录到控制台,进入服务所在的集群,选择菜单“网络“>”服务“,命名空间选择“kubesystem”,点击”创建服务“按钮。 2、其中负载均衡一栏,选择公网访问,从列表中选择一个要绑定的负载均衡(如果列表为空,请确认你是否有可用的负载均衡,没有的话,请先到ELB控制台创建)。 端口映射一栏,填写好容器端口和服务端口(该端口是负载均衡的监听端口)。如下所示: 注意 nginxingresscontroller pod 默认的http端口是10080,默认的https端口是10443。 如需修改,可以到nginxingresscontroller插件yaml修改端口号。 3、工作负载绑定一栏,类型选择Deployment,名称选择nginxingresscontrollernginxingresscontroller,然后点击提交。 注意 选择工作负载前请先确认nginxingresscontroller插件的版本,如果版本小于1.3.5,这里工作负载类型应选择DaemonSet 4、待ELB绑定后,即可通过服务列表中“集群外访问”中的外网地址访问服务了。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        网络
        如何将Ingress服务暴露到公网
      • CoreDNS配置优化实践
        监控CoreDNS状态 云容器引擎监控组件默认配置了CoreDNS相关的指标监控和告警规则。具体安装操作请参见集群监控。 合理调整集群CoreDNS部署状态 CoreDNS应部署于您的Kubernetes集群中,默认情况下与您的业务容器运行在同样的集群节点上,注意事项如下: 合理调整CoreDNS副本数 合理分配CoreDNS副本运行的位置 手动扩容副本数 基于CPU负载指标自动扩容副本数(HPA) 合理调整CoreDNS副本数 建议您在任何情况下设置CoreDNS副本数应至少为2,且副本数维持在一个合适的水位以承载整个集群的解析。 CoreDNS所能提供的域名解析QPS与CPU消耗成正相关,开启缓存的情况下,单个CPU可以支撑10000+ QPS的域名解析请求。不同类型的业务对域名请求的QPS需求存在较大差异,您可以观察每个CoreDNS副本的峰值CPU使用量,如果其在业务峰值期间占用CPU大于一核,建议您对CoreDNS进行副本扩容。无法确定峰值CPU使用量时,可以保守采用副本数和集群节点数1:8的比值来部署,即每扩容8个集群节点,增加一个CoreDNS副本,但副本数不应大于10。针对100节点以上的集群,推荐使用节点DNS缓存NodeLocal DNSCache。 当集群节点数目长时间较为固定时,可以手动扩容副本数。 如果集群节点数持续增长,可以设置自动扩容副本数。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        网络
        CoreDNS配置优化实践
      • 对象存储概述
        使用场景 根据业务需求,对象存储类型的存储卷常见以下使用场景: 使用对象存储动态存储卷:即用户无需预先创建bucket,只需创建PVC时指定存储类(StorageClass),存储插件cstorcsi就会自动创建bucket及对应PV资源,推荐使用。 使用对象存储静态存储卷:即用户预先创建bucket,并创建对应的PV资源。之后在创建PVC时选择已有PV进行挂载。适用于已有可用的底层存储或底层存储需要包周期的场景。 有状态负载挂载对象存储:支持有状态负载通过PVC模版的方式,实现为每一个Pod关联一个独有的PVC及PV,当Pod被重新调度后,仍然能够根据该PVC名称挂载原有的数据。 说明 通过存储插件动态创建的bucket,默认计费模式为按需订购。关于对象存储按需计费详情,请参见点这里。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        用户指南
        存储
        对象存储(CT-ZOS)
        对象存储概述
      • 负载均衡
        方案 四层或七层转发 支持高可用 支持HTTPS 优缺点 适用场景 NodePort 四层 是 否 优点:使用简单,无须额外配置 TCP或HTTP服务、访问量不大 NodePort+Nginx 七层 是 是 缺点:需要额外手动部署与配置Nginx HTTPS服务,访问量不大 NodePort+LVS 四层 是 否 缺点:需要额外手动部署与配置LVS TCP或HTTP服务,访问量大 NodePort+Nginx+LVS 七层 是 是 缺点:需要额外手动部署与配置Nginx和LVS HTTPS服务,访问量大 Ingress 七层 是 当前不支持,后续会支持 优点:使用简单;缺点:只支持域名访问,不支持IP访问,需要自行配置DNS服务器 HTTP服务(后续支持HTTPS服务),访问量不大 Ingress+LVS 七层 是 当前不支持,后续会支持 缺点:需要额外部署LVS,只支持域名访问,不支持IP访问,需自行配置DNS服务器 HTTP服务(后续支持HTTPS服务),访问量大
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        网络
        负载均衡
      • 集群网络地址段规划实践
        2、Cubecni VPC网络: 使用Cubecni网络插件时,容器直接从VPC子网中获取IP地址,此时容器网段为VPC子网网段。请注意该容器子网的大小决定了该集群可创建Pod数上限,如下所示: VPC网段 容器网段 Service网段 最大可分配Pod地址数 192.168.0.0/16 192.168.0.0/20 10.96.0.0/16 4090 服务网段 订购集群时,可指定Service地址段(即服务网段)。Service可为一个或一组Pod提供固定的IP地址,并为这些Pod做负载均衡。每个Service都有自己的地址,Service地址及域名只能在集群内部使用。服务网段不能和节点所属VPC网段及容器网段重叠。 单VPC下单集群场景 Calico IPIP隧道网络 使用Calico网络插件的集群,网络地址段规划如下图所示: VPC网段:集群所在的VPC网段,该网段大小影响可创建的子网大小和数量; 节点子网网段:集群节点所在的子网网段,该网段大小直接影响后续可新增的节点数; 容器网段:容器网段不能和VPC网段、服务网段重叠; 服务网段:服务网段不能和VPC网段、容器网段重叠。 Cubecni VPC网络 使用Cubecni网络插件的集群,网络地址段规划如下图所示: VPC网段:集群所在的VPC网段,该网段大小影响可创建的子网大小和数量; 节点子网网段:集群节点所在的子网网段,该网段大小直接影响后续可新增的节点数; 容器子网网段:是VPC的子网,Pod直接从对应子网分配IP。因为子网可用IP数直接决定了Pod数上限,建议选择一个大子网专用于容器子网网段,以免出现子网可用IP不足的情况,例如订购时选择子网192.168.64.0/18,则有16380个可用IP为Pod提供地址; 服务网段:服务网段不能和VPC网段重叠; 单VPC下多集群场景
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        网络
        集群网络地址段规划实践
      • 有状态工作负载配置存储实践
        本节介绍了云容器引擎的最佳实践:有状态工作负载配置存储实践。 对于有状态应用实例需要持久化状态,每个实例有其独特的身份和持久化的数据存储。有状态应用的存储使用跟其他的工作负载存在差异。 使用方法 有状态应用PVC使用方法选择包括:已有存储卷申明(PVC)和存储卷申明模版(VolumeClaimTemplate)。 已有存储卷声明(PVC)方式较少使用,适用于有状态工作负载的多个副本共享同一PVC的场景。但实际需求中,要求每个副本具备独立存储的情况并不常见。 存储卷声明模板(VolumeClaimTemplate)是有状态工作负载特有的配置项。通过在该工作负载中定义模板,K8S会在创建每个副本时自动生成一个与之对应的PVC,命名规则为{存储声明模板名称}{有状态工作负载名称}{序号}。本文将重点阐述此方法。 注意 有状态工作负载删除后,其关联的PVC会保留。若用户确认不再需要,需手动删除这些PVC。(可通过启用K8S特性门控StatefulSetAutoDeletePVC为true,实现有状态工作负载删除后自动清理PVC)。 若不删除PVC,后续在同一命名空间内创建同名有状态工作负载并使用同名存储卷声明模板时,新工作负载将自动复用原有的PVC。 1. 点击“创建存储卷申明模版”. 2. 定义模版的存储申明类型、已有存储类、容量、卷模式、访问模式. 存储申明类型: 天翼云各类型的产品,用户根据需要自行选择对应的产品。 已有存储类: 用户需要提前创建好产品对应的存储类,用于动态分配。 容量: 存储容量大小 卷模式: 文件系统(Filesystem):默认方式,该类型卷会被 Pod 挂载(Mount) 到某个目录。 如果卷的存储来自某块设备而该设备目前为空,Kuberneretes 会在第一次挂载卷之前在设备上创建文件系统。 块设备(Block): 这类卷以块设备的方式交给 Pod 使用,其上没有任何文件系统。 这种模式对于为 Pod 提供一种使用最快可能方式来访问卷而言很有帮助, Pod 和卷之间不存在文件系统层。目前仅云硬盘支持该功能 访问模式: 单机读写(ReadWriteOnce):卷可以被一个节点以读写方式挂载 多机只读(ReadOnlyMany):卷可以被多个节点以只读方式挂载 多机读写(ReadWriteMany):卷可以被多个节点以读写方式挂载 3. 创建了一个有状态负载test,存储卷申明模版如下: 4. 有状态工作负载成功启动。 5. 查看pod的yaml,可以看到test1的pod,使用了disktest1这个PVC。 6. PVC列表中,两个PVC均被创建出来并且bound。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        存储
        有状态工作负载配置存储实践
      • 1
      • ...
      • 178
      • 179
      • 180
      • 181
      • 182
      • ...
      • 237
      跳转至
      推荐热词
      天翼云运维管理审计系统天翼云云服务平台云服务备份云日志服务应用运维管理云手机云电脑天翼云云hbase数据库电信云大数据saas服务电信云大数据paas服务轻量型云主机天翼云客户服务电话应用编排服务天翼云云安全解决方案云服务总线CSB天翼云服务器配置天翼云联邦学习产品天翼云云安全天翼云企业上云解决方案天翼云产品天翼云视频云存储

      天翼云最新活动

      安全隔离版OpenClaw

      OpenClaw云服务器专属“龙虾“套餐低至1.5折起

      天翼云新春焕新季

      云主机开年特惠28.8元/年,0元秒杀等你来抢!

      云上钜惠

      爆款云主机全场特惠,2核4G只要1.8折起!

      中小企业服务商合作专区

      国家云助力中小企业腾飞,高额上云补贴重磅上线

      出海产品促销专区

      爆款云主机低至2折,高性价比,不限新老速来抢购!

      天翼云奖励推广计划

      加入成为云推官,推荐新用户注册下单得现金奖励

      产品推荐

      弹性云主机 ECS

      物理机 DPS

      GPU云主机

      轻量型云主机

      天翼云CTyunOS系统

      人脸实名认证

      人脸活体检测

      通用型OCR

      车牌识别

      推荐文档

      迁移准备

      产品优势

      组长权限

      配置日志存储时长

      FTP搭建部署(附软件下载地址)

      文档下载

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 天翼云国际站
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号