首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当它是一个吊舱时,Gitlab如何使用Kubernetes执行器创建吊舱呢?

当它是一个吊舱时,Gitlab如何使用Kubernetes执行器创建吊舱呢?
EN

Stack Overflow用户
提问于 2022-03-02 16:28:45
回答 1查看 465关注 0票数 0

嘿,我刚接触过gitlab的CI/CD,有点困惑。

我得到了一个Kubernetes集群,它连接到一个Gitlab实例来运行CI/CD管道。有一个带有kubernetes执行器的gitlab跑步者,据我所知,这意味着有一个运行管道的吊舱。

kubectl get pods -n gitlab-runner支持这一点(现在还有其他问题,但通常是1/1 running):

代码语言:javascript
复制
NAMESPACE        NAME                                           READY   STATUS    RESTARTS   AGE
gitlab-runner    gitlab-runner-gitlab-runner-6b7bf4d766-9t4k6   0/1     Running   248        29d

CI/CD管道调用像kubectl apply -f [...]这样的命令来创建新的部署和pods。但为什么这样做呢?如果管道命令运行pod,那么修改主机集群配置应该是不可能的,对吗?我以为集装箱化的重点是客人不能改变主人。

我逻辑上的缺陷在哪里?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-02 16:49:18

我认为集装箱化的全部意义是客人不能修改主机。

您忽略了可选地注入到每个Pod中的the serviceAccount,并且那些ServiceAccount对象可以绑定到RoleClusterRole对象,以可选地授予它们特权来对库中的API操作,该API是在众所周知的DNS地址https://kubernetes.default.svc.cluster.local上在集群中公开的。

所以,是的,它们基本上不能修改主机,但是kubernetes是一个编排引擎,因此GitLab运行程序可以请求在集群中旋转一个新的Pod,只要GitLab运行程序拥有正确的kubernetes凭据,就会像用户请求kubectl执行相同的操作一样严肃对待。

另一种看待这个问题的方法是,如果您在kubernetes之外运行gitlab-runner,但向它提供群集的凭据,那么您就会遇到在现有集群基础结构之外运行另一个VM的问题,同时带来所有的维护负担。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71326068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档