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
|