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

浙公网安备 33010602011771号