academia/deploy/k3s/sqlserver.yaml

108 lines
2.4 KiB
YAML
Raw Normal View History

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sqlserver-pvc
namespace: academia
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sqlserver
namespace: academia
labels:
app: sqlserver
spec:
replicas: 1
selector:
matchLabels:
app: sqlserver
strategy:
type: Recreate
template:
metadata:
labels:
app: sqlserver
spec:
nodeSelector:
kubernetes.io/hostname: hp62a
containers:
- name: sqlserver
image: mcr.microsoft.com/mssql/server:2022-latest
ports:
- containerPort: 1433
name: sql
env:
- name: ACCEPT_EULA
value: "Y"
- name: MSSQL_SA_PASSWORD
valueFrom:
secretKeyRef:
name: student-secrets
key: db-password
# SQL Server Express - Optimización RAM
- name: MSSQL_PID
value: "Express"
- name: MSSQL_MEMORY_LIMIT_MB
value: "1024"
- name: MSSQL_AGENT_ENABLED
value: "false"
volumeMounts:
- name: sqlserver-data
mountPath: /var/opt/mssql
resources:
requests:
memory: "1200Mi"
cpu: "250m"
limits:
memory: "1536Mi"
cpu: "1000m"
livenessProbe:
exec:
command:
- /opt/mssql-tools18/bin/sqlcmd
- -S
- localhost
- -U
- sa
- -P
- $(MSSQL_SA_PASSWORD)
- -Q
- SELECT 1
- -C
initialDelaySeconds: 120
periodSeconds: 60
timeoutSeconds: 15
failureThreshold: 5
readinessProbe:
tcpSocket:
port: 1433
initialDelaySeconds: 60
periodSeconds: 15
timeoutSeconds: 10
volumes:
- name: sqlserver-data
persistentVolumeClaim:
claimName: sqlserver-pvc
---
apiVersion: v1
kind: Service
metadata:
name: sqlserver
namespace: academia
spec:
selector:
app: sqlserver
ports:
- port: 1433
targetPort: 1433
name: sql
type: ClusterIP