---
title: GitLab RunnerをKubernetesにインストールするメモ
tags: ["GitLab CICD", "GitLab Runner", "Kubernetes"]
categories: ["Dev", "CI", "GitLabCICD", "GitLabRunner"]
date: 2021-08-21T10:52:54Z
updated: 2021-08-21T16:05:50Z
---

memo

### 最小設定

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

export GITLAB_URL=****
export GITLAB_RUNNER_TOKEN=****

helm install -n gitlab gitlab-runner gitlab/gitlab-runner \
  --set gitlabUrl=${GITLAB_URL} \
  --set runnerRegistrationToken=${GITLAB_RUNNER_TOKEN} \
  --set rbac.create=true \
  --create-namespace \
  --wait
```

> 社内VPN内の場合のメモ
> ```
> helm install -n gitlab gitlab-runner gitlab/gitlab-runner \
>   --set image=harbor-repo.vmware.com/dockerhub-proxy-cache/gitlab/gitlab-runner:alpine-v14.1.0 \
>   --set gitlabUrl=${GITLAB_URL} \
>   --set runnerRegistrationToken=${GITLAB_RUNNER_TOKEN} \
>   --set rbac.create=true \
>   --create-namespace \
>   --wait
> ```

### Minioへキャッシュを保存したい場合の設定

```
helm repo add bitnami https://charts.bitnami.com/bitnami

helm install -n minio minio bitnami/minio \
  --set defaultBuckets=gitlab-runner \
  --create-namespace \
  --wait
```

> 社内VPN内の場合のメモ
> ```
> helm install -n minio minio bitnami/minio \
>   --set defaultBuckets=gitlab-runner \
>   --set image.registry=harbor-repo.vmware.com/dockerhub-proxy-cache \
>   --set global.storageClass=tanzu \
>   --create-namespace \
>   --wait
> ```

```
kubectl create namespace gitlab
kubectl -n gitlab create secret generic minio \
  --from-literal=accesskey=$(kubectl get secret --namespace minio minio -o template='{{index .data "access-key" | base64decode}}') \
  --from-literal=secretkey=$(kubectl get secret --namespace minio minio -o template='{{index .data "secret-key" | base64decode}}')
```

```
helm install -n gitlab gitlab-runner gitlab/gitlab-runner \
  --set gitlabUrl=${GITLAB_URL} \
  --set runnerRegistrationToken=${GITLAB_RUNNER_TOKEN} \
  --set rbac.create=true \
  --set runners.cache.cacheType=s3 \
  --set runners.cache.cacheShared=true \
  --set runners.cache.s3ServerAddress=minio.minio.svc.cluster.local:9000 \
  --set runners.cache.s3BucketName=gitlab-runner \
  --set runners.cache.s3CacheInsecure=true \
  --set runners.cache.secretName=minio \
  --create-namespace \
  --wait
```

> 社内VPN内の場合のメモ
> ```
> helm install -n gitlab gitlab-runner gitlab/gitlab-runner \
>   --set image=harbor-repo.vmware.com/dockerhub-proxy-cache/gitlab/gitlab-runner:alpine-v14.1.0 \
>   --set gitlabUrl=${GITLAB_URL} \
>   --set runnerRegistrationToken=${GITLAB_RUNNER_TOKEN} \
>   --set rbac.create=true \
>   --set runners.cache.cacheType=s3 \
>   --set runners.cache.cacheShared=true \
>   --set runners.cache.s3ServerAddress=minio.minio.svc.cluster.local:9000 \
>   --set runners.cache.s3BucketName=gitlab-runner \
>   --set runners.cache.s3CacheInsecure=true \
>   --set runners.cache.secretName=minio \
>   --create-namespace \
>   --wait
> ```


キャッシュを使用するパイプラインのサンプル
https://gitlab.com/gitlab-org/gitlab-ci-yml/-/tree/master
