Files
docker_practice/16_cloud/16.2_tencentCloud.md
2026-03-28 18:24:46 -07:00

4.0 KiB
Raw Blame History

16.2 腾讯云

腾讯云容器服务 TKE 是腾讯云提供的 Kubernetes 托管服务,适合把容器化应用部署到云上。官方文档见 腾讯云容器服务

腾讯云

图 16-1腾讯云标识

下面的示例只保留创建集群、部署应用、管理镜像和配置加速器这几类最常见操作。

腾讯云容器服务界面

图 16-2腾讯云容器服务示意图

腾讯云容器服务TKE 简介

腾讯云容器服务 (TKE, Tencent Kubernetes Engine) 是一款容器编排平台,基于原生 Kubernetes 提供支持自动扩展、负载均衡、多可用区高可用等企业级功能。TKE 帮助开发者快速部署和管理容器化应用,消除集群运维的复杂度。

基本使用步骤

1. 创建集群

登录腾讯云控制台,进入容器服务模块:

  • 选择 “创建集群”,配置集群名称、地域和网络
  • 选择节点配置(云服务器规格和数量)
  • 设置 Kubernetes 版本和安全组
  • 完成创建后获得集群 kubeconfig 文件
# 下载 kubeconfig 文件后,配置本地环境
export KUBECONFIG=/path/to/kubeconfig.yaml
kubectl cluster-info

2. 部署容器应用

创建 Deployment 部署应用:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

应用配置文件:

kubectl apply -f deployment.yaml
kubectl get pods
kubectl get svc

3. 管理镜像

使用腾讯云容器镜像服务 (TCR) 存储和分发私有镜像:

# 登录腾讯云镜像仓库
docker login ccr.ccs.tencentyun.com -u <username>

# 标记本地镜像
docker tag my-app:latest ccr.ccs.tencentyun.com/namespace/my-app:latest

# 推送镜像到腾讯云
docker push ccr.ccs.tencentyun.com/namespace/my-app:latest

腾讯云 Docker 镜像加速器配置

如果你的账号开通了镜像加速器,可以把控制台给出的地址写入 Docker 配置。

Linux 系统配置

编辑 /etc/docker/daemon.json 文件(如果不存在则创建):

# 创建或编辑配置文件
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json

添加以下内容:

{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com"
  ],
  "insecure-registries": []
}

重启 Docker 服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

验证配置:

docker info | grep -A 5 "Registry Mirrors"

Windows/Mac 配置

对于 Docker Desktop在设置界面中打开 Docker Engine,把上述 registry-mirrors 字段写入 JSON 后重启即可。

腾讯云容器镜像服务TCR

TCR 提供私有镜像仓库、访问控制和镜像分发能力。一个最小示例如下:

# 登录到腾讯云 TCR
docker login ccr.ccs.tencentyun.com --username <username>

# 构建并推送镜像
docker build -t my-app:v1.0 .
docker tag my-app:v1.0 ccr.ccs.tencentyun.com/my-namespace/my-app:v1.0
docker push ccr.ccs.tencentyun.com/my-namespace/my-app:v1.0

TKE 集群中使用 TCR 镜像

配置镜像拉取凭证后,在 Deployment 中直接引用 TCR 镜像:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      imagePullSecrets:
      - name: tcr-secret
      containers:
      - name: my-app
        image: ccr.ccs.tencentyun.com/my-namespace/my-app:v1.0
        ports:
        - containerPort: 8080
        resources:
          requests:
            memory: "256Mi"
            cpu: "100m"
          limits:
            memory: "512Mi"
            cpu: "500m"