#1> preStop
[19:22:26 root@master1 pod]#kubectl describe pod prestop-pod
Name: prestop-pod
Namespace: default
Priority: 0
Node: node1.noisedu.cn/10.0.0.53
Start Time: Sun, 05 Dec 2021 19:22:17 +0800
Labels: <none>
Annotations: <none>
Status: Running
IP: 10.244.3.7
IPs:
IP: 10.244.3.7
Containers:
prestop-pod:
Container ID: docker://2c137a437fd6aefacc65a676eb4f28905fcb092d717e68310011d1c130962d50
Image: 10.0.0.55:80/mykubernetes/nginx:1.21.3
Image ID: docker-pullable://10.0.0.55:80/mykubernetes/nginx@sha256:4424e31f2c366108433ecca7890ad527b243361577180dfd9a5bb36e828abf47
Port: <none>
Host Port: <none>
State: Running
Started: Sun, 05 Dec 2021 19:22:23 +0800
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/prestop/ from message (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-5bv86 (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
message:
Type: HostPath (bare host directory volume)
Path: /tmp
HostPathType:
kube-api-access-5bv86:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 21s default-scheduler Successfully assigned default/prestop-pod to node1.noisedu.cn
Normal Pulling 20s kubelet Pulling image "10.0.0.55:80/mykubernetes/nginx:1.21.3"
Normal Pulled 15s kubelet Successfully pulled image "10.0.0.55:80/mykubernetes/nginx:1.21.3" in 5.110831753s
Normal Created 14s kubelet Created container prestop-pod
Normal Started 14s kubelet Started container prestop-pod
[19:26:14 root@node1 ~]#cat /tmp/prestop
prestop Handler
########### static pod
[19:28:24 root@master1 pod]#scp 07-pod-static.yaml 10.0.0.53:/etc/kubernetes/manifests/
07-pod-static.yaml 100% 142 6.9KB/s 00:00
[19:30:12 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
static-pod-node1.noisedu.cn 1/1 Running 0 4s 10.244.3.10 node1.noisedu.cn <none> <none>
[19:30:13 root@master1 pod]#curl 10.244.3.10
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[19:30:03 root@node1 manifests]#rm -f 07-pod-static.yaml
[20:06:15 root@master1 pod]#kubectl get pod
No resources found in default namespace.
########### liveness probe 1 - exec
[20:11:11 root@master1 pod]#cat 11-pod-health-cmd.yaml
apiVersion: v1
kind: Pod
metadata:
name: liveness-exec-pod
namespace: default
spec:
containers:
- name: liveness-exec-container
image: 10.0.0.19:80/mykubernetes/busybox:v0.1
imagePullPolicy: IfNotPresent
command: ["/bin/sh","-c","touch /tmp/healthy; sleep 3; rm -rf /tmp/healthy;sleep 3600"]
livenessProbe:
exec:
command: ["test", "-e","/tmp/healthy"]
initialDelaySeconds: 1
periodSeconds: 3
[20:12:19 root@master1 pod]#kubectl apply -f 11-pod-health-cmd.yaml
pod/liveness-exec-pod created
[20:12:26 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
liveness-exec-pod 1/1 Running 0 10s 10.244.3.11 node1.noisedu.cn <none> <none>
[20:13:06 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
liveness-exec-pod 1/1 Running 0 41s 10.244.3.11 node1.noisedu.cn <none> <none>
[20:13:07 root@master1 pod]#kubectl describe pod liveness-exec-pod
Name: liveness-exec-pod
Namespace: default
Priority: 0
Node: node1.noisedu.cn/10.0.0.53
Start Time: Sun, 05 Dec 2021 20:12:26 +0800
Labels: <none>
Annotations: <none>
Status: Running
IP: 10.244.3.11
IPs:
IP: 10.244.3.11
Containers:
liveness-exec-container:
Container ID: docker://1a45ef84b0b9293e7f03d50c2b6bc1ce7f6b73e2e024b0a444d43e5126e86154
Image: 10.0.0.55:80/mykubernetes/busybox:v0.1
Image ID: docker-pullable://10.0.0.55:80/mykubernetes/busybox@sha256:d5c6e74e3115b55dce759c1b3a52b1d2db60dc6929681de2f76cdc5d6f4d7412
Port: <none>
Host Port: <none>
Command:
/bin/sh
-c
touch /tmp/healthy; sleep 3; rm -rf /tmp/healthy;sleep 3600
State: Running
Started: Sun, 05 Dec 2021 20:13:09 +0800
Last State: Terminated
Reason: Error
Exit Code: 137
Started: Sun, 05 Dec 2021 20:12:27 +0800
Finished: Sun, 05 Dec 2021 20:13:08 +0800
Ready: True
Restart Count: 1
Liveness: exec [test -e /tmp/healthy] delay=1s timeout=1s period=3s #success=1 #failure=3
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-58d9b (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
kube-api-access-58d9b:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 44s default-scheduler Successfully assigned default/liveness-exec-pod to node1.noisedu.cn
Warning Unhealthy 32s (x3 over 38s) kubelet Liveness probe failed:
Normal Killing 32s kubelet Container liveness-exec-container failed liveness probe, will be restarted
Normal Pulled 2s (x2 over 43s) kubelet Container image "10.0.0.55:80/mykubernetes/busybox:v0.1" already present on machine
Normal Created 2s (x2 over 43s) kubelet Created container liveness-exec-container
Normal Started 1s (x2 over 43s) kubelet Started container liveness-exec-container
[20:13:10 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
liveness-exec-pod 1/1 Running 1 (13s ago) 55s 10.244.3.11 node1.noisedu.cn <none> <none>
########### liveness probe 2 - exec
[21:51:05 root@master1 pod]#kubectl apply -f 12-pod-liveness-exec.yaml
pod/liveness-exec-demo created
[21:51:14 root@master1 pod]#kubectl get pod
NAME READY STATUS RESTARTS AGE
liveness-exec-demo 1/1 Running 0 5s
[21:51:19 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
liveness-exec-demo 1/1 Running 0 15s 10.244.4.52 node2.noisedu.cn <none> <none>
[21:51:29 root@master1 pod]#curl 10.244.4.52
kubernetes pod-test v0.1!! ClientIP: 10.0.0.50, ServerName: liveness-exec-demo, ServerIP: 10.244.4.52!
[21:51:35 root@master1 pod]#cat 12-pod-liveness-exec.yaml
apiVersion: v1
kind: Pod
metadata:
name: liveness-exec-demo
namespace: default
spec:
containers:
- name: demo
image: 10.0.0.55:80/mykubernetes/pod_test:v0.1
imagePullPolicy: IfNotPresent
livenessProbe:
exec:
command: ['/bin/sh', '-c', '[ "$(curl -s 127.0.0.1/livez)" == "OK" ]']
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 5
[21:51:44 root@master1 pod]#curl 10.244.4.52/livez
OK[21:51:53 root@master1 pod]#curl -XPOST -d'livez=123' 10.244.4.52/livez
[21:52:46 root@master1 pod]#curl 10.244.4.52/livez
123[21:52:58 root@master1 pokubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
liveness-exec-demo 1/1 Running 0 117s 10.244.4.52 node2.noisedu.cn <none> <none>
[21:53:11 root@master1 pod]#kubectl describe pod liveness-exec-demo
Name: liveness-exec-demo
Namespace: default
Priority: 0
Node: node2.noisedu.cn/10.0.0.54
Start Time: Sun, 05 Dec 2021 21:51:14 +0800
Labels: <none>
Annotations: <none>
Status: Running
IP: 10.244.4.52
IPs:
IP: 10.244.4.52
Containers:
demo:
Container ID: docker://c345f318e4c85a13d18a73bd7b01bc8ca5b65c7c8f5ee5046bba753903539710
Image: 10.0.0.55:80/mykubernetes/pod_test:v0.1
Image ID: docker-pullable://10.0.0.55:80/mykubernetes/pod_test@sha256:54402cda2ef15f45e4aafe98a5e56d4de076e3d4100c2a1bf1b780c787372fed
Port: <none>
Host Port: <none>
State: Running
Started: Sun, 05 Dec 2021 21:51:15 +0800
Ready: True
Restart Count: 0
Liveness: exec [/bin/sh -c [ "$(curl -s 127.0.0.1/livez)" == "OK" ]] delay=5s timeout=1s period=5s #success=1 #failure=3
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-tq9tz (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
kube-api-access-tq9tz:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 2m3s default-scheduler Successfully assigned default/liveness-exec-demo to node2.noisedu.cn
Normal Pulled 2m2s kubelet Container image "10.0.0.55:80/mykubernetes/pod_test:v0.1" already present on machine
Normal Created 2m2s kubelet Created container demo
Normal Started 2m2s kubelet Started container demo
Warning Unhealthy 18s (x4 over 112s) kubelet Liveness probe failed:
Normal Killing 18s kubelet Container demo failed liveness probe, will be restarted
[21:53:17 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
liveness-exec-demo 1/1 Running 1 (69s ago) 3m24s 10.244.4.52 node2.noisedu.cn <none> <none>
[21:54:38 root@master1 pod]#curl 10.244.4.52/livez
OK[21:54:44 root@master1 pod]#
########### liveness probe 3 - httpGet
[22:11:47 root@master1 pod]#kubectl apply -f 13-pod-liveness-httpget.yaml
pod/liveness-httpget-pod created
[22:11:53 root@master1 pod]#kubectl describe pod liveness-httpget-pod
Name: liveness-httpget-pod
Namespace: default
Priority: 0
Node: node1.noisedu.cn/10.0.0.53
Start Time: Sun, 05 Dec 2021 22:11:53 +0800
Labels: <none>
Annotations: <none>
Status: Running
IP: 10.244.3.14
IPs:
IP: 10.244.3.14
Containers:
liveness-httpget-container:
Container ID: docker://5ac2d44091963997d5b1ae4c3cbb04896d1b230c9c88ac18754da5feb3440c05
Image: 10.0.0.55:80/mykubernetes/pod_test:v0.1
Image ID: docker-pullable://10.0.0.55:80/mykubernetes/pod_test@sha256:54402cda2ef15f45e4aafe98a5e56d4de076e3d4100c2a1bf1b780c787372fed
Port: 80/TCP
Host Port: 0/TCP
State: Running
Started: Sun, 05 Dec 2021 22:11:55 +0800
Ready: True
Restart Count: 0
Liveness: http-get http://:http/index.html delay=1s timeout=1s period=3s #success=1 #failure=3
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-nwlgp (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
kube-api-access-nwlgp:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 9s default-scheduler Successfully assigned default/liveness-httpget-pod to node1.noisedu.cn
Normal Pulled 7s kubelet Container image "10.0.0.55:80/mykubernetes/pod_test:v0.1" already present on machine
Normal Created 7s kubelet Created container liveness-httpget-container
Normal Started 7s kubelet Started container liveness-httpget-container
Warning Unhealthy 3s (x2 over 6s) kubelet Liveness probe failed: HTTP probe failed with statuscode: 404
[22:12:02 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
liveness-httpget-pod 1/1 Running 1 (11s ago) 50s 10.244.3.14 node1.noisedu.cn <none> <none>
########### readness probe 1 - httpGet
[22:27:28 root@master1 pod]#kubectl get pod
NAME READY STATUS RESTARTS AGE
readiness-httpget-pod 0/1 CrashLoopBackOff 8 (4m32s ago) 20m
[22:47:54 root@master1 pod]#cat 15-pod-readness-httpget.yaml
apiVersion: v1
kind: Pod
metadata:
name: readiness-httpget-pod
spec:
containers:
- name: readiness-httpget-container
image: 10.0.0.55:80/mykubernetes/busybox:v0.1
ports:
- name: http
containerPort: 80
readinessProbe:
httpGet:
port: http
path: /index.html
initialDelaySeconds: 1
periodSeconds: 3
########### readness probe 2 - httpGet
[22:48:49 root@master1 pod]#cat 16-pod-readness-httpget.yaml
apiVersion: v1
kind: Pod
metadata:
name: readiness-httpget-demo
namespace: default
spec:
containers:
- name: demo
image: 10.0.0.19:80/mykubernetes/pod_test:v0.1
imagePullPolicy: IfNotPresent
readinessProbe:
httpGet:
path: '/readyz'
port: 80
scheme: HTTP
initialDelaySeconds: 15
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 3
restartPolicy: Always
[22:48:50 root@master1 pod]#vim 16-pod-readness-httpget.yaml
[22:49:02 root@master1 pod]#vim 16-pod-readness-httpget.yaml
[22:49:13 root@master1 pod]#kubectl apply -f 16-pod-readness-httpget.yaml
pod/readiness-httpget-demo created
[22:49:27 root@master1 pod]#kubectl get pod
NAME READY STATUS RESTARTS AGE
readiness-httpget-demo 0/1 Running 0 5s
[22:49:32 root@master1 pod]#kubectl get pod
NAME READY STATUS RESTARTS AGE
readiness-httpget-demo 0/1 Running 0 6s
[22:49:33 root@master1 pod]#kubectl get pod
NAME READY STATUS RESTARTS AGE
readiness-httpget-demo 0/1 Running 0 7s
[22:49:34 root@master1 pod]#kubectl describe pod readiness-httpget-demo
Name: readiness-httpget-demo
Namespace: default
Priority: 0
Node: node2.noisedu.cn/10.0.0.54
Start Time: Sun, 05 Dec 2021 22:49:27 +0800
Labels: <none>
Annotations: <none>
Status: Running
IP: 10.244.4.54
IPs:
IP: 10.244.4.54
Containers:
demo:
Container ID: docker://c01d87e0cbee86ec3d5be30d61738226011389d64b6a1d8bcd04e9e411a9f899
Image: 10.0.0.55:80/mykubernetes/pod_test:v0.1
Image ID: docker-pullable://10.0.0.55:80/mykubernetes/pod_test@sha256:54402cda2ef15f45e4aafe98a5e56d4de076e3d4100c2a1bf1b780c787372fed
Port: <none>
Host Port: <none>
State: Running
Started: Sun, 05 Dec 2021 22:49:28 +0800
Ready: False
Restart Count: 0
Readiness: http-get http://:80/readyz delay=15s timeout=2s period=5s #success=1 #failure=3
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-hbnc7 (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
kube-api-access-hbnc7:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 20s default-scheduler Successfully assigned default/readiness-httpget-demo to node2.noisedu.cn
Normal Pulled 19s kubelet Container image "10.0.0.55:80/mykubernetes/pod_test:v0.1" already present on machine
Normal Created 19s kubelet Created container demo
Normal Started 19s kubelet Started container demo
[22:49:47 root@master1 pod]#kubectl get pod
NAME READY STATUS RESTARTS AGE
readiness-httpget-demo 0/1 Running 0 31s
########### liveness & readness probe 1 - tcpsocket
[22:55:44 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
readiness-tcpsocket-pod 1/1 Running 0 21s 10.244.3.15 node1.noisedu.cn <none> <none>
[22:55:47 root@master1 pod]#curl 10.244.3.15
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[22:55:53 root@master1 pod]#cat 17-pod-readness-tcpsocket.yaml
apiVersion: v1
kind: Pod
metadata:
name: readiness-tcpsocket-pod
spec:
containers:
- name: readiness-tcpsocket-pod
image: 10.0.0.55:80/mykubernetes/nginx:1.21.3
readinessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 15
periodSeconds: 20
########### liveness & readness probe 2 - tcpsocket
[22:57:37 root@master1 pod]#cat 18-pod-liveness-tcpsocket.yaml
apiVersion: v1
kind: Pod
metadata:
name: liveness-tcpsocket-demo
namespace: default
spec:
containers:
- name: demo
image: 10.0.0.55:80/mykubernetes/pod_test:v0.1
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
securityContext:
capabilities:
add:
- NET_ADMIN
livenessProbe:
tcpSocket:
port: http
periodSeconds: 5
initialDelaySeconds: 5
[22:57:43 root@master1 pod]#kubectl apply -f 18-pod-liveness-tcpsocket.yaml
pod/liveness-tcpsocket-demo created
[22:57:50 root@master1 pod]#kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
liveness-tcpsocket-demo 1/1 Running 0 8s 10.244.3.16 node1.noisedu.cn <none> <none>
[22:57:58 root@master1 pod]#kubectl describe pod liveness-tcpsocket-demo
Name: liveness-tcpsocket-demo
Namespace: default
Priority: 0
Node: node1.noisedu.cn/10.0.0.53
Start Time: Sun, 05 Dec 2021 22:57:50 +0800
Labels: <none>
Annotations: <none>
Status: Running
IP: 10.244.3.16
IPs:
IP: 10.244.3.16
Containers:
demo:
Container ID: docker://0b150f9af9d752acc6a181ea17f40a098a9e5584f0ea91a1ef369b3b6ea8dc6b
Image: 10.0.0.55:80/mykubernetes/pod_test:v0.1
Image ID: docker-pullable://10.0.0.55:80/mykubernetes/pod_test@sha256:54402cda2ef15f45e4aafe98a5e56d4de076e3d4100c2a1bf1b780c787372fed
Port: 80/TCP
Host Port: 0/TCP
State: Running
Started: Sun, 05 Dec 2021 22:57:51 +0800
Ready: True
Restart Count: 0
Liveness: tcp-socket :http delay=5s timeout=1s period=5s #success=1 #failure=3
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-tv7d2 (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
kube-api-access-tv7d2:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 20s default-scheduler Successfully assigned default/liveness-tcpsocket-demo to node1.noisedu.cn
Normal Pulled 20s kubelet Container image "10.0.0.55:80/mykubernetes/pod_test:v0.1" already present on machine
Normal Created 19s kubelet Created container demo
Normal Started 19s kubelet Started container demo
########### resource limit - cpu,memory
[23:01:36 root@master1 pod]#cat 19-pod-limit-request.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-test
spec:
containers:
- name: nginx
image: 10.0.0.55:80/mykubernetes/nginx:1.21.3
imagePullPolicy: IfNotPresent
resources:
requests:
memory: "1900Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
[23:01:38 root@master1 pod]#cat 20-pod-limitrange.yaml --> 全局资源控制文件
apiVersion: v1
kind: LimitRange
metadata:
name: limit-mem-cpu-per-container
spec:
limits:
- max:
cpu: "800m"
memory: "1Gi"
min:
cpu: "100m"
memory: "99Mi"
default:
cpu: "700m"
memory: "900Mi"
defaultRequest:
cpu: "110m"
memory: "111Mi"
type: Container
[23:01:41 root@master1 pod]#cat 21-pod-qos-guaranteed.yaml
apiVersion: v1
kind: Pod
metadata:
name: qos-demo
namespace: qos-example
spec:
containers:
- name: qos-demo-ctr
image: 10.0.0.55:80/mykubernetes/nginx:1.21.3
resources:
limits:
memory: "200Mi"
cpu: "700m"
requests:
memory: "200Mi"
cpu: "700m"