kubernetes 部署 gitlab-runner

kubernetes 部署 gitlab-runner

这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab-runner。

先决条件:

  • 已运行的 Kubernetes 集群
  • 已运行的 gitlab 实例

项目地址:https://gitlab.com/gitlab-org/charts/gitlab-runner

官方文档:https://docs.gitlab.com/runner/install/kubernetes.html

在这里插入图片描述

创建gitlab-runner实例

1、登陆UI创建新的runner

选择Your work–> Admin Area
在这里插入图片描述
2、选择CI/CD–>Runners–> New instance runner

在这里插入图片描述
3、配置runner信息
在这里插入图片描述
4、点击Create runner
在这里插入图片描述
5、获取runner token
在这里插入图片描述

前置配置

说明:gitlab实例使用自签名证书并且使用本地域名时,需执行以下配置。

1、配置gitlab url在pod中的域名解析

gitlab-runner pod启用时需要从pod内部使用 gitlab 外部域名https://gitlab.example.com注册到gitlab,修改coredns配置,提供本地域名解析。

root@ubuntu:~# kubectl -n kube-system edit cm coredns
apiVersion: v1
data:
  Corefile: |
    .:53 {
        errors
        hosts {
            192.168.72.210 gitlab.example.com
            fallthrough
        }
        ......
    }

重启coredns pods

kubectl -n kube-system rollout restart deployment.apps/coredns

2、导出gitlab自签名证书

kubectl -n gitlab get secret gitlab-gitlab-tls --template='{{ index .data "tls.crt" }}' | base64 -d > gitlab.crt

3、基于自签名证书创建secrets

kubectl create ns gitlab-runner
kubectl -n gitlab-runner create secret generic gitlab-runner-certs \
  --from-file=gitlab.example.com.crt=gitlab.crt \
  --from-file=registry.example.com.crt=gitlab.crt \
  --from-file=minio.example.com.crt=gitlab.crt

部署gitlab-runner

添加gitlab helm 仓库

helm repo add gitlab https://charts.gitlab.io

使用helm部署gitlab-runner

helm install gitlab-runner \
  --namespace=gitlab-runner \
  --create-namespace \
  --set gitlabUrl=https://gitlab.example.com \
  --set runnerToken=glrt-p3LfPnBwy6pdVjnj1Mmx \
  --set certsSecretName=gitlab-runner-certs \
  --set rbac.create=true \
  --set rbac.clusterWideAccess=true \
  gitlab/gitlab-runner

查看运行的gitlab-runner pods

root@ubuntu:~# kubectl -n gitlab-runner get pods 
NAME                             READY   STATUS    RESTARTS   AGE
gitlab-runner-5db97476f9-2mnsz   1/1     Running   0          3h30m

登陆UI确认runner注册成功
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitLab Runner是一个开源项目,是GitLab CI/CD系统的组件之一。它负责执行定义在GitLab CI/CD的pipelines中的作业。GitLab Runner允许开发人员在包含Docker、Kubernetes等各种环境中运行作业。 Maven是一个用于构建Java项目的工具。它提供了一个强大的依赖管理系统,可以自动下载和管理项目所需的依赖。通过Maven,开发人员可以定义项目的结构以及构建、测试和部署项目的过程。 JDK(Java Development Kit)是Java开发工具包的缩写,是用于开发Java应用程序的软件包。JDK包括Java运行时环境(JRE)、编译器(javac)、调试器(jdb)以及用于创建、编译和运行Java应用程序所需的其他工具。 在GitLab Runner中使用Maven和JDK版本是非常常见的。可以通过在.gitlab-ci.yml文件中定义构建和测试阶段的作业,指定要使用的Maven版本和JDK版本。 例如,可以在.gitlab-ci.yml文件中定义一个作业来构建和测试Java项目: ```yaml build: stage: build script: - mvn clean package ``` 在这个例子中,作业名为build,打包阶段执行的命令是mvn clean package。这将使用默认的Maven版本和JDK版本来构建项目。 如果需要指定特定的Maven版本和JDK版本,可以在.gitlab-ci.yml文件中使用variables选项定义环境变量。 ```yaml variables: MAVEN_VERSION: "3.6.3" JDK_VERSION: "11" build: stage: build script: - mvn clean package ``` 在这个例子中,指定了Maven版本3.6.3和JDK版本11。作业将使用这些指定的版本来构建项目。 总之,GitLab Runner可以与Maven和JDK一起使用,通过在.gitlab-ci.yml文件中定义作业和使用环境变量,可以指定要使用的特定Maven版本和JDK版本来构建和测试项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值