1.9 KiB
1.9 KiB
运行容器通过volumeMount方式挂载使用初始化容器中的可执行软件
kind: Deployment
apiVersion: apps/v1
metadata:
name: echo-server-1
namespace: dev
labels:
app: echo-server-1
app.kubernetes.io/instance: echo-server-dev
spec:
replicas: 1
selector:
matchLabels:
app: echo-server-1
template:
metadata:
creationTimestamp: null
labels:
app: echo-server-1
spec:
volumes:
- name: work
emptyDir: {}
initContainers:
- name: busybox
image: server:202309141053
command:
- cp
- /opt/app.jar
- /tmp
resources: {}
volumeMounts:
- name: work
mountPath: /tmp
imagePullPolicy: IfNotPresent
containers:
- name: runtime
image: openjdk:8-jdk
command:
- java
- '-jar'
- /opt/app.jar
- $ARGS
ports:
- name: http
containerPort: 48080
protocol: TCP
env:
- name: JAVA_OPTS
valueFrom:
configMapKeyRef:
name: echo-server-cm
key: JAVA_OPTS
- name: ARGS
valueFrom:
configMapKeyRef:
name: echo-server-cm
key: ARGS
resources: {}
volumeMounts:
- name: work
readOnly: true
mountPath: /opt
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
imagePullSecrets:
- name: swrregistrykey
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600