极狐GitLab 如何管理 Kubernetes 集群?

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitLab,详情可以参考极狐GitLab 下载安装官网。

GitLab 中文版学习资料

极狐GitLab 对于 Kubernetes 集群的连接和管理是通过 agent 来实现的。也就是说在每个集群上安装一个 agent,然后 agent 和极狐GitLab 实例进行通信来完成极狐GitLab 和 Kubernetes 集群的连接。所以,安装 agent 是首要工作。

安装前提

  • 必须要有一个可用的 Kubernetes 集群。

本文以 azure 上创建的一个 kubernetes 集群为例来演示:

复制代码
$ kubectl  get nodes
NAME                                STATUS   ROLES    AGE    VERSION
aks-agentpool-22596152-vmss000000   Ready    <none>   3d7h   v1.29.7
aks-agentpool-22596152-vmss000001   Ready    <none>   3d7h   v1.29.7
aks-userpool-22596152-vmss000000    Ready    <none>   3d7h   v1.29.7
aks-userpool-22596152-vmss000001    Ready    <none>   3d7h   v1.29.7

安装 agent

在 Kubernetes 集群上安装好一个 agent,大体需要三步:

  • 创建 agent 配置文件
  • 在极狐GitLab 上注册 agent
  • 在 Kubernetes 集群上安装 agent
创建 agent 配置文件

agent 一般安装在某个仓库下,因此其配置文件也在某个仓库下,配置文件的名称为 config.yaml,路径如下:

复制代码
.gitlab/agents/<agent-name>/config.yaml

注意:需要自定义一个 agent 名称,将上面的 替换成自定义的 agent 名称。比如使用 jh-gitlab。config.yaml文件可以先为空,后面再补充内容。

在极狐GitLab 上注册 agent

首先找到想要注册 agent 的项目,然后选择运维 --> Kubernetes 集群:

点击连接集群,选择一个代理:

然后会出现一个界面,显示 agent 安装的命令:

在命令行中输入以下命令进行 agent 的安装:

复制代码
$ helm upgrade --install jh-gitlab gitlab/gitlab-agent \
>     --namespace gitlab-agent-jh-gitlab \
>     --create-namespace \
>     --set image.tag=v17.3.0 \
>     --set config.token=glagent-McS_oNKq49REYvo_HxTxqe2ozZ3RDzZPzmQU9k2HqQ6LBng8Rg \
>     --set config.kasAddress=wss://kas.jihulab.com
Release "jh-gitlab" does not exist. Installing it now.
NAME: jh-gitlab
LAST DEPLOYED: Wed Aug 21 09:47:27 2024
NAMESPACE: gitlab-agent-jh-gitlab
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing gitlab-agent.

Your release is named jh-gitlab.

## Changelog

### 1.17.0

- The default replica count has been increased from `1` to `2` to allow a zero-downtime upgrade experience.
  You may use `--set replicas=1` to restore the old default behavior.

然后可以在极狐GitLab 项目 --> 运维 --> Kubernetes 集群中进行查看:

这时候说明极狐GitLab 实例和该 Kubernetes agent 建立了连接。

添加 Kubernetes cluster Dashboard

在极狐GitLab 项目 --> 运维 --> 环境下面,添加环境:

填写好环境名称、选择极狐GitLab 代理,如果只看特定命名空间(namespace)的信息,可以选择特定的命名空间,如果不选择,则会展示所有命名空间下的信息:

可以通过 pod右侧的 Views logs按钮对于 pod的日志进行查看

点击 pod最右侧的三个点,还可以直接删除 pod。

这样操作人员就可以直接在极狐GitLab 上对于 Kubernetes 集群进行操作了,而不需要离开极狐GitLab 在命令行终端中进行操作。

相关推荐
Thneonl11 小时前
Flink Operator 的隐藏陷阱:容器名不是你以为的那个
安全·kubernetes
Thneonl11 小时前
kubectl scale ds 是个 404:DaemonSet 没有 replicas
安全·kubernetes
穷人小水滴11 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
暗不需求12 小时前
Docker 入门:从「光盘与 DVD」到全栈项目容器化实战
docker·容器·面试
EdgeEcho12 小时前
我的 GitHub Action 本地全绿,放上去五个 bug——包括一个让文件完全不执行的
devops
AllFiles12 小时前
K8s Node Exporter 异常 Write 超时排查实录
运维·后端·kubernetes
Thneonl12 小时前
etcd 不只是数据库:K8s 控制面的命脉
后端·kubernetes
探索云原生12 小时前
一个 Deployment 就能跑 vLLM,为什么还需要 KServe?
docker·ai·云原生·kubernetes·go
虎头金猫6 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS6 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储