腾讯云TKE保姆级教程:从零开始部署你的第一个K8s容器集群

腾讯云TKE保姆级教程:从零开始部署你的第一个K8s容器集群

在我们开始之前,你必须先理解,TKE这类“托管Kubernetes服务”的核心价值是什么。

  • 它像什么? 它就像一家专业的“演出经纪与管理公司”。
    • 你自己从零搭建K8s集群,就像你要自己亲自去建一座音乐厅、招聘并管理每一位乐手、甚至还要负责后台的电力和安保。这个过程,极其复杂和耗时。
    • 而使用TKE,则像是你直接对这家管理公司说:“我要举办一场音乐会。” 他们会立刻为你提供一座世界顶级的音乐厅(搭建好K8s的Master主节点)、为你准备好任意数量的、技艺精湛的待命乐手(配置好Worker工作节点),并搞定所有后台的繁杂事务。
    • 你,作为“总指挥”,只需要带着你的“乐谱”(YAML配置文件),直接上台指挥就行了。

TKE,为你抹平了K8s那陡峭得可怕的入门门槛,让你能把100%的精力,都聚焦在你的“作品”(应用)本身。

第一步:建造你的“维也纳金色大厅”——创建TKE集群

现在,让我们登录腾讯云控制台,开始“建造”我们第一座专属的“音乐厅”。

  1. 找到入口: 在腾讯云产品列表里,搜索“容器服务”,点击进入“TKE – 标准集群”。
  2. 点击“新建”: 你会看到一个信息量巨大的创建页面。别慌,我们只关心几个核心选项。
    • 集群名称: 起个好记的名字,比如my-first-tke-cluster
    • Kubernetes版本: 选择一个稳定版,通常默认推荐的即可。
    • 所在地域/私有网络(VPC): 选择离你用户最近的地域。VPC通常会自动创建,它就是我们之前聊过的那个“私人岛屿”,能保证你集群内部的网络安全。
    • Master节点: 对于标准集群,最棒的一点是,Master节点(也就是那位最核心的“指挥官”)是由腾讯云托管的! 你完全不用关心它的配置和运维,极大地降低了复杂性和成本。
    • Worker节点配置(关键步骤): Worker节点,就是我们乐团里那些真正干活的“乐手座位”。你需要在这里,决定要“招聘”多少位“乐手”,以及他们的“体力”如何。
      • 节点数量: 对于初体验,我们选择2台。
      • 机型: 为了控制成本,选择一个入门级的、比如“标准型S5”的2核4G云服务器(CVM)机型即可。这就像先用“练习室的椅子”,不必一上来就用“金色大厅的定制沙发”。
      • 系统盘/数据盘: 保持默认的50G SSD云硬盘即可。
  3. 确认并创建: 检查一下配置,特别是费用。然后,勇敢地点击“完成”。接下来,你需要泡上一杯咖啡,耐心等待10-15分钟。 在这段时间里,TKE这位“总包工头”,正在后台,为你自动化地创建服务器、安装操作系统、初始化K8s主节点、配置网络、并将Worker节点注册到集群中……这些,都是它为你代劳的“脏活累活”。

当你在集群列表里,看到你的新集群状态变为“运行中”时,恭喜你,你的“音乐厅”,已经落成!

第二步:拿起你的“指挥棒”——配置kubectl

kubectl,是你在自己电脑上,与远在云端的K8s集群“对话”的、唯一的“魔法指挥棒”。

  1. 获取“连接凭证”: 在你的TKE集群详情页面,找到“基本信息”标签页。你会看到一个叫“Kubeconfig”的东西。点击“开启外网访问”,然后复制它提供的“连接凭证”代码。
  2. 配置你的“指挥棒”:
    • 在你自己的电脑上,打开终端。kubectl的配置文件,通常在~/.kube/config
    • 将你刚刚复制的凭证内容,粘贴到这个文件里。如果你有多个集群,kubectl会自动帮你管理。
  3. 第一次“发号施令”: 在你的本地终端里,敲下这行命令:

Bash

kubectl get nodes

如果你看到类似下面的输出,并且STATUS都是Ready,那么,请为你自己欢呼!

NAME            STATUS   ROLES    AGE   VERSION
10.0.0.1...     Ready    <none>   15m   v1.28.1-tke.1
10.0.0.2...     Ready    <none>   15m   v1.28.1-tke.1

这说明,你手中的“指挥棒”,已经与远方的“音乐厅”成功建立了连接。那两位“乐手”(Worker节点),已经坐在椅子上,整装待发,随时听候你的调遣!

第三步:撰写你的第一份“乐谱”——deployment.yaml

在K8s的世界里,我们不再使用命令式的语言去“指挥”。我们使用一种“声明式”的语言,也就是YAML文件,来向“总指挥”K8s,描述我们“最终想要的演出效果”。

今天,我们的第一首曲子,是经典的“Nginx欢迎曲”。

在你的电脑上,创建一个nginx-deployment.yaml文件:

YAML

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2 # 魔法在这里!我“声明”,我需要2位“乐手”
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest # 指定“乐谱”,使用Nginx官方镜像
        ports:
        - containerPort: 80

乐谱解读:

  • kind: Deployment:告诉K8s,这是一份“部署方案”。
  • replicas: 2:这是核心!你在这里,清晰地“声明”:“我这个Nginx声部,需要两位一模一样的乐手。”
  • image: nginx:latest:指定了乐手们要演奏的“乐谱”,也就是使用哪个Docker镜像。

第四步:演出开始!—— 部署并暴露你的应用

乐谱写好了,现在,我们把它交给“总指挥”。

  1. 执行乐谱: 在你的本地终端,cd到你存放YAML文件的目录,然后执行:

Bash

kubectl apply -f nginx-deployment.yaml

2.确认“乐手”是否就位:

Bash

kubectl get pods

稍等片刻,你会看到两个nginx-deployment-xxxxx状态为Running的Pod。Pod,就是K8s里运行容器的最小单元,你可以把它就理解为“正在演奏的音乐家”。

3. 一个新问题:观众怎么进来? 现在,我们的两位Nginx“乐手”,正在音乐厅的“内部排练室”(集群内网)里,卖力地演奏。但外面的“观众”(互联网用户),还听不到他们的声音。我们需要为他们,开一个“公共售票处”。 在K8s里,这个“售票处”,就是一种叫**Service**的资源,它的类型是LoadBalancer

4.创建“售票处”的乐谱 (nginx-service.yaml)

YAML

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: LoadBalancer # 指定服务类型为“负载均衡”,TKE会自动创建一个公网IP
  selector:
    app: nginx # 这个选择器,会精准地找到所有贴着“app: nginx”标签的Pod
  ports:
    - protocol: TCP
      port: 80       # 对外开放的“售票窗口”是80号
      targetPort: 80 # 将请求,转发给Pod(音乐家)的80号“耳朵”

5.执行“售票处”乐谱:

Bash

kubectl apply -f nginx-service.yaml

6.获取“售票处”的公共地址:

Bash

kubectl get service nginx-service

你会看到类似这样的输出。注意EXTERNAL-IP这一列,一开始它可能是<pending>状态,请耐心等待1-2分钟。

NAME            TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)        AGE
nginx-service   LoadBalancer   172.20.0.123    123.45.67.89     80:30001/TCP   
  1. 当那个EXTERNAL-IP(比如123.45.67.89)出现时,终极的魔法时刻,到来了!

把这个公网IP地址,复制到你的浏览器里,打开它!

Welcome to nginx!

那个熟悉的页面,出现了。现在,尝试着刷新几次你的浏览器。你看不出任何变化,但在幕后,TKE这位“总指挥”,正在优雅地,把你每一次的刷新请求,轮流地、平均地,分发给你那两位正在后台待命的Nginx“乐手”之一。

你,不仅成功地举办了音乐会,还为它配备了双人主奏自动的负载均衡

你,已是“云原生指挥家”

好了,停下来,回顾一下你刚刚完成的这一切。

你不再只是一个会打包“集装箱”的“工人”,甚至也不再只是一个会指挥单个“音乐家”的“小组长”。

你,已经是一位真正的“交响乐团总指挥”。

TKE为你建好了最华丽的音乐厅,kubectl是你手中那根响应迅捷的指挥棒,YAML是你心中那份谱写着高可用与弹性的华美乐章。你用“声明式”的艺术,而非“命令式”的苦力,优雅地,创造出了一个活生生的、具备自我修复和负载均衡能力的现代化应用。

这,才是云原生的真正魅力。去创作更宏伟的交响乐吧!

知识库

VPC私有网络入门指南:一文搞懂子网、安全组与服务器安全架构

2025-8-25 10:14:48

知识库

云服务器成本控制指南:揭秘4大隐形成本(流量/云盘/快照)

2025-8-26 10:11:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧