flux在k8s集群中的应用

前面也有给大家讲解过云原生gitops工具-argocd(介绍篇/部署管理篇/应用篇),今天再给大家介绍另外一种gitops工具的明星产品-flux。

对于这两款工具,主要还是看个人使用习惯和上手程度,argocd在web端更便于研发/运维快速使用,同时强大的对多集群管理和项目管理、角色限制、多环境管理等都有不错的体验,但同时也就带来了一些操作的复杂性。相反对于flux而言,如果不想要那么多的高级功能,仅仅是对底层基础组件的维护,flux也是一个不错的选择,而且服务的轻量级也更低的消耗资源。总之这两款工具还是不错的,推荐大家使用哈。

flux介绍

Flux是一个在git中可以自动明确集群状态和匹配配置的工具。它可以用在操作Kubernetes集群中来触发deployment,这就意味着你不再需要单独的CD工具。在此基础上(以及可配置的策略)它可以监控仓库、检测镜像、触发deployment以及更新所需的运行配置。

好处就是你不需要授予集群的CI访问权,每一个更改都是原子的和事务性的,git已经有了审计日志。每个事务要么失败,要么成功。你完全以代码为中心,不需要新的基础设施。

flux可以做什么?

Flux在用作连续交付管道末端的部署工具时最有用,并确保将新的容器镜像和配置变更更新到集群中。

从helm开始用flux

前置条件:

  • Kubernetes >= v1.11
  • helm v3(https://github.com/helm/helm/tags)
  • flux-project( https://github.com/fluxcd/flux-get-started)
  • Flux CLI 客户端工具(https://fluxcd.io/docs/installation/#install-the-flux-cli)

部署flux

step1:添加repo源
helm repo add fluxcd https://charts.fluxcd.io
step2:创建flux运行的命令空间
kubectl create namespace flux
step3:在集群中创建flux访问repo的deploy key
ssh-keygen -q -N "" -f ~/.ssh/gitlab.com
kubectl -n flux create secret generic flux-ssh --from-file=~/.ssh/gitlab.com
rm ~/.ssh/gitlab.com # 也可以不删除

在这里插入图片描述

step4:开始安装

由于我这里使用的是自己定义的deploy key ,所以运行以下命令

helm upgrade -i flux fluxcd/flux 
--set git.url=git@gitlab.com:xxx/gwave-dev/tomcat 
--set git.branch=master 
--namespace flux

在这里插入图片描述
可以发现,在部署好flux服务后,会对出现一个flux-git-deploy的secrets,这个是flux服务本身生成的一堆密钥对,代码库就需要此公钥来和flux进行通信
在这里插入图片描述

step5:执行如下命令将publickey粘贴到deploy key中
kubectl -n flux logs deployment/flux | grep identity.pub | cut -d '"' -f2

或者

fluxctl identity --k8s-fwd-ns flux

在这里插入图片描述
将上述命令回去到的public key复制并粘贴到代码库中的Deploy Keys中,如下图所示:
在这里插入图片描述

step6:连通性测试
fluxctl sync --k8s-fwd-ns flux

在这里插入图片描述
到此已经部署ok,接下来所有的操作只需要对代码库进行增删改即可,同时提交后即可完成服务的部署。
代码库结构如下:
在这里插入图片描述
说明:
如果通过helm部署的时候没有–git-path参数,默认只会对namespaces和workloads目录生效,若想对其他目录生效,只需在helm upgrade中添加–git-path 即可。
将代码库中的nginx的副本扩容到5个。
说明:
如果通过helm部署的时候没有–git-path参数,默认只会对namespaces和workloads目录生效,若想对其他目录生效,只需在helm upgrade中添加–git-path 即可。
将代码库中的nginx的副本扩容到5个。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值