通过Coding实现DEVOPS全流程实践笔记

2023-05-25 10:26:51 浏览数 (1)

一.什么是DEVOPS

1.1 什么是DEVOPS

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。(更详细见百度百科:https://baike.baidu.com/item/DevOps/2613029?fr=aladdin)

以下是DEVOPS生命周期中每个环节的一些开源工具。可以使用开源工具来完成DEVOPS的流程也可以用腾讯云提供的Coding来实现(地址:https://coding.net/user)

1.2 以Coding实现DEVOPS全流程

通过Coding来实现DEVOPS全流程, 这里需要依赖两个产品TCR和TKE。

  • 腾讯云TCR(镜像服务,地址:https://console.cloud.tencent.com/tcr),作为制品库存放生成的镜像文件;
  • 腾讯云TKE(容器服务,地址:https://console.cloud.tencent.com/tke2),服务的集群;
  • Coding (地址:coding.net)包涵代码仓库、持续集成、持续部署、应用管理、安全管理、测试管理、项目协同等。

通过Coding打通两个产品时最容易出问题的是凭证,需要我们注意:

  • Coding访问TCR凭证
  • Coding访问k8s凭证(云账号)
  • TCR被容器访问凭证

相关访问流程见以下截图。

二.腾讯云镜像仓库

腾讯云镜像服务(Tencent Container Registry,TCR,下文简称TCR),控制台地址(https://console.cloud.tencent.com/tcr/?rid=4) 。整个配置一共分为六步:

2.1 购买企业基础版

购买企业基础版

2.2 配置TCR

购买后配置,按照以下指引进行配置。

如果找不到以上指引,可以通过以下位置找到它。

2.3 配置网络

网络配置需要与后续的TKE在相同的VPC。

2.4 获取访问凭证

建议将密码文件妥善保存在文档中,后续会用到。

2.5 配置公网网络

公网访问(https://console.cloud.tencent.com/tcr/publicaccess)确认是否已经开通并添加了0.0.0.0/0。

2.6 命名空间配置

镜像命名空间这里,访问级别有“公开”和“私有”两种,需要设置未"公开"(我在操作过程中踩了坑,这里特意提一下)。

三. 腾讯云容器(TKE)

配置容器一共分为四步:

3.1 购买容器

购买容器服务地址 (https://console.cloud.tencent.com/tke2/cluster?rid=4)

3.2 配置网络

选择与TCR相同的网段

3.3 确认机型

确认机型配置。

3.4 打通TCR与TKE访问权限

将TCR与镜像进行关联

点击TCR,配置组件的参数。相当于打通TKE与镜像仓库的权限。

四. Coding的配置

4.1 前置操作

通知coding (https://coding.net/) 前置操作:

  • 需要以主账号登录(管理员权限)
  • 创建项目
  • 设置coding账号的独立密码

4.2 配置镜像仓库

创建代码仓库。

填写仓库名与仓库规范。

创建测试文件与Dockerfile(注意大小写)

其中Dockerfile文件内容如下。

代码语言:javascript复制
FROM nginx
COPY . /usr/share/nginx/html/

4.3 持续集成

创建构建计划。

制品库存放位置有多种,这里我们关联的是TCR企业版镜像仓库。

需要输入的内容。比较重要的是指定TCR的凭证,这里建议应用刚刚在TCR创建时的账号与密码。

配置后可以看到构建成功

4.4 持续部署

首先设置权限 (以我个人项目地址为例:https://g-csig-tencentcloudcspd-spo.coding.net/appops/infrastructure/cloud-account)

设置云账号,这里用于coding与tke的关联。

4.5 创建应用

创建应用。

4.6 配置应用

基础配置

deployment 设置,yarm中填写TCR镜像仓库地址.

配置services,其中type:LoadBalancer 标识创建负载均衡资源,这里注意大小写。

五.DEVOPS全流程

启动流水线 。在Coding的应用中心(https://xxxxxxxx-spo.coding.net/cd-deck/app) 找到自己创建的应用。

到tke容器控制台(https://console.cloud.tencent.com/tke2),查找Service下的公网CLB地址。

在浏览器测试验证结果。

成功了~~~!!!!!!! 最后整理为本笔记。

六.扩展资源

相关视频

  • 【腾讯云大学 CODING 微认证系列课程】https://cloud.tencent.com/edu/learning/course-3636-62900
  • 【瀑布模型】方法论 https://www.bilibili.com/video/BV1h3411H7oA
  • 【瀑布模型】实操演示 https://www.bilibili.com/video/BV1Lq4y1a7wH
  • 【敏捷精益】方法论 https://www.bilibili.com/video/BV1nF411M7qo
  • 【敏捷精益】实操演示 https://www.bilibili.com/video/BV1MF411M7im
  • 【代码管理&扫描】方法论一 https://www.bilibili.com/video/BV12U4y127tM
  • 【代码管理&扫描】方法论二 https://www.bilibili.com/video/BV1pv4y1P7h1
  • 【代码管理&扫描】实操演示 https://www.bilibili.com/video/BV1pZ4y1b7YA
  • 【测试管理】方法论 https://www.bilibili.com/video/BV1K34y1776d
  • 【测试管理】实操演示 https://www.bilibili.com/video/BV1v94y1U7GN
  • 【持续集成】方法论 https://www.bilibili.com/video/BV1634y1V7wF
  • 【持续集成】实操演示 https://www.bilibili.com/video/BV14W4y1k7Lw
  • 【制品管理】方法论 https://www.bilibili.com/video/BV1WU4y1X7vd
  • 【制品管理】实操演示 https://www.bilibili.com/video/BV1vB4y1S7J6
  • 【持续部署&管理】方法论 https://www.bilibili.com/video/BV1aG411x757

相关工具

yaml 生成器 https://k8syaml.com/

0 人点赞