Zum Hauptinhalt springen

Container

Einstellungen eines Containers. Gehören in einen Container- oder Init-Container-Klammerblock.

BlockArtPlatz
Image …Stapelin einen "Container"-Block
Port … Name … …Stapelin einen "Container"-Block
Variable … = …Stapelin einen "Container"-Block
Variable … aus … … Schlüssel …Stapelin einen "Container"-Block
alle Variablen aus … …Stapelin einen "Container"-Block
… CPU … RAM …Stapelin einen "Container"-Block
Volume … einhängen in … nur lesen …Stapelin einen "Container"-Block
Command …Stapelin einen "Container"-Block
Argumente …Stapelin einen "Container"-Block
Image laden …Stapelin einen "Container"-Block
Arbeitsordner …Stapelin einen "Container"-Block
… prüfen per … Pfad … Port … nach … s alle … sStapelin einen "Container"-Block
sicher: keine Rechte-Ausweitung … Root-FS nur lesen … alle Capabilities weg …Stapelin einen "Container"-Block

Image …​

Image [1]

Stapelblock · Typ-ID c_image · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1IMAGETextimage-registry.openshift-image-registry.svc:5000/demo-project/demo-app:latest
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: image-registry.openshift-image-registry.svc:5000/demo-project/demo-app:latest

Port … Name … …​

Port [1] Name [2] [3]

Stapelblock · Typ-ID c_port · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1PORTZahl8080
2NAMEText(leer)
3PROTOAuswahlTCPTCP, UDP, SCTP
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
ports:
- containerPort: 8080

Variable … = …​

Variable [1] = [2]

Stapelblock · Typ-ID c_env · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1KTextLOG_LEVEL
2VTextinfo
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
env:
- name: LOG_LEVEL
value: info

Variable … aus … … Schlüssel …​

Variable [1] aus [2] [3] Schlüssel [4]

Stapelblock · Typ-ID c_env_ref · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1KTextDB_PASSWORD
2SRCAuswahlSecretSecret → secretKeyRef, ConfigMap → configMapKeyRef
3NAMETextdemo-app-secret
4KEYTextDB_PASSWORD
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: demo-app-secret
key: DB_PASSWORD

alle Variablen aus … …​

alle Variablen aus [1] [2]

Stapelblock · Typ-ID c_env_from · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1SRCAuswahlConfigMapConfigMap → configMapRef, Secret → secretRef
2NAMETextdemo-app-config
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
envFrom:
- configMapRef:
name: demo-app-config

… CPU … RAM …​

[1] CPU [2] RAM [3]

Stapelblock · Typ-ID c_resources · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1KINDAuswahlmindestens (requests)mindestens (requests) → requests, höchstens (limits) → limits
2CPUText100m
3MEMText128Mi
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
resources:
requests:
cpu: 100m
memory: 128Mi

Volume … einhängen in … nur lesen …​

Volume [1] einhängen in [2] nur lesen [3]

Stapelblock · Typ-ID c_mount · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1NAMETextdata
2PATHText/data
3ROHäkchenaus
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
volumeMounts:
- name: data
mountPath: /data

Command …​

Command [1]

Stapelblock · Typ-ID c_command · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1CMDText/bin/sh -c "echo hallo"
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
command:
- /bin/sh
- -c
- echo hallo

Argumente …​

Argumente [1]

Stapelblock · Typ-ID c_args · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1ARGSText--port 8080
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
args:
- --port
- "8080"

Image laden …​

Image laden [1]

Stapelblock · Typ-ID c_pull · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1PAuswahlIfNotPresentIfNotPresent, Always, Never
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
imagePullPolicy: IfNotPresent

Arbeitsordner …​

Arbeitsordner [1]

Stapelblock · Typ-ID c_workdir · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1DIRText/app
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
workingDir: /app

… prüfen per … Pfad … Port … nach … s alle … s​

[1] prüfen per [2] Pfad [3] Port [4] nach [5] s alle [6] s

Stapelblock · Typ-ID c_probe · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1KINDAuswahlLebt? (liveness)Lebt? (liveness) → livenessProbe, Bereit? (readiness) → readinessProbe, Gestartet? (startup) → startupProbe
2HOWAuswahlHTTP GETHTTP GET → http, TCP → tcp
3PATHText/healthz
4PORTText8080
5DELAYZahl5
6PERIODZahl10
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 5
periodSeconds: 10

sicher: keine Rechte-Ausweitung … Root-FS nur lesen … alle Capabilities weg …​

sicher: keine Rechte-Ausweitung [1] Root-FS nur lesen [2] alle Capabilities weg [3]

Stapelblock · Typ-ID c_security · gehört in einen "Container"-Block

#FeldArtStandardAuswahl
1NOESCHäkchenan
2ROFSHäkchenaus
3DROPHäkchenan
Erzeugtes YAML mit Standardwerten
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 1
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: app
image: nginx:latest
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL