Files
sample-node-api/container/sample-node-api.yml
Adarshdeep Cheema 5b0e931a7e Containerization work for sample-node-api
Signed-off-by: Adarshdeep Cheema <adarshdeep.cheema@ibm.com>
2021-12-16 12:31:21 -05:00

135 lines
4.1 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-node-api
namespace: zowe
labels:
app.kubernetes.io/name: zowe
app.kubernetes.io/instance: zowe
# app.kubernetes.io/version:
app.kubernetes.io/component: sample-node-api
# app.kubernetes.io/part-of:
app.kubernetes.io/managed-by: manual
spec:
selector:
matchLabels:
app.kubernetes.io/name: zowe
app.kubernetes.io/instance: zowe
app.kubernetes.io/component: sample-node-api
template:
metadata:
labels:
app.kubernetes.io/name: zowe
app.kubernetes.io/instance: zowe
app.kubernetes.io/component: sample-node-api
spec:
securityContext:
runAsUser: 20000
runAsGroup: 20000
fsGroup: 20000
serviceAccountName: zowe-sa
volumes:
- name: zowe-runtime
emptyDir: {}
- name: zowe-instance
emptyDir: {}
- name: zowe-config
configMap:
name: zowe-config
- name: zowe-keystore
projected:
sources:
- configMap:
name: zowe-certificates-cm
- secret:
name: zowe-certificates-secret
- name: zowe-workspace
persistentVolumeClaim:
claimName: zowe-workspace-pvc
containers:
- name: sample-node-api
image: zowe-docker-snapshot.jfrog.io/ompzowe/sample-node-api:1.0.0-ubuntu-amd64.containerization-6
imagePullPolicy: Always
resources:
requests:
memory: "64Mi"
cpu: "10m"
limits:
memory: "128Mi"
cpu: "100m"
ports:
- name: sna-port
containerPort: 18000
protocol: TCP
readinessProbe:
tcpSocket:
port: 18000
initialDelaySeconds: 30
# this should give 18 * periodSeconds(default to 10) seconds about 3 minutes to confirm it's ready
failureThreshold: 18
command: ["/bin/bash", "-c"]
args:
- "/home/zowe/runtime/bin/internal/run-zowe.sh -c /home/zowe/instance"
env:
- name: ZWE_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
lifecycle:
preStop:
exec:
command: ["/bin/sh", "-c", "/home/zowe/runtime/bin/internal/container-prestop.sh"]
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- name: zowe-runtime
mountPath: "/home/zowe/runtime"
- name: zowe-instance
mountPath: "/home/zowe/instance"
- name: zowe-config
mountPath: "/home/zowe/instance/instance.env"
subPath: instance.env
readOnly: true
- name: zowe-keystore
mountPath: "/home/zowe/keystore/"
readOnly: true
- name: zowe-workspace
mountPath: "/home/zowe/instance/workspace"
initContainers:
- name: init-zowe
image: zowe-docker-release.jfrog.io/ompzowe/zowe-launch-scripts:latest-ubuntu
imagePullPolicy: Always
resources:
requests:
memory: "64Mi"
cpu: "10m"
limits:
memory: "128Mi"
cpu: "100m"
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- name: zowe-runtime
mountPath: "/home/zowe/runtime"
- name: zowe-instance
mountPath: "/home/zowe/instance"
---
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: sample-node-api-pdb
namespace: zowe
labels:
app.kubernetes.io/name: zowe
app.kubernetes.io/instance: zowe
# app.kubernetes.io/version:
app.kubernetes.io/component: pdb
app.kubernetes.io/managed-by: manual
spec:
minAvailable: 1
selector:
matchLabels:
app.kubernetes.io/name: zowe
app.kubernetes.io/instance: zowe
app.kubernetes.io/component: sample-node-api