tencent cloud

容器服务

动态与公告
产品动态
公告
产品发布记录
产品简介
产品概述
产品优势
产品架构
应用场景
产品功能
基本概念
原生 Kubernetes 名词对照
容器服务高危操作
地域和可用区
开源组件
购买指南
购买指引
购买 TKE 标准集群
购买原生节点
购买超级节点
快速入门
新手指引
快速创建一个标准集群
入门示例
容器应用部署 Check List
集群配置
标准集群概述
集群管理
网络管理
存储管理
节点管理
GPU 资源管理
远程终端
应用配置
工作负载管理
服务和配置管理
组件和应用管理
弹性伸缩
容器登录方式
可观测配置
运维可观测性
成本洞察和优化
调度配置
调度组件概述
资源利用率优化调度
业务优先级保障调度
Qos 感知调度
安全和稳定性
容器服务安全组设置
身份验证和授权
应用安全
多集群管理
计划升级
备份中心
云原生服务指南
云原生 etcd
Prometheus 监控服务
TKE Serverless 集群指南
TKE 注册集群指南
实践教程
集群
Serverless 集群
调度
安全
服务部署
网络
发布
日志
监控
运维
Terraform
DevOps
弹性伸缩
容器化
微服务
成本管理
混合云
AI
故障处理
节点磁盘爆满排障处理
节点高负载排障处理
节点内存碎片化排障处理
集群 DNS 解析异常排障处理
集群 Kube-Proxy 异常排障处理
集群 API Server 网络无法访问排障处理
Service&Ingress 网络无法访问排障处理
Service&Ingress 常见报错和处理
Nginx Ingress 偶现 Connection Refused
CLB Ingress 创建报错排障处理
Pod 网络无法访问排查处理
Pod 状态异常与处理措施
授权腾讯云售后运维排障
CLB 回环问题
API 文档
History
Introduction
API Category
Making API Requests
Elastic Cluster APIs
Resource Reserved Coupon APIs
Cluster APIs
Third-party Node APIs
Relevant APIs for Addon
Network APIs
Node APIs
Node Pool APIs
TKE Edge Cluster APIs
Cloud Native Monitoring APIs
Scaling group APIs
Super Node APIs
Other APIs
Data Types
Error Codes
TKE API 2022-05-01
常见问题
TKE 标准集群
TKE Serverless 集群
运维类
隐患处理
服务类
镜像仓库类
远程终端类
事件类
资源管理类
服务协议
TKE Service Level Agreement
TKE Serverless Service Level Agreement
联系我们
词汇表

境外镜像拉取加速

PDF
聚焦模式
字号
最后更新时间: 2024-12-13 21:33:33

操作场景

目前大多数开源应用的容器镜像(例如 Kubernetes、TensorFlow 等),都托管在境外镜像托管平台(例如 DockerHub、quay.io 等),在国内拉取镜像时可能存在网络问题导致拉取速度慢、甚至无法成功拉取等问题。常见解决方法为手动将镜像 Pull 到本地,再 Push 到自主搭建的镜像仓库进行手动同步,过程极其繁琐且无法覆盖全部仓库及最新镜像版本。 腾讯云 容器镜像服务 TCR 企业版提供主流境外镜像托管平台加速服务, 可以有效解决境外镜像拉取难导致开源应用无法顺利部署的问题。本文将介绍 TKE 集群如何通过 TCR 加速服务实现境外镜像拉取加速。

限制条件

加速服务目前仅面向容器服务 TKE、容器镜像服务 TCR 用户。
加速服务目前只支持腾讯云 私有网络 VPC 访问,公网访问能力暂未开放,相关域名可以访问但无法提供实际的加速功能。

操作步骤

对于 TKE 集群,DockerHub 平台内公开镜像已默认配置加速,如需加速其他平台内镜像仓库,例如 quay.io,则需要进行相关配置。集群运行时为 Docker 或 Containerd,配置方法有所不同:
集群运行时为 Docker 的配置
集群运行时为 Containerd 的配置
对于运行时为 Docker 的节点,由于 Docker 本身不支持 docker.io 以外的加速配置,使用 docker.io 之外的境外容器镜像时,需要执行以下命令更改镜像地址的域名,将 quay.io 替换为 quay.tencentcloudcr.com。示例如下:
docker pull quay.tencentcloudcr.com/k8scsi/csi-resizer:v0.5.0
对于运行时为 Containerd 的节点,由于 Containerd 本身支持任意镜像仓库的加速地址配置,可以通过修改 Containerd 配置,实现不更改镜像地址就可自动加速拉取镜像,适用于大量境外镜像的场景,可减少大量地址修改的繁琐步骤。
1. TKE 添加节点或者使用节点池,可以将节点写入自定义脚本,通过脚本可以统一修改增量节点的 Containerd 配置、添加境外镜像的加速地址。脚本示例如下:
sed -i '/\\[plugins\\.cri\\.registry\\.mirrors\\]/ a\\\\ \\ \\ \\ \\ \\ \\ \\ [plugins.cri.registry.mirrors."quay.io"]\\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ endpoint = ["https://quay.tencentcloudcr.com"]' /etc/containerd/config.toml

或者手动修改存量节点的 Containerd 配置(/etc/containerd/config.toml),添加类似如下配置:
[plugins.cri.registry]
[plugins.cri.registry.mirrors]
[plugins.cri.registry.mirrors."quay.io"]
endpoint = ["https://quay.tencentcloudcr.com"]
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://mirror.ccs.tencentyun.com"]

说明:
您还可以使用 Ansible 批量修改存量节点的 Containerd 配置,详情请参见 使用 Ansible 批量操作 TKE 节点
2. 执行以下命令重启 Containerd。示例如下:
systemctl restart containerd

3. 执行以下命令,使用原始镜像地址拉取镜像。示例如下:
crictl pull quay.io/k8scsi/csi-resizer:v0.5.0



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈