windows系统docker Desktop 和k8s 安装jenkins等软件

1 jenkins

1.1 win系统 docker部署 使用docker desktop软件挂载
docker run -itd -p 32001:8080 -p 50000:50000 --name yjx-jenkins --privileged=true --user=0 -v yjxJenkins:/var/jenkins_home -e JAVA_OPTS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true -server -Xmx512m -Xms512m" jenkinsci/blueocean:latest
1.2 win系统 docker部署 使用绝对路径挂载 (e:/yjxdocker) e盘yjxdocker文件
docker run -itd -p 32001:8080 -p 50000:50000 --name yjx-jenkins --privileged=true --user=0 -v e:/yjxdocker/yjxjenkins:/var/jenkins_home -v e:/yjxlinux:/var/yjxlinux -e JAVA_OPTS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true -server -Xmx512m -Xms512m" jenkinsci/blueocean:latest

-i 交互式操作。
-t 终端。
-d 后台启动
32001 宿主机端口 8080 容器内端口
–name yjx-jenkins 容器
–privileged=true 拥有特
–user=0 容器内root权限启
-v 挂载映射
win 挂载宿主机 yjxJenkins
容器内挂载 /var/jenkins_home
jenkinsci/blueocean:latest 镜像版本

下图是windos系统挂载目录创建方式
windows系统docker Desktop 和k8s 安装jenkins等软件_第1张图片

1.2 linux系统 docker部署

linux 挂载宿主机 就用绝对路径即可例如

docker run -itd -p 32001:8080 -p 50000:50000 --name yjx-jenkins --privileged=true --user=0 -v /opt/jenkins:/var/jenkins_home -e JAVA_OPTS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true -server -Xmx512m -Xms512m" jenkinsci/blueocean:latest

-i 交互式操作。
-t 终端。
-d 后台启动
32001 宿主机端口 8080 容器内端口
–name yjx-jenkins 容器
–privileged=true 拥有特
–user=0 容器内root权限启
-v 挂载映射
linux 挂载宿主机 /opt/jenkins
容器内挂载 /var/jenkins_home
jenkinsci/blueocean:latest 镜像版本

2. k8s部署jenkin

创建 jenkins-svc.yaml 写入下面脚本

apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins-deployment
  namespace: yjx-service
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jenkins
  template:
    metadata:
      labels:
        app: jenkins
    spec:
      containers:
        - name: jenkins
          env:
            - name: TZ
              value: "-Duser.timezone=Asia/Shanghai"
          image: jenkinsci/blueocean:latest
          securityContext:                     
            runAsUser: 0                      #设置以ROOT用户运行容器
            privileged: true                  #拥有特权
          ports:
            - containerPort: 8080
          volumeMounts:
            - mountPath: /var/jenkins_home 
              name: jenkins-persistent-storage
      volumes:
        - hostPath:
            #path: /data/jenkins  #linux 系统
            #path: yjxJenkins  #win 系统 
            path: /run/desktop/mnt/host/d # win d盘

          name: jenkins-persistent-storage
---
apiVersion: v1
kind: Service
metadata:
  name: jenkins
  namespace: yjx-service
spec:
  type: NodePort
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 32001
  selector:
    app: jenkins

kubectl apply -f jenkins-svc.yaml

你可能感兴趣的:(k8s,jenkins,docker,windows)