Deploying Jenkins on Kubernetes ARM

The YAML file below is a template you can use to deploy Jenkins on a Kubernetes cluster running on ARM.

Note you will have to define your own backend storage (the template uses emptyDir) and your own hostname (the template uses jenkins.internal.local).

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: jenkins-ui
  labels:
    app: jenkins-ui
spec:
  replicas: 1 
  selector:
    matchLabels:
      app: jenkins-ui
  strategy:
    type: "Recreate"
  template:
    metadata:
      labels:
        app: jenkins-ui
    spec:
      containers:
      - name: jenkins 
        image: manorrock/jenkins:arm32v6
        ports:
        - containerPort: 8080
          name: http
        resources:
          limits:
            memory: "768Mi"
          requests:
            memory: "256Mi"
        volumeMounts:
        - name: data
          mountPath: /mnt
      volumes:
      - name: data
        emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
  name: jenkins-ui
  labels:
    app: jenkins-ui
spec:
  ports:
  - port: 8080
    name: http
  selector:
    app: jenkins-ui
  sessionAffinity: "ClientIP" 
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: jenkins-ingress
  namespace: default
spec:
  rules:
    - host: jenkins.internal.local
      http:
        paths:
          - path: /
            backend:
              serviceName: jenkins-ui
              servicePort: 8080
        

Posted December 9, 2017

Up