跳转到主要内容

管理一个或多个k8s集群中的多个应用。

项目描述

Gitops

PyPI version versions Test Lint

管理一个或多个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

发布版本

  1. 运行 make release 以设置多个所需位置的标签版本。
  2. 创建 GitHub 发布。将发布标签设置为与使用的版本号匹配。GitHub 管道将执行以下操作:创建图表的新版本,创建 Docker 镜像并发布新的 Python 库版本到 PyPI。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

gitops-0.11.4.tar.gz (125.3 kB 查看哈希值)

上传时间

构建分发

gitops-0.11.4-py3-none-any.whl (25.8 kB 查看哈希值)

上传时间 Python 3

由以下支持