k8s中部署jenkins

Jenkins下载地址 www.jenkins.io

cat Dockerfile

FROM centos:7.8.2003

RUN yum install -y vim wget tree lrzsz gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop

docker build -t centos:7.8.2003make .

root@slave002:/opt/k8s-data/dockerfile/web/pub-images/jdk-1.8.212# cat Dockerfile 
#JDK Base Image
FROM centos:7.8.2003make
ADD jdk-8u212-linux-x64.tar.gz /usr/local/src/
RUN ln -sv /usr/local/src/jdk1.8.0_212 /usr/local/jdk 
ADD profile /etc/profile


ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
ENV PATH $PATH:$JAVA_HOME/bin

  

root@slave002:/opt/k8s-data/dockerfile/web/chuan/jenkins# cat Dockerfile
#Jenkins Version 2.190.1
FROM 192.168.192.155:80/pub-images/jdk-base:v8.212
ADD jenkins-2.190.1.war /apps/jenkins/
ADD run_jenkins.sh /usr/bin/
EXPOSE 8080 
CMD ["/usr/bin/run_jenkins.sh"]

  

[root@d72ac7b63ce4 /]# netstat -nutpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      7/java              
udp        0      0 0.0.0.0:33848           0.0.0.0:*                           7/java              
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           7/java

  

root@slave002:/opt/k8s-data/yaml/chuan/jenkins/pv# cat jenkins-persistentvolume.yaml 
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins-datadir-pv
  namespace: chuan
spec:
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteOnce
  nfs:
    server: 192.168.192.156
    path: /data/k8sdata/chuan/jenkins-data 

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins-root-datadir-pv
  namespace: chuan
spec:
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteOnce
  nfs:
    server: 192.168.192.156
    path: /data/k8sdata/chuan/jenkins-root-data

  

root@slave002:/opt/k8s-data/yaml/chuan/jenkins/pv# cat jenkins-persistentvolumeclaim.yaml 
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jenkins-datadir-pvc
  namespace: chuan
spec:
  volumeName: jenkins-datadir-pv
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 80Gi

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jenkins-root-data-pvc
  namespace: chuan
spec:
  volumeName: jenkins-root-datadir-pv 
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 80Gi

  

root@slave002:/opt/k8s-data/yaml/chuan/jenkins# cat jenkins.yaml 
kind: Deployment
#apiVersion: extensions/v1beta1
apiVersion: apps/v1
metadata:
  labels:
    app: chuan-jenkins
  name: chuan-jenkins-deployment
  namespace: chuan
spec:
  replicas: 1
  selector:
    matchLabels:
      app: chuan-jenkins
  template:
    metadata:
      labels:
        app: chuan-jenkins
    spec:
      containers:
      - name: chuan-jenkins-container
        image: 192.168.192.155:80/chuan/jenkins:v2.190.1 
        #imagePullPolicy: IfNotPresent
        imagePullPolicy: Always
        ports:
        - containerPort: 8080
          protocol: TCP
          name: http
        volumeMounts:
        - mountPath: "/apps/jenkins/jenkins-data/"
          name: jenkins-datadir-chuan
        - mountPath: "/root/.jenkins"
          name: jenkins-root-datadir
      volumes:
        - name: jenkins-datadir-chuan
          persistentVolumeClaim:
            claimName: jenkins-datadir-pvc
        - name: jenkins-root-datadir
          persistentVolumeClaim:
            claimName: jenkins-root-data-pvc

---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: chuan-jenkins
  name: chuan-jenkins-service
  namespace: chuan
spec:
  type: NodePort
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 8080
    nodePort: 38080
  selector:
    app: chuan-jenkins

  

[root@chuan-jenkins-deployment-6dfb9c558d-9bqzv /]# cat /root/.jenkins/secrets/initialAdminPassword
9a161edf203341c187dde362a2ed7e49

  

http://192.168.192.151:38080/ 安装插件后使用,也可上传下载好的到指定目录

  

  root@ubuntu20:/data/k8sdata/chuan/jenkins-root-data/plugins# ls

posted @ 2021-11-28 20:16  gg888666  阅读(106)  评论(0)    收藏  举报