场景化封装 腾讯云 容器服务 API 实现工作负载 Deployment 、StatefulSet 类型的镜像更新操作
secret_id 密钥 ID, 详情见 doc/access.mdsecret_key 密钥 Keyregion 集群地域,格式如:ap-nanjing。详情见 doc/regions.mdcluster_id 集群ID,格式如: cls-m9miwj4unamespace 工作负载所在的集群命名空间,如 defaultworkload_kind 工作负载类型。支持 deployment、statefulsetworkload_name 工作负载名称container_names 容器名称, 如有多个用英文,分割container_images 待更新的容器最新镜像, 如有多个用英文,分割# 更新示例镜像配置
main:
push:
- stages:
- name: 使用tke插件更新镜像
image: tencentcom/deploy-to-tke
settings:
secret_id: AKID***MpL4
secret_key: mRH1***wu0C
region: ap-***
cluster_id: cls-***
namespace: default
workload_kind: deployment
workload_name: my-***-deployment
container_names: container-***-1
# 可以使用变量形式如 container_images: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:${CNB_COMMIT}
container_images: nginx-***:v1
# a.快速用法 完
如果不希望写密钥明文、可以在密钥(私有)仓库增加一份密钥信息文件 your_secrets.yaml,内容如下:
# your_secrets.yml
secret_id: AKID***MpL4
secret_key: mRH1***wu0C
配置 .cnb.yml,引用上述文件导入环境变量,内容如下:
# 更新示例镜像
main:
push:
- stages:
- name: 使用tke插件更新镜像
image: tencentcom/deploy-to-tke
settingsFrom: https://cnb.cool/***/my-secret-repo/-/blob/main/your_secrets.yaml
settings:
region: ap-***
cluster_id: cls-***
namespace: default
workload_kind: deployment
workload_name: my-***-deployment
container_names: container-***-1
container_images: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:${CNB_COMMIT}
# b.高级用法 完
docker run --rm \ -e PLUGIN_SECRET_ID="***" \ -e PLUGIN_SECRET_KEY="***" \ -e PLUGIN_REGION="ap-shanghai" \ -e PLUGIN_CLUSTER_ID="cls-***" \ -e PLUGIN_NAMESPACE="development" \ -e PLUGIN_WORKLOAD_KIND="deployment" \ -e PLUGIN_WORKLOAD_NAME="my-***-deployment" \ -e PLUGIN_CONTAINER_NAMES="container-***-1,container-***-2" \ -e PLUGIN_CONTAINER_IMAGES="nginx-***:v1,nginx-***:v2" \ tencentcom/deploy-to-tke
本插件对在腾讯云 cloud.tencent.com 及腾讯云国际站 www.tencentcloud.com 上购买的 TKE 集群,验证通过。