说明: 总的目标是在k8s集群部署gitlab、jenkins,并且在本地提交代码到gitlab后jenkin流水线可以自动编译打包成为docker镜像然后部署到k8s中并实现客户端外部域名访问,在文档分为多个部分,其中涉及的技术有docker安装、k8s搭建、部署gitlab、部署jenkins、部署sonarqube、gitlab和jenkin联动、jenkins和sonarqube联动、pipline脚本编写、istio部署、istio服务网关等…
这篇文档讲解的是如何在kubernetes中部署jenkins,部署istio的gateway和 virtualservice
文章目录
1. 添加jenkins的pvc
主节点执行:kubectl apply -f pv-jenkins.yaml 内容如下:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-jenkins
spec:
capacity:
storage: 3Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: "pv-jenkins"
nfs:
path: /dfs/k8s
server: 192.168.100.230
2. 部署jenkins
主节点执行:kubectl apply -f jenkins.yaml 内容如下:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: devops
name: service-reader
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["services"]
verbs: ["get", "watch", "list"]
- apiGroups: [""]
resources: ["pods"]
verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
resources: ["pods/exec"]
verbs: