美文网首页
gitlab集成k8s(runner)

gitlab集成k8s(runner)

作者: 4e8ea348373f | 来源:发表于2018-05-14 12:39 被阅读0次

新博客网站1

新博客网站2

一,前言

  1. 持续集成Jenkins+Gitlab,叙述了Gitlab的基本配置
  2. k8s部署文档(详细版),叙述了k8s的部署
  3. 下面在记录一下,gitlab docker版
docker pull registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest

cat <<EOF > start.sh
#!/bin/bash
HOST_NAME=gitlab.test.com
GITLAB_DIR=`pwd`
docker stop gitlab
docker rm gitlab
docker run -d \\
    --hostname \${HOST_NAME} \\
    -p 8443:443 -p 8080:80 -p 2222:22 \\
    --name gitlab \\
    -v \${GITLAB_DIR}/config:/etc/gitlab \\
    -v \${GITLAB_DIR}/logs:/var/log/gitlab \\
    -v \${GITLAB_DIR}/data:/var/opt/gitlab \\
    registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest
EOF

sh start.sh

二,gitlab集成k8s

#在service下gitlab runner要用到的配置,来自[官网修改]()
[root@C1 services]# ll | grep gitlab
-rw-r--r-- 1 root root  776 5月  10 16:22 gitlab-deployment.yaml
-rw-r--r-- 1 root root   98 5月  10 16:26 gitlab-ns.yaml
-rw-r--r-- 1 root root  361 5月  10 17:05 gitlab.yaml

#下面是文件内容
#gitlab-ns 注册gitlab命名空间
[root@C1 services]# cat gitlab-ns.yaml 
apiVersion: v1  
kind: Namespace  
metadata:  
   name: gitlab  
   labels:  
     name: gitlab  

#gitlab 为需要的ConfigMap,注意修改url和token,在gitlab中查看,下面会说明
[root@C1 services]# cat gitlab.yaml 
apiVersion: v1
kind: ConfigMap
metadata:
  name: gitlab-runner
  namespace: gitlab
data:
  config.toml: |
    concurrent = 4

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

#gitlab-deployment为gitlabdeploy
[root@C1 services]# cat gitlab-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
      volumes:
      - configMap:
          name: gitlab-runner
        name: config
      - hostPath:
          path: /usr/share/ca-certificates/mozilla
        name: cacerts

#依次创建
kubectl create -f gitlab-ns.yaml
kubectl create -f gitlab.yaml
kubectl create -f gitlab-deployment.yaml

#查看状态
[root@C1 services]# kubectl -n gitlab get pods -o wide
NAME                             READY     STATUS    RESTARTS   AGE       IP            NODE
gitlab-runner-5c4554ddb5-4dnlt   1/1       Running   1          3d        172.20.12.7   192.168.66.136
[root@C1 services]# kubectl -n gitlab get deploy
NAME            DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
gitlab-runner   1         1         1            1           3d

#待pod运行后,进入docker容器中,注册gitlab runner即可,如下图
image.png

ps:gitlab runner url和token位置如下图


image.png

注册完后,刷新此页面,看到刚刚的runner即可

image.png

相关文章

网友评论

      本文标题:gitlab集成k8s(runner)

      本文链接:https://www.haomeiwen.com/subject/ldbddftx.html