容器服务 TKE

Tencent Kubernetes Engine

帮你把一堆小应用整齐地装进盒子并自动调度,哪台机器空了就放哪,坏了自动重开。

计算与运行时出现时间 · 2017 年前后集群管理费按集群规格收取,节点机器按所选规格计费,两者分开结算。容器Kubernetes编排微服务
看官方文档

01 它是干嘛的

TKE 是腾讯云托管的 Kubernetes 服务。Kubernetes 是用来编排容器的开源系统,能力强大但自己搭建与维护门槛极高;TKE 把控制面托管起来,让你专注于自己的应用,而不是去伺候集群本身。它适合将大量服务分解成小模块、需要弹性伸缩与滚动发布的业务。

02 为什么会有它

部署十个服务,为什么要动十次服务器

在容器流行之前,部署一个应用意味着:登录服务器、装依赖、放代码、配进程守护、写启动脚本。每个服务都这么来一遍,服务一多,运维就成了重复劳动,而且很容易出现「测试环境能跑、生产环境跑不起来」的情况,因为两台机器的环境总有细微差别。

容器技术把应用和它依赖的运行环境一起打包成「一个盒子」,盒子在哪台机器上打开,里面的环境都一模一样,这才解决了环境不一致的老问题。但新的问题随之而来:一个业务可能有几百个这样的盒子,谁来记住哪个盒子在哪台机器上、哪台机器还有空、某个盒子挂了由谁重新拉起来?

这就是 Kubernetes 要解决的事,它像一个调度中心,负责安排所有盒子的去向并盯着它们是否健康。可 Kubernetes 本身复杂得出了名,自己搭一套并保证高可用,是专业团队才愿意啃的活。TKE 把这份复杂度接了过去:控制面由腾讯云托管,你只需要关心自己的应用,这也是它最实在的价值。

03 它怎么工作

流程可以概括为「打包成镜像 → 交给集群 → 调度到某台节点 → 按副本数维持运行 → 通过服务地址对外暴露」,中间的容错与扩缩容都由集群自动完成。

容器编排:你只说「要什么」,系统负责做到① 提交:我要 3 个副本② 选节点③ 少了就补一个开发者声明期望状态(yaml)调度器挑一台合适的机器控制面 API期望状态存这里工作节点 A实际跑容器工作节点 B实际跑容器Pod你的容器实例Pod挂了就自动重建你描述「最终应该是什么样」,系统不断对比现状并自动纠正差值(调谐循环)。期望状态的持有者实际被创建的东西
这张图请重点看「调度器」这一层:它是整个体系的大脑,负责把容器安放到合适的节点上,并在异常时重新安排。再看旁边那条「期望副本数」的回路,TKE 保证的是「无论坏掉几个,最终都会回到你要的数量」,这正是托管编排最大的省心之处。

一个应用是怎么被装进盒子、又被自动调度的

  1. 1
    ① 把应用打包成镜像

    应用和它需要的运行环境一起被做成一个容器镜像,存进镜像仓库,随时可以取用。

  2. 2
    ② 创建集群并加入节点

    在 TKE 上创建集群,配上若干台节点机器(相当于装盒子的货架),集群就有了运行的场地。

  3. 3
    ③ 提交部署声明期望状态

    你只需要声明「我要这个应用跑三个副本」,而不是亲自指定哪台机器跑哪个,调度器会自动挑选合适的节点。

  4. 4
    ④ 调度与副本维持

    调度器把容器分配到有空余资源的节点上;某个容器挂了或节点坏了,集群会自动在别处重建,始终维持你声明的副本数量。

  5. 5
    ⑤ 通过服务地址对外暴露

    给一组容器配一个稳定的访问入口,外部请求进来后由集群自动分发给健康的容器,客户端不必关心具体跑在哪台机器。

  6. 6
    ⑥ 滚动发布与灰度

    更新版本时逐个替换容器,新版本健康后再停掉旧的,出现异常还能快速回退,实现不中断升级。

04 谁在用它

微服务架构的业务系统

把一个大系统拆成几十个小服务,各自独立部署与升级,由 TKE 统一调度与治理。

流量波动大的应用

根据负载自动增减容器副本数,大促时多开、低谷时少开,不必长时间预留大量机器。

需要频繁发布的团队

滚动更新让新版本平滑上线,配合灰度发布先让小部分用户试用,降低上线风险。

希望统一测试与生产环境

同一份镜像在测试与生产都能运行,环境差异带来的「本地能跑线上不能跑」问题大幅减少。

把已有容器化应用搬上云

已经在使用 Kubernetes 的团队,可以把集群迁移或新建到 TKE 上,获得托管能力与云上生态集成。

05 怎么用

需要先理解容器与 Kubernetes 的基本概念,之后在控制台点选即可创建集群,日常操作主要靠 kubectl 命令。

  1. 01在控制台创建集群,选择地域、集群版本与网络,并决定控制面是否托管。
  2. 02为集群添加节点,可以选择按量或包年包月的机器,也可以配置自动伸缩的节点池。
  3. 03获取集群的 kubeconfig 配置,在本地安装 kubectl 并完成连接。
  4. 04编写部署清单,声明应用的镜像、副本数与资源需求,用 kubectl 提交。
  5. 05为应用配置服务入口与负载均衡,让外部请求能访问进来。
  6. 06配置好健康检查与日志采集,再逐步接入监控告警,之后即可开始滚动发布。
创建集群并用 kubectl 部署第一个应用bash
# 用腾讯云命令行创建集群(也可直接在控制台点选)
tccli tke CreateCluster --region ap-guangzhou --ClusterName demo

# 集群就绪后,拿到 kubeconfig 以便用 kubectl 操作
tccli tke DescribeClusterKubeconfig --region ap-guangzhou --ClusterId cls-xxxxxxxx

# 部署一个三副本的应用,并暴露为可访问的服务
kubectl create deployment web --image=nginx:latest --replicas=3
kubectl expose deployment web --port=80 --type=LoadBalancer

避坑提示

  • !给容器设置合理的资源请求与上限,否则调度器无法判断节点是否还有余量,容易出现资源争抢与莫名被系统终止。
  • !一定要配好存活探针(判断容器是否还活着),这是自动化恢复能否生效的关键,没有健康检查,集群就不知道你的应用已经卡死。
  • !镜像标签不要永远用 latest,改用明确版本号,否则回滚时会不知道该回退到哪一个版本。
  • !Kubernetes 概念多、学习曲线陡,团队里最好有人先系统学过一遍再接入生产,边学边用在线上出问题的代价偏高。

06 关键概念

容器
把应用和它的运行环境一起打包成的「盒子」,在哪台机器上打开,环境都完全一样。
Kubernetes
容器编排系统,负责决定几百个盒子分别放在哪、坏了谁负责重新拉起。
节点(Node)
真正运行容器的机器,可以理解为装这些盒子的货架。
副本(Replica)
同一个应用同时运行的容器份数,份数越多越能扛住其中某个出故障。

07 容易混淆的对比

自建 Kubernetes完全可控、无托管费用,但要自己保证控制面高可用与版本升级,维护成本很高。
云服务器 CVM 上直接部署结构简单、无需学习编排系统,适合服务数量少、变更不频繁的小团队。
图软件图鉴

纯静态站点,无后端、无追踪。内容为中文原创撰写,用于帮助非技术读者理解主流软件产品。

关于本站

全部内容在构建时生成
产品名称与商标归各自公司所有

© 2026 软件图鉴Nuxt 4 · Vue 3 · Tailwind 4 · 纯静态