Choerodon猪齿鱼 Agent——基于GitOps的云原生持续交付模型

本文将介绍Choerodon平台持续交付部署流水线的一个核心组件——Choerodon Agent。

▌文章的主要内容包括:

  • 概述
  • 实现分析
  • 具体设计
    • 建立连接初始化信息
    • Command/Response模式
    • 实时状态反馈
    • Helm Operator
    • GitOps
    • 状态同步与修复
    • Log和Exec长连接
  • 总结

概述

Choerodon Agent是支撑Choerodon平台持续交付部署流水线的一个核心组件,负责将平台生成的部署文件应用到应用部署环境对应的Kubernetes集群之中。并实施返回各个应用实例以及应用实例下所有资源的最新状态信息,同时通过监听各个环境对应的部署文件Git库,执行CD操作。而且支持混合云以及多云作为平台的部署环境,通过返回回来的容器信息和反馈回来各个实例下的容器,还可以实时获取容器日志,以及容器exec执行远程命令。

Choerodon持续交付可以支持任意数量的集群加入平台,作为应用的部署环境,只要将平台中生成的Agent安装脚本在任意Kubernetes集群中执行,就可以将该集群加入平台,然后在平台上创建环境时可以选择该集群,可以一键创建环境。在同一个集群中可以创建多个环境,各个环境之间通过Kubernetes的命令空间隔离。

平台初始化部署集群只需要将平台生成的Agent安装脚本在Kubernetes环境中执行。Agent在集群中安装之后便可以在该集群中创建环境。作为项目应用的部署环境。

创建集群之后,平台会提供一份激活指令,将指令粘贴至Kubernetes集群中执行,成功后集群就连接成功了。在平台的界面上集群显示的状态也为运行中。下图所示脚本就是Agent的激活指令。

helm install --repo=http://chart.choerodon.com.cn/choerodon/c7ncd/ \
--namespace=choerodon \
--name=choerodon-cluster-agent-test \
--version=2018.12.10-112732-master \
--set config.connect=ws://devops.com.cn/agent/ \
--set config.token=dccf4539-43e7-4970-a2d4-271267850d67 \
--set config.clusterId=21 \
--set config.choerodonId=434ha8v7sz90 \
--set rbac.create=true \
choerodon-cluster-agent

集群连接成功之后,可以在环境流水线管理界面,选择相应的集群一键创建环境。创建环境时,平台会给Agent发送一条指令&#x

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值