我想设置Gitlab CI / CD的AutoDevops功能,为此,我试图将现有的kubernetes集群设置为我的环境。
但是,Gitlab需要使用Kubernetes Master API URL来访问Kubernetes API。 Kubernetes 公开了多个API,我们希望所有这些API都具有通用的“基本” URL, 例如https://kubernetes.example.com,而不是https://kubernetes.example.com/api/v1。 我们将通过运行以下命令获取API URL:
kubectl cluster-info | grep 'Kubernetes master' | awk '/http/ {print $NF}
返回一个https://
就我而言,我有一个私人IP,https://172.10.1.x
没有任何文档可帮助为私有GKE集群设置gitlab CI。
如何在正在运行的VM实例或pod的服务IP的帮助下将gitlab设置为访问我的kubernetes主服务器?或者,如果有解决方案/解决方法的建议,请提供帮助。
答案 0 :(得分:0)
现在(2020年9月)有替代方案,但它不是免费的(仅限GitLab.com Premium / Ultimate)
请参见GitLab 13.4
介绍GitLab Kubernetes代理
GitLab的Kubernetes集成长期以来使无需手动设置即可部署到Kubernetes集群。许多用户都喜欢易用性,而其他用户则遇到了一些挑战。
当前的集成要求您的集群对Internet开放,以便GitLab访问它。对于许多组织来说,这是不可能的,因为他们必须出于安全性,合规性或监管目的而锁定群集访问。要解决这些限制,用户需要在GitLab之上创建自定义工具,否则他们将无法使用该功能。
今天,我们发布了GitLab Kubernetes代理:一种部署到Kubernetes集群的新方法。该代理在您的群集中运行,因此您无需将其打开到互联网。代理通过从GitLab提取新更改来协调部署,而不是GitLab将更新推送到集群。无论您使用哪种GitOps方法,GitLab都可以满足您的要求。
请注意,这是该代理的第一个版本。当前,GitLab Kubernetes代理具有配置驱动的设置,并可以通过代码进行部署管理。尚不支持某些现有的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。