Sample YAML files for Kubernetes
This topic contains samples YAML files used with the Kubernetes integration.
postgresdb.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: postgres-db-pvc1
labels:
app: sv-postgres-db1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 4Gi
storageClassName: manual
---
kind: PersistentVolume
apiVersion: v1
metadata:
name: postgres-db-pv
labels:
type: local
app: sv-postges-db
spec:
storageClassName: manual
capacity:
storage: 4Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: sv-postgres-db
labels:
app: sv-postgres-db
spec:
replicas: 1
template:
metadata:
labels:
name: sv-postgres-db
spec:
securityContext:
runAsUser: 0
containers:
- name: sv-postgres-db
image: postgres
env:
- name: POSTGRES_PASSWORD
value: "postgres"
ports:
- containerPort: 5432
volumeMounts:
- name: postgres-data
mountPath: /var/lib/postgresql/data
readOnly: false
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: postgres-db-pvc
---
apiVersion: v1
kind: Service
metadata:
name: sv-postgres-db-service
spec:
ports:
- name: postgres-db-port
port: 5432
targetPort: 5432
selector:
name: sv-postgres-db
type: LoadBalancer
sv-server.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: sv-work-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100k
storageClassName: manual
---
kind: PersistentVolume
apiVersion: v1
metadata:
name: sv-work-pv
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 100k
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/sv/work"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: sv-logs-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20M
storageClassName: manual
---
kind: PersistentVolume
apiVersion: v1
metadata:
name: sv-logs-pv
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 20M
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/sv/logs"
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: sv-server
name: sv-server
spec:
replicas: 1
strategy:
rollingUpdate:
maxUnavailable: 33%
maxSurge: 100%
type: RollingUpdate
selector:
matchLabels:
app: sv-service
template:
metadata:
labels:
app: sv-service
spec:
securityContext:
runAsUser: 0
volumes:
- name: sv-storage-work
persistentVolumeClaim:
claimName: sv-work-pvc
- name: sv-storage-logs
persistentVolumeClaim:
claimName: sv-logs-pvc
terminationGracePeriodSeconds: 120
containers:
- name: sv-server
image: virtualization/sv-server:5.1.1
tty: true
lifecycle:
preStop:
exec:
command:
- /bin/bash
- -c
- pkill -15 -f dotnet; while kill -0 1; do sleep 5; done && rm /opt/opentext/sv-server/work/lock
command: ["/bin/bash","-c"]
# wait until lock file exists or timeout
# create lock file
# if persistent configuration doesn't exist, move it to the persistent volume
# link the original location to the persistent volume directory
# start sv server
# remove lock file
args: ["i=0
&& while [ \"$i\" -lt 60 -a -f /opt/opentext/sv-server/work/lock ]; do i=$((i+1)); sleep 1; done
&& echo sv>/opt/opentext/sv-server/work/lock
&& /opt/opentext/sv-server/bin/start-server.sh && rm /opt/opentext/sv-server/work/lock"]
resources:
requests:
cpu: 2
env:
- name: SV_LICENSE_SERVER_URL
value: "https://autopass.example.com:5814"
- name: MONO_TLS_PROVIDER
value: "legacy"
- name: SV_DB_TYPE
value: "postgresql"
- name: SV_DB_USERNAME
value: "postgres"
- name: SV_DB_PASSWORD
value: "postgres"
- name : SV_DB_DATASOURCE
value: ";Host=sv-postgres-db-service;Database=postgres"
- name: SV_SERVER_AGENT_PORTS
value: "7000-7019"
- name: SV_USER
value: "demo"
- name : SV_PASSWORD
value: "changeit"
- name : SV_GROUPS
value: "SVM Users,SV Server Administrators"
volumeMounts:
- name: sv-storage-work
mountPath: /opt/opentext/sv-server/work
readOnly: false
- name: sv-storage-logs
mountPath: /opt/opentext/sv-server/logs
readOnly: false
imagePullSecrets:
- name: regcred
imagePullPolicy: Always
ports:
- containerPort: 6085
name: https
- containerPort: 7000
name: service
apiVersion: v1
kind: Service
metadata:
name: sv-service
spec:
ports:
- name: sv-mgmt
port: 6085
targetPort: 6085
- name: sv-http-agent
port: 7000
targetPort: 7000
selector:
app: sv-service
type: NodePort
See also:

