管理一个或多个k8s集群中的多个应用。
项目描述
Gitops
管理一个或多个k8s集群中的多个应用。
概述
跟踪多个单租户应用部署可能会迅速变得难以管理。Gitops登场!
该工具分为两部分
- Gitops Server - 将其实例部署到每个Kubernetes集群中,监听对gitops集群仓库的更改。服务器的职责是更新其所在集群上的部署,以匹配仓库中的应用程序规范。
- Gitops CLI - 这是一个可以用于舒适地与集群仓库交互的工具。它允许列出所有已部署的应用程序、它们当前正在运行的镜像以及它们所在的集群。它还提供了可以将一次应用于一个或多个应用程序的多个操作,例如升级到镜像的新版本或运行特定命令跨应用程序群体。
您可以使用以下命令安装CLI工具: pip install gitops
当前Kubernetes/Helm是唯一支持的集群接口。所有应用程序部署都作为Helm图表的应用程序执行。
那么“集群仓库”是什么意思呢?
这是一个您设置的git仓库,其中列出了所有应用程序以及它们的部署方式。它看起来像这样
. +- apps +- app_0 +- deployment.yml +- secrets.yml +- app_1 +- deployment.yml +- secrets.yml +- jobs
安装
机密信息应放置在 secrets.env
文件中。示例文件 secrets.example.env
包含您需要提供的环境变量。
将 export GITOPS_APPS_DIRECTORY=~/<cluster-apps-folder>
添加到任何目录以调用 gitops。
确保 gitops 具有将其部署到的命名空间的 edit
访问权限。一个示例 RoleBinding 如下:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: gitops-role-binding
namespace: workforce
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: edit
subjects:
- kind: ServiceAccount
name: default
namespace: gitops
发布版本
- 运行
make release
以设置多个所需位置的标签版本。 - 创建 GitHub 发布。将发布标签设置为与使用的版本号匹配。GitHub 管道将执行以下操作:创建图表的新版本,创建 Docker 镜像并发布新的 Python 库版本到 PyPI。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
gitops-0.11.4.tar.gz (125.3 kB 查看哈希值)
构建分发
gitops-0.11.4-py3-none-any.whl (25.8 kB 查看哈希值)