k8s 中部署Jenkins

  1. 创建namespace
yaml 复制代码
apiVersion: v1
kind: Namespace
metadata:
  name: jenkins
  1. 创建pv以及pvc
yaml 复制代码
kind: PersistentVolume
apiVersion: v1
metadata:
  name: jenkins-pv-volume
  namespace: jenkins
  labels:
    type: local
    app: jenkins
spec:
  #storageClassName: manual
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/home/ellis/k8s/Jenkins/jenkinsdata/vol"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: jenkins-pv-claim
  namespace: jenkins
  labels:
    app: jenkins
spec:
  storageClassName: ""
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
---
kind: PersistentVolume
apiVersion: v1
metadata:
  name: jenkinshome-pv-volume
  namespace: jenkins
  labels:
    type: local
    app: jenkins
spec:
  #storageClassName: manual
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/home/ellis/k8s/Jenkins/jenkinsdata/home"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: jenkinshome-pv-claim
  namespace: jenkins
  labels:
    app: jenkins
spec:
  storageClassName: ""
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
  1. 创建deployment以及service
yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins
  namespace: jenkins
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jenkins
  template:
    metadata:
      labels:
        app: jenkins
    spec:
      containers:
      - name: jenkins
        image: jenkins/jenkins:lts
        ports:
          - name: http-port
            containerPort: 8080
          - name: jnlp-port
            containerPort: 50000
        env:
        - name: TZ
          value: "Asia/Shanghai"
        volumeMounts:
          - name: jenkins-vol
            mountPath: /var/jenkins_vol
          - name: jenkins-home
            mountPath: /var/jenkins_home
        resources:
          limits:
            cpu: 500m
            memory: 2Gi
          requests:
            cpu: 500m
            memory: 2Gi
      volumes:
        - name: jenkins-vol
          persistentVolumeClaim:
            claimName: jenkins-pv-claim
        - name: jenkins-home
          persistentVolumeClaim:
            claimName: jenkinshome-pv-claim
---
apiVersion: v1
kind: Service
metadata:
  name: jenkins
  namespace: jenkins
spec:
  type: NodePort
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 30000
  selector:
    app: jenkins

---

apiVersion: v1
kind: Service
metadata:
  name: jenkins-jnlp
  namespace: jenkins
spec:
  type: ClusterIP
  ports:
    - port: 50000
      targetPort: 50000
  selector:
    app: jenkins
  1. 查看admin password
    拉到最下面查找password
yaml 复制代码
sudo kubectl logs pod/jenkins-d6fcdfdd6-hqqvd   -n jenkins   
  1. 访问http://ip:30000
  2. Windows安装java 21
  • 下载zip
  • 解压
  • 添加JAVA_HOME环境变量,例如D:\java21sdk\jdk-21.0.1
  • 添加PATH 例如 %JAVA_HOME%\bin;
  1. 配置添加Windows节点
    启动方式选择如下

跟着配置即可

相关推荐
A__tao4 小时前
Elasticsearch Mapping 一键生成 Proto 文件(支持嵌套 + 注释过滤)
大数据·elasticsearch·jenkins
小叶lr6 小时前
jenkins打包前端样式丢失/与本地不一致问题
运维·前端·jenkins
REDcker6 小时前
Jenkins 开源 CI/CD 平台概览与版本演进
ci/cd·开源·jenkins
虚伪的空想家7 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
SXJR7 小时前
k8s中的Pod
云原生·容器·kubernetes
文静小土豆7 小时前
K8s 滚动更新在 Java 应用中的实践与优化
java·容器·kubernetes
w6100104667 小时前
CKA-2026-Ingress
云原生·容器·kubernetes·cka
观无10 小时前
Jenkins 完整搭建 + .NET8 全自动发布
运维·jenkins
观无10 小时前
Windows 本地电脑搭建一个私有的、类似 Gitee 的 Git 服务
gitee·jenkins·.netcore
REDcker10 小时前
CI/CD 平台选型对比:与 Jenkins 同类的方案
jenkins·ci·cd