Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

将 Jenkins 从 Docker compose 迁移到 k8s 中 #322

Open
Bpazy opened this issue Mar 18, 2024 · 0 comments
Open

将 Jenkins 从 Docker compose 迁移到 k8s 中 #322

Bpazy opened this issue Mar 18, 2024 · 0 comments

Comments

@Bpazy
Copy link
Owner

Bpazy commented Mar 18, 2024

两年前从裸机运行迁移到 Docekr compose 中: #251

如今需要迁移到 k8s 集群中:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins-pv-local
spec:
  capacity:
    storage: 2Gi
  volumeMode: Filesystem
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: jenkins-local-storage
  local:
    path: /home/ubuntu/jenkins/jenkins-data
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - shan-tencent

---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: jenkins-local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: jenkins-pvc-local
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
  storageClassName: jenkins-local-storage

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      name: jenkins
  template:
    metadata:
      labels:
        name: jenkins
    spec:
      containers:
        - name: jenkins
          image: jenkins/jenkins:lts
          ports:
            - containerPort: 8080
          volumeMounts:
            - name: jenkins-pvc-local
              mountPath: /var/jenkins_home
      volumes:
      - name: jenkins-pvc-local
        persistentVolumeClaim:
          claimName: jenkins-pvc-local

---
apiVersion: v1
kind: Service
metadata:
  name: jenkins
spec:
  type: NodePort
  selector:
    name: jenkins
  ports:
    - port: 30001
      targetPort: 8080
      nodePort: 30001

可以看到我的 PV 指定了一个路径: /home/ubuntu/jenkins/jenkins-data,这是之前 docker 挂载的目录,先通过 local-pv 无缝迁移上 k8s,后期再考虑高可用问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant