gitlab-runner回部署兩個服務分別為docker、share,他們一個是編包的訪問一個是發布的服務。
### 先來部署docker服務
```
部署前存儲目錄
# mkdir -p /nfs_dir/{gitlab-runner1-ver130806-docker,gitlab-runner2-ver130806-share}
文件這個地方需要修改:
? ? - ip: "10.68.31.18"
? ? ? hostnames:
? ? ? - "git.boge.com"
[root@node-111 home]# kubectl -n gitlab-ver130806 get svc | grep git
gitlab NodePort 10.68.31.18 <none> 80:31945/TCP,22:30324/TCP 21h
# pv
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: gitlab-runner1-ver130806-docker
labels:
? type: gitlab-runner1-ver130806-docker
spec:
capacity:
? storage: 0.1Gi
accessModes:
? - ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs
nfs:
? path: /nfs_dir/gitlab-runner1-ver130806-docker
? server: 10.4.7.111
# pvc
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: gitlab-runner1-ver130806-docker
namespace: gitlab-ver130806
spec:
accessModes:
? - ReadWriteMany
resources:
? requests:
? ? storage: 0.1Gi
storageClassName: nfs
selector:
? matchLabels:
? ? type: gitlab-runner1-ver130806-docker
---
# https://docs.gitlab.com/runner/executors
# concurrent = 30
# check_interval = 0
#
# [session_server]
# session_timeout = 1800
#
# [[runners]]
# name = "gitlab-runner1-ver130806-docker"
# url = "http://git.boge.com/"
# token = "LQsVzL-XdGKW9F1jSkJu"
# executor = "kubernetes"
# [runners.kubernetes]
# namespace = "gitlab-ver130806"
# image = "harbor.boge.com/library/docker:stable"
# helper_image = "harbor.boge.com/library/gitlab-runner-helper:x86_64-9fc34d48-pwsh"
~~~
# ? image = "docker:stable"
# ? helper_image = "gitlab/gitlab-runner-helper:x86_64-9fc34d48-pwsh"
~~~
# privileged = true
# [[runners.kubernetes.volumes.pvc]]
# name = "gitlab-runner1-ver130806-docker"
# mount_path = "/mnt"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gitlab-runner1-ver130806-docker
namespace: gitlab-ver130806
spec:
replicas: 1
selector:
? matchLabels:
? ? name: gitlab-runner1-ver130806-docker
template:
? metadata:
? ? labels:
? ? ? name: gitlab-runner1-ver130806-docker
? spec:
? ? hostAliases:
? ? - ip: "10.68.31.18"
? ? ? hostnames:
? ? ? - "git.boge.com"
? ? serviceAccountName: gitlab
? ? containers:
? ? - args:
? ? ? - run
? ? ? image: gitlab/gitlab-runner:v13.10.0
? ? ? name: gitlab-runner1-ver130806-docker
? ? ? volumeMounts:
? ? ? - mountPath: /etc/gitlab-runner
? ? ? ? name: config
? ? ? - mountPath: /etc/ssl/certs
? ? ? ? name: cacerts
? ? ? ? readOnly: true
? ? restartPolicy: Always
? ? volumes:
? ? - persistentVolumeClaim:
? ? ? ? claimName: gitlab-runner1-ver130806-docker
? ? ? name: config
? ? - hostPath:
? ? ? ? path: /usr/share/ca-certificates/mozilla
? ? ? name: cacerts
```
進入對應runner-pod注冊服務
kubectl -n gitlab-ver130806 exec -it gitlab-runner1-ver130806-docker-5f5c4c9f6d-vmwlf bash
輸入:gitlab-ci-multi-runner register
然后輸入:URL
再輸入:token

再輸入:gitlab-runner1-ver130806-docker
再輸入:docker
再輸入:kubernetes
然后退出容器修改其他配置:
```
[root@node-111 gitlab]# cat /nfs_dir/gitlab-runner1-ver130806-docker/config.toml
concurrent = 30
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "gitlab-runner1-ver130806-docker"
url = "http://git.boge.com/"
token = "LQsVzL-XdGKW9F1jSkJu"
executor = "kubernetes"
[runners.kubernetes]
namespace = "gitlab-ver130806"
image = "harbor.boge.com/library/docker:stable"
helper_image = "harbor.boge.com/library/gitlab-runner-helper:x86_64-9fc34d48-pwsh"
privileged = true
[[runners.kubernetes.volumes.pvc]]
name = "gitlab-runner1-ver130806-docker"
mount_path = "/mnt"
```
修改完成重啟pod
kubectl -n gitlab-ver130806 delete pod gitlab-runner1-ver130806-docker-5f5c4c9f6d-vmwlf
下來需要配置一下

### 部署share服務
```
# pv
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: gitlab-runner2-ver130806-share
labels:
? type: gitlab-runner2-ver130806-share
spec:
capacity:
? storage: 0.1Gi
accessModes:
? - ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs
nfs:
? path: /nfs_dir/gitlab-runner2-ver130806-share
? server: 10.4.7.111
# pvc
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: gitlab-runner2-ver130806-share
namespace: gitlab-ver130806
spec:
accessModes:
? - ReadWriteMany
resources:
? requests:
? ? storage: 0.1Gi
storageClassName: nfs
selector:
? matchLabels:
? ? type: gitlab-runner2-ver130806-share
---
# https://docs.gitlab.com/runner/executors
# concurrent = 30
# check_interval = 0
#
# [session_server]
# session_timeout = 1800
#
# [[runners]]
# name = "gitlab-runner2-ver130806-share"
# url = "http://git.boge.com/"
# token = "nD7XtNy28PsY9T8_bdsX"
# executor = "kubernetes"
# [runners.kubernetes]
# namespace = "gitlab-ver130806"
# image = "harbor.boge.com/library/busybox:v1.29.2"
# helper_image = "harbor.boge.com/library/gitlab-runner-helper:x86_64-9fc34d48-pwsh"
~~~
# ? image = "registry.cn-beijing.aliyuncs.com/acs/busybox/busybox:v1.29.2"
# ? helper_image = "gitlab/gitlab-runner-helper:x86_64-9fc34d48-pwsh"
~~~
# privileged = false
# [[runners.kubernetes.volumes.pvc]]
# name = "gitlab-runner2-ver130806-share"
# mount_path = "/mnt"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gitlab-runner2-ver130806-share
namespace: gitlab-ver130806
spec:
replicas: 1
selector:
? matchLabels:
? ? name: gitlab-runner2-ver130806-share
template:
? metadata:
? ? labels:
? ? ? name: gitlab-runner2-ver130806-share
? spec:
? ? hostAliases:
? ? - ip: "10.68.140.109"
? ? ? hostnames:
? ? ? - "git.boge.com"
? ? serviceAccountName: gitlab
? ? containers:
? ? - args:
? ? ? - run
? ? ? image: gitlab/gitlab-runner:v13.10.0
? ? ? name: gitlab-runner2-ver130806-share
? ? ? volumeMounts:
? ? ? - mountPath: /etc/gitlab-runner
? ? ? ? name: config
? ? ? - mountPath: /etc/ssl/certs
? ? ? ? name: cacerts
? ? ? ? readOnly: true
? ? restartPolicy: Always
? ? volumes:
? ? - persistentVolumeClaim:
? ? ? ? claimName: gitlab-runner2-ver130806-share
? ? ? name: config
? ? - hostPath:
? ? ? ? path: /usr/share/ca-certificates/mozilla
? ? ? name: cacerts
```
這里需要修改的步驟和上面一樣
一樣這里也需要配置一下

配置完成以后

- 空白目錄
- k8s
- k8s介紹和架構圖
- 硬件環境和準備工作
- bind9-DNS服務部署
- 私有倉庫harbor部署
- k8s-etcd部署
- api-server部署
- 配置apiserver L4代理
- controller-manager部署
- kube-scheduler部署
- node節點kubelet 部署
- node節點kube-proxy部署
- cfss-certinfo使用
- k8s網絡-Flannel部署
- k8s網絡優化
- CoreDNS部署
- k8s服務暴露之ingress
- 常用命令記錄
- k8s-部署dashboard服務
- K8S平滑升級
- k8s服務交付
- k8s交付dubbo服務
- 服務架構圖
- zookeeper服務部署
- Jenkins服務+共享存儲nfs部署
- 安裝配置maven和java運行時環境的底包鏡像
- 使用blue ocean流水線構建鏡像
- K8S生態--交付prometheus監控
- 介紹
- 部署4個exporter
- 部署prometheus server
- 部署grafana
- alert告警部署
- 日志收集ELK
- 制作Tomcat鏡像
- 部署ElasticSearch
- 部署kafka和kafka-manager
- filebeat鏡像制作
- 部署logstash
- 部署Kibana
- Apollo交付到Kubernetes集群
- Apollo簡介
- 交付apollo-configservice
- 交付apollo-adminservice
- 交付apollo-portal
- k8s-CICD
- 集群整體架構
- 集群安裝
- harbor倉庫和nfs部署
- nginx-ingress-controller服務部署
- gitlab服務部署
- gitlab服務優化
- gitlab-runner部署
- dind服務部署
- CICD自動化服務devops演示
- k8s上服務日志收集