gitlab cicd (四)系列之安裝git-runner kubernetes安裝方式

本編博客是繼gitlab cicd (三)系列之安裝git-runner docker安裝方式安裝方式之後另一種安裝gitlab-runner的安裝方式—kubernetes安裝方式

kubernetes集羣的安裝
請參考kubernetes v1.11.0 從代碼編譯到部署文檔-部署

kubernetes版本

[root@master-47-35 ~]# kubectl version 
Client Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.0-168+f47446a730ca03", GitCommit:"f47446a730ca037473fb3bf0c5abeea648c1ac12", GitTreeState:"clean", BuildDate:"2018-08-25T21:05:52Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.0-168+f47446a730ca03", GitCommit:"f47446a730ca037473fb3bf0c5abeea648c1ac12", GitTreeState:"clean", BuildDate:"2018-08-25T21:05:52Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}

準備ConfigMap

token gitlab
從gitlab服務中獲取

to

[root@master-47-35 gitlab]# cat configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:
  name: gitlab-runner
  namespace: gitlab
data:
  config.toml: |
    concurrent = 4

    [[runners]]
      name = "Kubernetes Runner"
      url = "http://10.39.47.63/"
      token = "d4027a7f23390e8e2519d93564c0a7"
      executor = "kubernetes"
      [runners.kubernetes]
        namespace = "gitlab"
        image = "busybox"

deployment

[root@master-47-35 gitlab]# cat deployment.yaml 
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: gitlab-runner
  namespace: gitlab
spec:
  replicas: 1
  selector:
    matchLabels:
      name: gitlab-runner
  template:
    metadata:
      labels:
        name: gitlab-runner
    spec:
      containers:
      - args:
        - run
        image: gitlab/gitlab-runner:latest
        imagePullPolicy: Always
        name: gitlab-runner
        volumeMounts:
        - mountPath: /etc/gitlab-runner
          name: config
        - mountPath: /etc/ssl/certs
          name: cacerts
          readOnly: true
      restartPolicy: Always
      hostNetwork: true
      volumes:
      - configMap:
          name: gitlab-runner
        name: config
      - hostPath:
          path: /usr/share/ca-certificates/mozilla
        name: cacerts

創建名爲gitlab的namespace,

kubectl create ns gitlab

部署

[root@master-47-35 gitlab]# kubectl create -f configmap.yaml 
configmap/gitlab-runner created
[root@master-47-35 gitlab]# kubectl create -f deployment.yaml 
deployment.extensions/gitlab-runner created

進入到容器註冊gitlab-runner

[root@master-47-35 gitlab]# kubectl exec -it gitlab-runner-7dcfcb8d44-d4vdf sh -n gitlab

k8s

查看部署結果

[root@master-47-35 gitlab]# kubectl get pods -n gitlab -owide
NAME                             READY     STATUS    RESTARTS   AGE       IP              NODE          NOMINATED NODE
gitlab-runner-7dcfcb8d44-d4vdf   1/1       Running   0          43s       10.253.109.42   slave-47-33   <none>

k8s

注意文件config.toml這個裏面的token要跟頁面的一樣
token

root@slave-47-33:/# cat /etc/gitlab-runner/config.toml 
concurrent = 4

[[runners]]
  name = "Kubernetes Runner"
  url = "http://10.39.47.63/"
  token = "75a8c62d5b0652dff24c57c341fc60"
  executor = "kubernetes"
  [runners.kubernetes]
     namespace = "gitlab"
     namespace_overwrite_allowed = "ci-.*"
     bearer_token_overwrite_allowed = true
     privileged = true

11

[root@master-47-35 gitlab]# kubectl get pods -n gitlab 
NAME                                          READY     STATUS              RESTARTS   AGE
gitlab-runner-6bff6d5579-hnrpb                1/1       Running             0          18m
runner-75a8c62d-project-2-concurrent-0shtsp   0/5       ContainerCreating   0          56s
[root@master-47-35 gitlab]# kubectl get pods -n gitlab 
NAME                                          READY     STATUS              RESTARTS   AGE
gitlab-runner-6bff6d5579-hnrpb                1/1       Running             0          18m
runner-75a8c62d-project-2-concurrent-0shtsp   0/5       ContainerCreating   0          58s
[root@master-47-35 gitlab]# kubectl get pods -n gitlab 
NAME                                          READY     STATUS              RESTARTS   AGE
gitlab-runner-6bff6d5579-hnrpb                1/1       Running             0          18m
runner-75a8c62d-project-2-concurrent-0shtsp   0/5       ContainerCreating   0          59s
[root@master-47-35 gitlab]# kubectl get pods -n gitlab 
NAME                                          READY     STATUS              RESTARTS   AGE
gitlab-runner-6bff6d5579-hnrpb                1/1       Running             0          18m
runner-75a8c62d-project-2-concurrent-0shtsp   0/5       ContainerCreating   0          1m
[root@master-47-35 gitlab]# kubectl get pods -n gitlab 
NAME                                          READY     STATUS              RESTARTS   AGE
gitlab-runner-6bff6d5579-hnrpb                1/1       Running             0          18m
runner-75a8c62d-project-2-concurrent-0shtsp   0/5       ContainerCreating   0          1m

end

參考
Run GitLab Runner on a Kubernetes cluster
kubernetes-executors
Advanced configuration

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章