helm部署gitlab-runner
helm部署gitlab-runner。chart最新版本:0.21.1namespace:public-service-ns.yamlapiVersion: v1kind: Namespacemetadata:name: public-servicekubectl apply -f public-service-ns.yaml查看注册token:在 管理中心 查看注册runner的 url 和
·
helm部署gitlab-runner。chart最新版本:0.21.1
- namespace:
public-service-ns.yaml
apiVersion: v1
kind: Namespace
metadata:
name: public-service
kubectl apply -f public-service-ns.yaml
- 查看注册token:
在 管理中心
查看注册runner的 url
和 token
,注册完成后就是全局的runner,也可以创建项目后单独注册runner。
- 配置:
helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm pull gitlab/gitlab-runner
tar xf gitlab-runner-0.21.1.tgz
vim gitlab-runner/values.yaml #更改
gitlabUrl: http://gitlab.lzxlinux.com/ #url
runnerRegistrationToken: "KQj8zJc3RCI0K8wKF3ObroOPMFQT281CkKeHUUV77fro8auh7ZzQBL4PVVVne2EU" #token
concurrent: 10 #最大并发
rbac:
create: true
resources: ["pods", "pods/exec", "secrets"]
verbs: ["get", "list", "watch", "create", "patch", "delete"]
metrics:
enabled: false
runners:
image: ubuntu:16.04
imagePullPolicy: "if-not-present"
locked: false
tags: "k8s-runner" #runner的标签
runUntagged: false
protected: false
privileged: false #特权模式
namespace: public-service
builds:
cpuLimit: 200m
cpuLimitOverwriteMaxAllowed: 400m
memoryLimit: 256Mi
memoryLimitOverwriteMaxAllowed: 512Mi
cpuRequests: 100m
cpuRequestsOverwriteMaxAllowed: 200m
memoryRequests: 128Mi
memoryRequestsOverwriteMaxAllowed: 256Mi
services:
cpuLimit: 200m
memoryLimit: 256Mi
cpuRequests: 100m
memoryRequests: 128Mi
helpers:
cpuLimit: 200m
memoryLimit: 256Mi
cpuRequests: 100m
memoryRequests: 128Mi
securityContext:
fsGroup: 0
runAsUser: 0
resources:
limits:
memory: 256Mi
cpu: 200m
requests:
memory: 128Mi
cpu: 100m
hostAliases:
- ip: "192.168.30.129"
hostnames:
- "gitlab.lzxlinux.com"
渲染模板,查看上面修改是否存在问题:
helm template --dry-run k8s-runner gitlab-runner/ -n public-service
- 部署:
helm install k8s-runner gitlab-runner/ -n public-service
helm ls -n public-service
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
k8s-runner public-service 1 2020-10-15 17:55:24.426491226 +0800 CST deployed gitlab-runner-0.21.1 13.4.1
kubectl get pod -n public-service | grep gitlab-runner
k8s-runner-gitlab-runner-55ddb846bd-g78ch 1/1 Running 0 65s
- 访问:
可以看到gitlab-runner注册成功,标签是 k8s-runner
。
- 演示gitlab runner工作:
gitlab上新建一个组 test
,在 test
组中新建一个项目 helloworld
,然后项目中新建一个 README.md
文件。
再新建一个 .gitlab-ci.yml
文件,
# 定义 stages
stages:
- test
- build
# 定义 job
job1:
stage: test
script:
- echo "I am job1"
- echo "I am in test stage"
- hostname
tags:
- k8s-runner
# 定义 job
job2:
stage: build
script:
- echo "I am job2"
- echo "I am in build stage"
- hostname
tags:
- k8s-runner
打开 CI/CD
→ 流水线
,可以看到刚刚的提交已经成功完成,
提示runner无法解析域名,对coredns添加dns解析,
kubectl edit cm -n kube-system coredns #修改
apiVersion: v1
data:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
hosts {
192.168.30.129 gitlab.lzxlinux.com #添加dns解析
fallthrough
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
保存退出,然后重试流水线,
gitlab runner对每个job启动一个pod,job完成后自动销毁pod,gitlab runner工作正常。
helm部署gitlab-runner完成。已存放至个人github:kubernetes
更多推荐
所有评论(0)