现在(2020 年 9 月)有替代方案,但它不是免费的(仅限 GitLab.com Premium/Ultimate),在 14.5+(2021 年 11 月)中免费。
见GitLab 13.4
GitLab Kubernetes 代理简介
GitLab 的 Kubernetes 集成长期以来无需手动设置即可部署到 Kubernetes 集群。许多用户都喜欢这种易用性,而另一些用户则遇到了一些挑战。
当前的集成要求您的集群对 Internet 开放,以便 GitLab 访问它。对于许多组织来说,这是不可能的,因为出于安全、合规或监管目的,他们必须锁定其集群访问权限。为了解决这些限制,用户需要在 GitLab 之上创建自定义工具,否则他们无法使用该功能。
今天,我们发布了 GitLab Kubernetes 代理:一种部署到 Kubernetes 集群的新方法。代理在您的集群内部运行,因此您无需将其打开到 Internet。代理通过从 GitLab 中提取新更改来编排部署,而不是 GitLab 将更新推送到集群。无论您使用哪种 GitOps 方法,GitLab 都能满足您的需求。
请注意,这是代理的第一个版本。目前,GitLab Kubernetes Agent 具有配置驱动的设置,并支持通过代码进行部署管理。一些现有的 Kubernetes 集成功能,例如 Deploy Boards 和 GitLab Managed Apps,尚不受支持。 Our vision 将最终实现这些功能,并提供与代理的新的以安全和合规为中心的集成。
https://about.gitlab.com/images/13_4/gitops-header.png -- 介绍 GitLab Kubernetes 代理
请参阅 Documentation 和 Issue。
另见GitLab 13.5(2020 年 10 月)
使用 Omnibus GitLab 安装 GitLab Kubernetes 代理
上个月,我们为使用 Helm 安装的自我管理 GitLab 实例引入了 GitLab Kubernetes Agent。
此版本增加了对official Linux package 的支持。
在这个新的 Kubernetes 集成中,代理通过从 GitLab 中提取新更改来编排部署,而不是 GitLab 将更新推送到您的集群。
您可以了解更多关于 how the Kubernetes Agent works now 和 check out our vision 的信息,以了解即将推出的内容。
请参阅 Documentation 和 Issue。
GitLab 13.11(2021 年 4 月)证实了这一点:
GitLab Kubernetes 代理可在 GitLab.com 上获得
GitLab Kubernetes 代理终于在 GitLab.com 上可用。通过使用代理,您可以从快速、基于拉取的集群部署中受益,同时 GitLab.com 管理代理的必要服务器端组件。
GitLab Kubernetes 代理是 GitLab 的 Kubernetes 集成的核心构建块。
目前基于代理的集成支持基于拉取的部署和网络安全策略集成和警报,并且很快也将获得对基于推送的部署的支持。
与传统的基于证书的 Kubernetes 集成不同,GitLab Kubernetes 代理不需要向 GitLab 开放您的集群,并允许在集群内围绕 GitLab 的功能进行微调的 RBAC 控制。
参见Documentation 和issue。
见GitLab 14.5(2021 年 11 月)
GitLab Kubernetes 代理在 GitLab Free 中可用
将 Kubernetes 集群与 GitLab Kubernetes Agent 连接可简化集群应用程序的设置,并支持将 GitOps 安全部署到集群。
最初,GitLab Kubernetes Agent 仅适用于高级用户。
在我们对开源精神的承诺中,我们将 GitLab Kubernetes 代理和 CI/CD 隧道的核心功能移至 GitLab Free。
我们希望这些开源功能能够吸引许多没有专门的基础架构团队和对集群管理有严格要求的用户。
作为 GitLab Premium 产品的一部分,高级功能仍然可用。
参见Documentation 和Epic。