一、准备jenkins镜像
docker pull jenkins/jenkins:2.374docker tag jenkins/jenkins:2.374 harbor.magedu.net/magedu/jenkins:2.374docker push harbor.magedu.net/magedu/jenkins:2.374
二、在nfs共享存储暴露nfs共享目录
[root@easzlab-k8s-nfs-01 ~]# cat /etc/exports # /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /data 172.16.88.0/24(rw,sync,no_root_squash,no_subtree_check) /data/k8sdata/magedu/jenkins-root-data 172.16.88.0/24(rw,sync,no_root_squash,no_subtree_check) /data/k8sdata/magedu/jenkins-data 172.16.88.0/24(rw,sync,no_root_squash,no_subtree_check) [root@easzlab-k8s-nfs-01 ~]# [root@easzlab-k8s-nfs-01 ~]# exportfs -r root@easzlab-deploy:~# showmount -e 172.16.88.169 Export list for 172.16.88.169: /data/k8sdata/magedu/jenkins-data 172.16.88.0/24 /data/k8sdata/magedu/jenkins-root-data 172.16.88.0/24 /data 172.16.88.0/24 root@easzlab-deploy:~#
三、准备jenkins相关部署配置文件
root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins/pv# cat jenkins-persistentvolumeclaim.yaml --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jenkins-datadir-pvc namespace: magedu spec: volumeName: jenkins-datadir-pv accessModes: - ReadWriteOnce resources: requests: storage: 80Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: namespace: magedu spec: volumeName: jenkins-root-datadir-pv accessModes: - ReadWriteOnce resources: requests: storage: 80Gi root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins/pv# cat jenkins-persistentvolume.yaml --- apiVersion: v1 kind: PersistentVolume metadata: name: jenkins-datadir-pv namespace: magedu spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce nfs: server: 172.16.88.169 path: /data/k8sdata/magedu/jenkins-data --- apiVersion: v1 kind: PersistentVolume metadata: name: jenkins-root-datadir-pv namespace: magedu spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce nfs: server: 172.16.88.169 path: /data/k8sdata/magedu/jenkins-root-data root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins/pv# root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins/pv# cd ../ root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins# cat jenkins.yaml kind: Deployment #apiVersion: extensions/v1beta1 apiVersion: apps/v1 metadata: labels: app: magedu-jenkins name: magedu-jenkins-deployment namespace: magedu spec: replicas: 1 selector: matchLabels: app: magedu-jenkins template: metadata: labels: app: magedu-jenkins spec: containers: - name: magedu-jenkins-container image: harbor.magedu.net/magedu/jenkins:2.374 #imagePullPolicy: IfNotPresent imagePullPolicy: Always ports: - containerPort: 8080 protocol: TCP name: http volumeMounts: - mountPath: "/apps/jenkins/jenkins-data/" name: jenkins-datadir-magedu - mountPath: "/root/.jenkins" name: jenkins-root-datadir volumes: - name: jenkins-datadir-magedu persistentVolumeClaim: claimName: jenkins-datadir-pvc - name: jenkins-root-datadir persistentVolumeClaim: claimName: jenkins-root-data-pvc --- kind: Service apiVersion: v1 metadata: labels: app: magedu-jenkins name: magedu-jenkins-service namespace: magedu spec: type: NodePort ports: - name: http port: 80 protocol: TCP targetPort: 8080 nodePort: 38080 selector: app: magedu-jenkins root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins#
root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins# kubectl create ns magedu #创建所需命名空间 namespace/magedu created root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins#
root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins# kubectl apply -f jenkins.yaml -f pv/ #安装部署jenkins服务
deployment.apps/magedu-jenkins-deployment created
service/magedu-jenkins-service created
persistentvolume/jenkins-datadir-pv created
persistentvolume/jenkins-root-datadir-pv created
persistentvolumeclaim/jenkins-datadir-pvc created
persistentvolumeclaim/jenkins-root-data-pvc created
root@easzlab-deploy:~/jiege-k8s/20220807/k8s-data-n70-20220807/yaml/magedu/jenkins#
验证
标签:data,magedu,nfs,20220807,jenkins,k8s,root From: https://www.cnblogs.com/cyh00001/p/16629050.html