自定义镜像说明

最近更新时间:2019-12-13 17:32:23

操作场景

本文档介绍如何使用腾讯云容器服务(TKE)提供的基础镜像进行自定义镜像制作。

注意事项

  • 操作系统属于集群级别。集群在进行新增节点、伸缩组、添加已有节点、节点升级时,均会使用已设置的操作系统。
  • 修改操作系统只影响后续新增的节点或重装的节点,对存量的节点操作系统无影响。
  • 目前仅支持同类型的操作系统镜像的制作。例如,使用 CentOS 基础镜像制作 CentOS 类的自定义镜像。
  • 如果您使用自定义镜像功能,请使用 TKE 提供的基础镜像来制作自定义镜像。
  • 若 TKE 后期计划调整镜像逻辑,会提前至少一周通过站内信、短信、邮件的方式进行通知,请您放心使用。
    镜像逻辑变化会造成用原有自定义镜像新建节点失败,您需要重新制作自定义镜像。如集群有使用伸缩组,需调整启动配置镜像 ID。
  • 如需使用自定义镜像功能,请 提交工单 申请。

操作步骤

使用基础镜像创建云服务器(CVM)

容器服务基础镜像

TKE 为您提供以下基础镜像,镜像类型主要为镜像市场公共镜像两种,请根据实际情况进行选择。

注意:

  • 我们将持续对基础镜像进行优化或者 bugfix,并生成新版本基础镜像。该列表将跟随基础镜像的变化进行不定时更新,请密切关注。
  • 新版本基础镜像不会对您之前使用旧版本基础镜像制作的自定义镜像产生任何影响。为了达到更好的使用效果,建议您使用新版本基础镜像。
镜像 ID 控制台操作系统展示名镜像类型OS 类型上线时间GPUTKE 使用状态OSName备注
img-4wpaazux Ubuntu 16.04 镜像市场 Ubuntu2019.08.14 Active Ubuntu 16.04.1 LTSx86_64 Ubuntu 16.04 修改 DNS nameserver
img-h1qos5y5 Ubuntu 16.04 GPU 镜像市场 Ubuntu2019.08.14 Active ubuntu16.04.1 LTSx86_64 GPU -
img-pi0ii46r Ubuntu 18.04 公共镜像 Ubuntu2019.09.27 Active Ubuntu 18.04.1x86_64 Ubuntu 18.04.1 公版内核
img-mk7tthq3 Ubuntu 18.04 GPU 镜像市场 Ubuntu2019.09.27 Active Ubuntu 18.04.1x86_64 GPU Ubuntu 18.04.1 公版内核 GPU nvidia:418.67 cuda:10.1.168
img-0amm1ukz Ubuntu 18.04 TKE Optimized 镜像市场 Ubuntu 2019.11.18 Active ubuntu18.04.1x86_64 内核4.14.105-19-0008
img-fmdi67gb Ubuntu 18.04 TKE Optimized GPU 镜像市场 Ubuntu2019.11.18 Active ubuntu 18.04.1x86_64 GPU 内核 4.14.105-19-0008
img-rkiynh11 CentOS 7.2 镜像市场 CentOS2019.11.14 Active centos7.2x86_64 内核3.10.0-1062.1.2.el7.x86_64
img-idtyzihp CentOS 7.2 GPU 镜像市场 CentOS2019.01.01 Active centos7.2x86_64 GPU Centos 7.2 (实际上是7.5) GPU; 内核 3.10.0-862.9.1.el7.x86_64
img-9qabwvbn CentOS 7.6 公共镜像 CentOS2019.09.27 Active centos7.6.0_x64 Centos 7.6 公版内核3.10.0-957.21.3.el7.x86_64
img-8trzkv6h CentOS 7.6 GPU 镜像市场 CentOS2019.09.27 Active centos7.6.0_x64 GPU Centos 7.6 公版内核3.10.0-957.21.3.el7.x86_64 GPU nvidia:418.67 cuda:10.1.168
img-3kkoodwh CentOS 7.6 TKE Optimized 镜像市场 CentOS 2019.11.18 Active CentOS 7.6.0_x64 内核4.14.105-19-0008
img-es1i6ihl CentOS 7.6 TKE Optimized GPU 镜像市场 CentOS2019.11.18 Active CentOS 7.6.0_x64 GPU 内核4.14.105-19-0008
img-bh86p0sv tlinux 2.2 公共镜像 tlinux2019.01.01 Active Tencent tlinux release 2.2(Final)
  • tlinux 公共镜像,2019/11内核为0050
  • 此基础镜像目前仅限内部用户查看、使用
img-9lmndrar tlinux 2.2 GPU 镜像市场 tlinux2019.08.01 Active Tencent tlinux release 2.2(Final)GPU -

创建 CVM

  1. 登录 云服务器控制台,选择【新建】进入云服务器购买页面。
  2. 在“镜像”中选择容器服务基础镜像,本文以腾讯云容器服务镜像Centos 7.2 64位(3.10.0-862内核) 1.0为例。如下图所示:
  3. 其他选项设置请参考 新建 CVM 实例

创建自定义镜像

  1. 请参考 使用标准登录方式登录 Linux 实例(推荐) 登录 CVM。
  2. 执行以下命令,新建 test.txt 文件。
    vi test.txt
  3. i 进入编辑模式,并写入以下内容。
    this is customer cvm images test
  4. Esc 并输入 :wq 退出并保存。
  5. 请参考 创建自定义镜像 完成创建。

使用自定义镜像

说明:

自定义镜像制作完成后,即可使用该镜像创建 TKE 集群。

在“创建集群”页面的“镜像提供方”中选择【自定义镜像】,“操作系统”则选择已创建的自定义镜像。如下图所示:

其他选项设置请参考 创建集群

验证自定义镜像

  1. 登录 TKE 控制台,选择左侧导航栏中的【集群】。
  2. 选择使用自定义镜像创建的集群 ID,进入集群详情页。
  3. 选择左侧导航栏中的【节点管理】>【节点】,记录需要登录验证的节点 ID。
  4. 登录 云服务器控制台,在搜索框中输入记录的节点 ID 并单击,即可看到已创建的节点。如下图所示:
  5. 请参考 使用标准登录方式登录 Linux 实例(推荐),登录节点。
  6. 执行以下命令,验证自定义镜像。
    cat test.txt
    返回结果如下,则表示该节点已使用自定义镜像。

使用总结

  • 制作自定义镜像必须使用 TKE 提供的基础镜像,否则完全自定义的镜像在 TKE 控制台上会无法识别。
  • 若在自定义镜像中对 /etc/resolv.conf 文件设置文件保护(chattr +i /etc/resolv.conf),则会导致 clount-init 失败。由于 TKE 依赖于 cloud-init 成功状态,最终会导致节点加入集群失败。
  • 由于 rc.localcontainer_cluster_agent 无法保证执行顺序,会导致用户 start_init.sh 脚本拷贝的数据丢失。不建议您把 start_init.sh 放在 rc.local 中执行,建议在 user-data 中执行。
  • 曾经制作过镜像的节点上如果保留了 /var/lib/cloud 目录,那么 /var/lib/cloud/instances/ins-1cgoe1y9/sem 目录下的 config_scripts_user 文件会影响 cloud-init 服务无法正常执行,会导致该节点加入 TKE 集群内时修改的节点主机名无法生效。
  • 在自定义镜像中添加个人 yum 源时,若放置在不合适的目录下(例如 /etc/yum.repo.d/),则会引起 container-cluster-agent 在执行 yum install 操作时报错,从而跳过该步骤,导致 agent 安装 yum 源失败。