Snippets

Joseph D. Marhee Deploy JetBrains TeamCity on Kubernetes

Created by Joseph D. Marhee
kind: PersistentVolume
apiVersion: v1
metadata:
  name: teamcity-data-pv-volume
  labels:
    type: local
    app: teamcity
spec:
  storageClassName: manual
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/mnt/kube-data/teamcity-data"
    type: DirectoryOrCreate
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: teamcity-logs-pv-claim
  labels:
    app: teamcity
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 20Gi
kind: PersistentVolume
apiVersion: v1
metadata:
  name: teamcity-logs-pv-volume
  labels:
    type: local
    app: teamcity
spec:
  storageClassName: manual
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/mnt/kube-data/teamcity-logs"
    type: DirectoryOrCreate
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: teamcity-logs-pv-claim
  labels:
    app: teamcity
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: teamcity
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: teamcity
    spec:
      containers:
        - name: teamcity
          image: jetbrains/teamcity-server
          imagePullPolicy: "IfNotPresent"
          ports:
            - containerPort: 8111
          volumeMounts:
            - mountPath: /data/teamcity_server/datadir
              name: teamcity-data
            - mountPath: /opt/teamcity/logs
              name: teamcity-logs
      volumes:
        - name: teamcity-data
          persistentVolumeClaim:
            claimName: teamcity-data-pv-claim
        - name: teamcity-logs
          persistentVolumeClaim:
            claimName: teamcity-logs-pv-claim
---
apiVersion: v1
kind: Service
metadata:
  name: teamcity-service
spec:
  selector:
    app: teamcity
  ports:
  - protocol: TCP
    port: 8111
    targetPort: 8111

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.