Following is a sample deployment YAML file:
apiVersion: apps/v1
kind: Deployment
metadata:
name: sql3
spec:
replicas: 1
selector:
matchLabels:
app: mssql
template:
metadata:
labels:
app: mssql
spec:
terminationGracePeriodSeconds: 30
hostname: sql3
securityContext:
fsGroup: 10001
nodeSelector:
host: node1
containers:
- name: sql3
command:
- /bin/bash
- -c
- cp /var/opt/config/mssql.conf /var/opt/mssql/mssql.conf && /opt/mssql/bin/sqlservr
image: mcr.microsoft.com/mssql/rhel/server:2019-latest
resources:
limits:
memory: 32Gi
cpu: 16000m
ports:
- containerPort: 1433
env:
- name: MSSQL_PID
value: "Developer"
- name: ACCEPT_EULA
value: "Y"
- name: SA_PASSWORD
valueFrom:
secretKeyRef:
name: mssql
key: SA_PASSWORD
volumeMounts:
- name: mssqldb
mountPath: /var/opt/mssql/data
- name: mssqllogs
mountPath: /var/opt/mssqlogs/logs
- name: mssql-config-volume
mountPath: /var/opt/config
- name: mssqltemp
mountPath: /var/opt/mssqltemp/tempdb
volumes:
- name: mssqldb
persistentVolumeClaim:
claimName: data-sql3
- name: mssqllogs
persistentVolumeClaim:
claimName: data-logs3
- name: mssqltemp
persistentVolumeClaim:
claimName: data-temp3
- name: mssql-config-volume
configMap:
name: mssql-config
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: data-sql3
namespace: vxflexos
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 300Gi
storageClassName: vxflexos-xfs
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: data-logs3
namespace: vxflexos
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 200Gi
storageClassName: vxflexos-xfs
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: data-temp3
namespace: vxflexos
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 300Gi
storageClassName: vxflexos-xfs
---
apiVersion: v1
kind: Service
metadata:
name: sql3
spec:
selector:
app: mssql
ports:
- protocol: TCP
port: 1433
targetPort: 1433
nodePort: 30008
type: NodePort