使用 Flux 设置 GitOps

这篇具有很好参考价值的文章主要介绍了使用 Flux 设置 GitOps。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用 Flux 设置 GitOps

从本文中,您将学习如何使用 Flux,它是 Kubernetes 集群中的一个 GitOps 工具。

创建 Kubernetes 集群

根据您所处的环境类型或您有权访问的环境,您可以通过几种不同的方式启动和运行 Kubernetes 集群:

  • ​ 在你的本地主机上使用 Minikube 之类的东西 ​
  • 在 AKS、EKS 或 GKE 等 Kubernetes 服务上
  • 在一堆虚拟机上
  • 在使用 K3s 的树莓派上
  • 还有一堆其他的方法...

无论您使用哪种方法,Flux 都可以使用。

就本文而言,您可以使用 Minikube,因为它非常适合本地环境,不必担心在云中花钱或部署一堆虚拟机。

要开始使用 Minikube,请查看本指南。

应用程序

GitOps 是用一个工具(如 Flux)查看Git 存储库,检查 Kubernetes 清单,并确认 Kubernetes 清单中的内容就是 Kubernetes 集群上的内容。因此,我们需要一个 Kubernetes 应用程序。

出于本文的目的,将使用 Nginx 应用程序。对于初级选手,它并没有什么太复杂和完美的地方。

Flux配置

当你准备安装 Flux 时,有几个组件:

  • 命令行工具
  • 连接到 GitHub
  • GitHub 凭据
  • 部署Flux

在本节中,将介绍启动和运行 Flux 所需的一切。

安装Flux

要安装 Flux,您必须查看此处为您的操作系统找到的安装指南。

例如,要在 MacOS 上安装 Flux,您可以运行以下命令:

brew install fluxcd/tap/flux

要检查安装是否成功以及您使用的 Kubernetes 集群是否与 Flux 兼容,可以运行以下命令:

flux check --pre

需要指定 GitHub 用户名。

flux bootstrap github 如果 GitHub 存储库不存在,该命令将创建它,并将工具包提交到mainormaster分支。然后它将 Kubernetes 集群配置为与存储库同步。

例如,要YOUUSERNAMEkubernetes-examplesGitHub 存储库中使用我的用户名,如下所示。

flux bootstrap github \
  --owner=YOUUSERNAME \
  --repository=kubernetes-examples \
  --branch=main \
  --path=./clusters/my-cluster \
  --personal

在存储库中,将看到一个包含 Flux 配置的新目录。

使用 Flux 设置 GitOps

部署应用程序

现在已经安装了 Flux,是时候部署一个应用程序了。应该做的第一件事是从应用程序部分克隆代码存储库并将其分支到 GitHub 组织。

拥有克隆的存储库后,cd(更改目录)到终端/命令行上的存储库。

将应用程序添加到 Flux

首先,将 nginx 应用添加到 Flux。下面的命令将以 30 秒的间隔拉取 Nginx 应用程序。

flux create source git kubernetes-examples \
  --url=https://github.com/YOUUSERNAME/kubernetes-examples \
  --branch=main \
  --interval=30s \
  --export > ./clusters/my-cluster/podinfo-source.yaml

运行上面的命令后,一个名为的新文件podinfo-source.yaml将添加到存储库中。将新文件/代码推送到 GitHub。

部署 Nginx 应用程序

要部署应用程序,您将使用Kubernetes kustomize,它是一种以声明方式自定义 Kubernetes 应用程序的工具。

首先,创建一个名为的文件podinfo-kustomization.yaml并将其放入您的 GitHub 存储库。

接下来,运行下面的命令。下面的命令将使用该kubernetes-examples应用程序作为源。

flux create kustomization kubernetes-examples \
  --target-namespace=default \
  --source=kubernetes-examples \
  --path="./kustomize" \
  --prune=true \
  --interval=5m \
  --export > clusters/my-cluster/podinfo-kustomization.yaml

注意如何有一个kustomize目录。该目录是手动创建的(它已经存在于 GitHub 存储库中)。这就是应用程序配置的位置(例如:Nginx Kubernetes 清单)。如果目录中没有应用程序的 Kubernetes 清单kustomize,Flux 配置将无法工作。

运行上述命令后,提交并将其推送到 GitHub 存储库。

确保已部署应用程序

为确保应用已部署,您可以使用该flux get命令查看 Flux 正在运行和管理的应用。文章来源地址https://www.toymoban.com/news/detail-424025.html

flux get kustomizations --watch

到了这里,关于使用 Flux 设置 GitOps的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【GitOps系列】如何实施自动化渐进式交付?

    前言 在实施金丝雀发布的过程中,我们通过 Argo Rollout 的金丝雀策略将发布过程分成了 3 个阶段,每个阶段金丝雀的流量比例都不同,经过一段时间之后,金丝雀环境变成了新的生产环境。实际上,这也是一种渐进式的交付方式,它通过延长发布时间来保护生产环境,降低了

    2024年02月14日
    浏览(48)
  • 【webflux】使用flatMapSequential操作过滤过程,不启动新线程执行新Flux

    在Spring WebFlux中,可以使用Flux.fromIterable()方法将一个Iterable转换为Flux对象,然后使用filter()方法过滤出符合条件的多个bean,并且可以使用flatMapSequential()方法将每个符合条件的bean处理后再进行操作。 假设我们有一个List对象,其中每个Bean对象都有一个属性value,我们需要过滤出

    2024年02月08日
    浏览(63)
  • 使用 Kubernetes Agent Server 实现 GitOps

    目录 温习 GitOps 极狐GitLab Kubernetes Agent 极狐GitLab GitOps workflow 极狐GitLab KAS 的配置 创建极狐GitLab  agent 创建 agent token Kubernetes 上安装 agent(agentk) 极狐GitLab GitOps workflow 实践 写在最后 GitOps 的核心不是 Git,而是以声明式系统为基座,以 Git 为单一可信源,通过将应用程序和基

    2024年02月03日
    浏览(51)
  • [GitOps]微服务版本控制:使用ArgoCD 部署Grafana Loki

    请回答: 你们是如何保证线上部署的服务,从服务版本到参数配置,都是和测试通过的版本是一致的呢? 本文将介绍GitOps的基本原理以及ArgoCD的使用:ArgoCD部署Grafana Loki 到k8s集群。 本文项目地址:郭麻花的Azure Devops argo-cd - Repos (azure.com) GitOps通常作为k8s集群中的一项基础设

    2024年02月11日
    浏览(34)
  • 为 Microsoft C++ 配置 VS Code在本教程中,您将配置 Visual Studio Code 以在 Windows 上使用 Microsoft Visual C++ 编译器和调试器

    在本教程中,您将配置 Visual Studio Code 以在 Windows 上使用 Microsoft Visual C++ 编译器和调试器。 配置完 VS Code 后,你将在 VS Code 中编译和调试一个简单的 Hello World 程序。本教程不教您有关 Microsoft C++ 工具集或 C++ 语言的详细信息。对于这些主题,网上有很多很好的资源。 如果您

    2024年02月10日
    浏览(75)
  • 【Python小技巧】使用必杀技一键安装Ta-lib(其它第三方库装不上的也可以参考,链接下载不了可通过文中CSDN资源下载)

    最近升级了电脑系统,换了个nvme的ssd,系统装了win11。界面很清爽,心情不错。安装了最新版本的Anaconda,Python也更新到3.10版本,环境都配置好了,但新装系统后,很多都需要重新配置。由于频繁需要使用到股票行情的指标计算,Ta-lib是必不可少的。但没想到安装依旧报错。

    2024年02月07日
    浏览(120)
  • Java 中的 Flux 类

    Java 中的  Flux  类是 Reactive Streams 规范在 Reactor 库中的实现,用于处理包含零个、一个或多个元素的异步序列。 Flux  是一种响应式流类型,适用于处理连续的数据流,例如网络请求、数据库查询结果集、事件流等。 以下是一些基本的  Flux  类的使用方法和示例: 创建 Flu

    2024年04月27日
    浏览(30)
  • 2023软件设计师中级备考经验分享(文中有资料链接分享)

    先摊结论吧,软考中级设计师备考只是备考半个月(期间还摆烂了几天),然而成绩如下:  我自己都没想到会这么好的成绩。。。 上午题:推荐把软考通APP里的历年真题刷3-4遍,直接刷真题,然后背解析就行,没必要分章节练习。每次考试的真题会有几个往年的题,其他题

    2024年02月15日
    浏览(43)
  • 响应式编程——初识 Flux 和 Mono

    by emanjusaka from ​ https://www.emanjusaka.top/2023/08/reactive-programming-flux-mono 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址。 Reactor 是一个响应式编程的基础类库,其中有两个很关键的类:Flux 和 Mono。掌握这两个类和相关概念有助于我们学习响应式编程。 Flux 和 M

    2024年02月09日
    浏览(42)
  • 除了Visual Studio,Rider也能开发.NET(文中有料)

    前言 小编在油管学习.NET知识,刷到一个外国小哥在用一个类似Idea的IDE开发.NET。出于好奇,小编在某谷搜索Idea支持.NET吗?结果当然不支持,Idea主要是开发Java的IDE。幸好搜索引擎有个图片搜索功能,于是拿图片搜索了这个IDE,原来它的名字叫Rider,是Idea同一家公司JetBrains开

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包