从本文中,您将学习如何使用 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 存储库不存在,该命令将创建它,并将工具包提交到main
ormaster
分支。然后它将 Kubernetes 集群配置为与存储库同步。
例如,要YOUUSERNAME
在kubernetes-examples
GitHub 存储库中使用我的用户名,如下所示。
flux bootstrap github \
--owner=YOUUSERNAME \
--repository=kubernetes-examples \
--branch=main \
--path=./clusters/my-cluster \
--personal
在存储库中,将看到一个包含 Flux 配置的新目录。
部署应用程序
现在已经安装了 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 存储库。文章来源:https://www.toymoban.com/news/detail-424025.html
确保已部署应用程序
为确保应用已部署,您可以使用该flux get
命令查看 Flux 正在运行和管理的应用。文章来源地址https://www.toymoban.com/news/detail-424025.html
flux get kustomizations --watch
到了这里,关于使用 Flux 设置 GitOps的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!