Skip to content

Instantly share code, notes, and snippets.

@radu-matei
Last active April 10, 2017 15:30
Show Gist options
  • Save radu-matei/ccec29e108d0e01f50c8c1ea45a1dc58 to your computer and use it in GitHub Desktop.
Save radu-matei/ccec29e108d0e01f50c8c1ea45a1dc58 to your computer and use it in GitHub Desktop.
---
apiVersion: "v1"
kind: "List"
items:
- apiVersion: "v1"
kind: "Namespace"
metadata:
name: "kubernetes-plugin"
labels:
name: "kubernetes-plugin"
# jenkins
- apiVersion: "v1"
kind: "PersistentVolume"
metadata:
name: "jenkins"
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 10Gi
gcePersistentDisk:
pdName: jenkins
fsType: ext4
- apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
name: "jenkins"
namespace: "kubernetes-plugin"
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
- apiVersion: "v1"
kind: "ReplicationController"
metadata:
name: "jenkins"
namespace: "kubernetes-plugin"
labels:
name: "jenkins"
spec:
replicas: 1
template:
metadata:
name: "jenkins"
labels:
name: "jenkins"
spec:
containers:
- name: "jenkins"
image: "jenkins:lts"
ports:
- containerPort: 8080
- containerPort: 50000
resources:
limits:
cpu: 2
memory: 4Gi
requests:
cpu: 1
memory: 2Gi
env:
- name: CPU_REQUEST
valueFrom:
resourceFieldRef:
resource: requests.cpu
- name: CPU_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.cpu
- name: MEM_REQUEST
valueFrom:
resourceFieldRef:
resource: requests.memory
divisor: "1Mi"
- name: MEM_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.memory
divisor: "1Mi"
- name: JAVA_OPTS
value: "-Xmx$(MEM_REQUEST)m -Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85"
volumeMounts:
- name: "jenkins"
mountPath: "/var/jenkins_home"
livenessProbe:
httpGet:
path: /login
port: 8080
initialDelaySeconds: 60
timeoutSeconds: 5
securityContext:
fsGroup: 1000
volumes:
- name: "jenkins"
persistentVolumeClaim:
claimName: "jenkins"
- apiVersion: "v1"
kind: "Service"
metadata:
name: "jenkins"
namespace: "kubernetes-plugin"
spec:
type: "LoadBalancer"
selector:
name: "jenkins"
ports:
-
name: "http"
port: 80
targetPort: 8080
protocol: "TCP"
-
name: "slave"
port: 50000
protocol: "TCP"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment