hello/deployment/gitlab.yaml

124 lines
2.5 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: gitlab-runner
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: gitlab-admin
namespace: gitlab-runner
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: gitlab-runner
name: gitlab-admin
rules:
- apiGroups: ['*']
resources: ['*']
verbs: ['*']
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: gitlab-admin
namespace: gitlab-runner
subjects:
- kind: ServiceAccount
name: gitlab-admin
namespace: gitlab-runner
roleRef:
kind: Role
name: gitlab-admin
apiGroup: rbac.authorization.k8s.io
---
# apiVersion: v1
# kind: ConfigMap
# metadata:
# name: gitlab-runner-config
# namespace: gitlab-runner
# data:
# config.toml: |-
# concurrent = 4
# [[runners]]
# name = "Kubernetes Demo Runner"
# url = "https://gitlab.com/ci"
# token = "[TOKEN]"
# executor = "kubernetes"
# [runners.kubernetes]
# namespace = "gitlab-runner"
# poll_timeout = 600
# cpu_request = "1"
# service_cpu_request = "200m"
# ---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: gitlab-runner
namespace: gitlab-runner
spec:
replicas: 1
selector:
matchLabels:
name: gitlab-runner
template:
metadata:
labels:
name: gitlab-runner
spec:
serviceAccountName: gitlab-admin
containers:
- args:
- run
image: gitlab/gitlab-runner:v16.8.0
imagePullPolicy: IfNotPresent
name: gitlab-runner
resources:
requests:
cpu: '100m'
limits:
cpu: '100m'
volumeMounts:
- name: gitlab-runner-config
mountPath: /etc/gitlab-runner
volumes:
- name: gitlab-runner-config
persistentVolumeClaim:
claimName: 'gitlab-runner-pvc'
restartPolicy: Always
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: gitlab-runner
name: gitlab-runner-pvc
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: "gitlab-runner-storage"
resources:
requests:
storage: 10Mi
---
apiVersion: v1
kind: PersistentVolume
metadata:
namespace: gitlab-runner
name: gitlab-runner-pv
spec:
capacity:
storage: 10Mi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: /data/gitlab-runner
type: ""
storageClassName: "gitlab-runner-storage"
volumeMode: Filesystem