腾讯云操作文档 #
1 腾讯云构建->部署流程 #
- 本地提交代码到仓库;
- 腾讯云镜像仓库触发构建规则,在线构建镜像;
- 根据交付流水线设置(如有设置),更新指定工作负载;
2 容器镜像服务 #
2.1 实例列表 #
构建镜像的前提
2.2 命名空间 #
实例中必须存在命名空间方可创建镜像仓库,建议以系统维度新建命名空间。
2.3 镜像仓库 #
腾讯云镜像仓库服务;
2.3.1 新建镜像仓库 #
第一步,如图2.3.1-1;若镜像是本地直接推送,镜像来源则选择“本地推送镜像”,如需腾讯云构建,则选择“平台构建镜像”; 图2.3.1-1 第二步,如图2.3.1-2;代码源点击仓库类型,此处用私有GITLAB(如未授权仓库,请在此页面点击授权;注意:已授权过的,不要点击刷新或重新点击授权,等待coding异步刷新,可能会比较慢。) 触发规则根据公司业务设置即可; Dockerfile路径默认为项目根目录Dockerfile文件,如路径非根目录Dockerfile,请填写路径相对路径; 版本规则建议勾选更新时间和commit号,因为更新时间规则是YYYYMMDD,仅精确到天,只勾选更新时间会覆盖镜像;
图2.3.1-2
2.4 交付流水线 #
新增完镜像后,可新建交付流水线,如图2.4-1; 其中镜像配置(与镜像仓库的构建规则类似,有细微差别,如直接设置交付流水线,可略过镜像仓库的构建规则设置),请设置与镜像仓库一致。 应用部署中,请选择需要部署的工作负载(因此设置交付流水线前,必须存在工作负载) 图2.4-1
2.5 访问控制 #
开放后可允许工作负载拉取镜像或外网拉取/推送等操作; 为了保证工作容器服务能正常拉取镜像,必须开放内网访问,如图2.5-1,地域与私有网络,必须跟容器集群一致(子网无需一致) 图2.5-1
3 容器服务 #
3.1 集群 #
新建集群,如图3.1-1,k8s版本必须选择 v1.12.x及以上版本(目前版本的容器镜像服务已更新支持v1.18.x版本); 集群新建完毕后,需在“集群->组件管理”中新建TCR组件(为了能解析容器镜像服务的域名,以拉取镜像),如图3.1-2;
图3.1-1 图3.1-2
3.2 命名空间 #
建议与容器镜像服务的命名空间一致
3.3 工作负载 #
工作负载类型请参考k8s 这里我们常用Deployment 新建工作负载如图3.3-1, 如无需开放外网端口,访问设置中请勿设置启用 内存限制上下限不建议差异太大
图3.3-1
4 紧急异常处理 #
4.1 节点异常 #
节点异常时,集群的状态会显示机器异常,如图4.1-1列,此时解决方案为:
- 点击节点列表,定位异常节点;
- 封锁节点,防止有新的pod挂载在该节点,如图4.1-2;
- 点击云服务器,搜索该服务器,重启;
- 待节点变为健康后,解除封锁即可;
图4.1-1 图4.1-2
4.2 腾讯云镜像构建异常 #
- 检查执行状态,如有超时,dockerfile镜像文件引用镜像修改为国内源,如超时还在发生,请提交工单;
- 如执行状态异常,点击执行详情查看日志,排查是否为代码异常,非代码异常请提交工单;
- 如紧急情况,可本地构建镜像push,命令如图4.2-1所示(非紧急情况不建议这么做),本地推送需要开放外网(参考2.5、访问控制)
图4.2-1