K3sk8s基础
跳转到导航
跳转到搜索
2026
#restart dp
kubectl rollout restart -n default deployment nginx-demo
kubectl create deployment nginx-2 --image=nginx:1.23 --replicas=2
deployment.apps/nginx-2 created
➜ eg kubectl create service nodeport nginx-2 --tcp=80:80
➜ eg kubectl get service
kubectl scale -n default deployment nginx-1 --replicas=1
kubectl delete -n default deployment nginx-1
#yml file
cat deployment-nginx-3.yaml
apiVersion: apps/v1 # API版本
kind: Deployment # 资源类型
metadata: # 资源元数据
name: nginx-3 # 资源名称
spec: # 资源规格
replicas: 3 # 创建Pod的副本数量
selector: # 标签选择器,用于选择Pod
matchLabels: # 选择标签,选择标签为“app=web3”的Pod
app: nginx-3
template: # 定义Pod模板
metadata: # Pod元数据
labels: # Pod标签,与上面选择标签定义的要保持一致
app: nginx-3
spec: # Pod规格
containers: # Pod容器配置
- image: nginx # 容器镜像地址
name: web # 容器名称
kubectl create -f deployment-nginx-3.yaml
kubectl get deployment,pods | grep nginx-3
deployment.apps/nginx-3 3/3 3 3 38s
pod/nginx-3-5975c6bb4b-jrgch 1/1 Running 0 38s
pod/nginx-3-5975c6bb4b-tnnq8 1/1 Running 0 38s
pod/nginx-3-5975c6bb4b-tvrwl 1/1 Running 0 38s
c2 cat service-nginx-3.yaml
apiVersion: v1 # API版本
kind: Service # 资源类型
metadata: # 资源元数据
name: nginx-3 # 资源名称
spec: # 资源规格
ports: # 公开的端口列表
- name: http # 端口名称,可任意字符串
port: 80 # 公开的端口
protocol: TCP # 端口协议,支持TCP、UDP和SCTP,默认TCP
targetPort: 80 # 容器中服务运行端口
selector: # 标签选择器,用于匹配Pod标签,与上面Pod标签保持一致
app: nginx-3
type: NodePort # Service类型,表示如何公开,默认是ClusterIP
c2 kubectl create -f service-nginx-3.yaml
service/nginx-3 created
kubectl get service | grep nginx-3
nginx-3 NodePort 10.43.171.2 <none> 80:31393/TCP 54s
#help
kubectl explain deployment
10348 kubectl explain deployment.spec
10349 kubectl explain deployment.spec.template.spec
10350 kubectl explain deployment.spec.template.spec.containers
nana video
10.5 Main kubectl commands 18 Sep 2026 done ➜ ~ kubectl get pod NAME READY STATUS RESTARTS AGE nginx-deployment-696cc84dd4-2l2dv 1/1 Running 0 11h ➜ ~ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-web-svc ClusterIP 10.43.179.173 <none> 80/TCP 42d kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 78d ngint-1 LoadBalancer 10.43.62.220 <pending> 80:30771/TCP 4d22h nginx ClusterIP 10.43.57.74 <none> 80/TCP 3d15h nginx-2 NodePort 10.43.6.192 <none> 80:30388/TCP 4d21h ➜ ~ kubectl create deployment nginx-depl --image=nginx deployment.apps/nginx-depl created ➜ ~ kubectl get deployment | grep depl nginx-depl 1/1 1 1 44s ➜ ~ kubectl get replicaset NAME DESIRED CURRENT READY AGE hello-web-784668b86c 0 0 0 42d nginx-alb-style-bcd574549 0 0 0 41d nginx-demo-5898976fcc 0 0 0 4d22h nginx-depl-b5bb8c976 1 1 1 6m42s
10.6 YAML Configuration File
nanak8s cat ng-dp.ymal
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment1
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
➜ nanak8s cat nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 8080%
nanak8s kubectl apply -f ng-dp.ymal
deployment.apps/nginx-deployment1 configured
➜ nanak8s kubectl get service | grep nginx-service
nginx-service ClusterIP 10.43.81.221 <none> 80/TCP 5m28s
➜ nanak8s kubectl describe service nginx-service #10.42.2.2:8080 这个刚好有一个同名的
Name: nginx-service
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=nginx
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.43.81.221
IPs: 10.43.81.221
Port: <unset> 80/TCP
TargetPort: 8080/TCP
Endpoints: 10.42.2.2:8080,10.42.2.5:8080,10.42.2.254:8080 + 1 more...
Session Affinity: None
Internal Traffic Policy: Cluster
Events: <none>
➜ nanak8s kubectl get pod -o wide | grep nginx-deployment1
nginx-deployment1-85dbbcff49-xj4wh 1/1 Running 0 67m 10.42.2.5 k3s-agent-01 <none> <none>
nginx-deployment1-85dbbcff49-zhfk2 1/1 Running 0 67m 10.42.2.254 k3s-agent-01 <none> <none>
before
apps bash 03-test-deploy.sh
>>> 1. 部署测试应用 (2个副本的 nginx demo + Service + Ingress)
deployment.apps/hello-web unchanged
service/hello-web-svc unchanged
ingress.networking.k8s.io/hello-web-ingress unchanged
>>> 2. 等待 Pod 就绪...
pod/hello-web-784668b86c-5gzqh condition met
pod/hello-web-784668b86c-c7zmw condition met
>>> 3. 查看资源状态
--- Pods ---
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
hello-web-784668b86c-5gzqh 1/1 Running 0 9m37s 10.42.2.118 k3s-agent-01 <none> <none>
hello-web-784668b86c-c7zmw 1/1 Running 0 9m37s 10.42.4.43 k3s-agent-02 <none> <none>
--- Service ---
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-web-svc ClusterIP 10.43.179.173 <none> 80/TCP 12m
--- Ingress ---
NAME CLASS HOSTS ADDRESS PORTS AGE
hello-web-ingress <none> hello.local.test 192.168.10.190,192.168.10.201,192.168.10.202 80 12m
==========================================
✅ 部署完成,验证请求链路:
==========================================
方式一 (推荐,直接用 curl 带 Host 头,不用改 /etc/hosts):
curl -H 'Host: hello.local.test' http://192.168.10.105
方式二 (改 /etc/hosts 后浏览器访问):
echo '192.168.10.105 hello.local.test' | sudo tee -a /etc/hosts
然后浏览器打开 http://hello.local.test
多请求几次,观察返回的 hostname 是否在两个 Pod 之间切换 (验证负载均衡):
for i in {1..5}; do curl -s -H 'Host: hello.local.test' http://192.168.10.105 | grep -i 'Server name'; done
清理测试应用: kubectl delete -f test-app.yaml
book 云原生k8s 架构师
chpater 4基础概念
c3 kubectl get pod -n kube-system -l k8s-app=metrics-server NAME READY STATUS RESTARTS AGE metrics-server-7c86f97b8d-w4gj5 1/1 Running 0 22h kubectl get pod -n kube-system metrics-server-7c86f97b8d-w4gj5 -oyaml | grep phase phase: Running debug ran into err issue kubectl -n blog get pod django-blog-6d4ddf745d-nhbpr -o yaml kubectl get pod hello-web-784668b86c-4xl7j -o yaml
chapter 5
kubectl set image deployment nginx-deployment nginx=nginx:1.31 --record
Flag --record has been deprecated, --record will be removed in the future
deployment.apps/nginx-deployment image updated
➜ chap05 kubectl rollout status deployment.v1.apps/nginx-deployment
Waiting for deployment "nginx-deployment" rollout to finish: 6 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 6 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 6 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 7 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 7 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 7 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 8 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 8 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 8 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 8 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 9 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 9 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 9 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 9 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 10 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 10 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 10 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 10 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 10 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 10 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 11 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 11 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 11 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 11 out of 12 new replicas have been updated...
Waiting for deployment "nginx-deployment" rollout to finish: 3 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 3 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 3 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 3 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 2 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 2 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 2 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 2 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 1 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 1 old replicas are pending termination...
Waiting for deployment "nginx-deployment" rollout to finish: 10 of 12 updated replicas are available...
Waiting for deployment "nginx-deployment" rollout to finish: 11 of 12 updated replicas are available...
deployment "nginx-deployment" successfully rolled out
chap05 kubectl describe deployment nginx-deployment
Name: nginx-deployment
Namespace: default
CreationTimestamp: Fri, 18 Sep 2026 00:36:40 +0800
Labels: app=nginx
Annotations: deployment.kubernetes.io/revision: 3
kubernetes.io/change-cause: kubectl set image deployment nginx-deployment nginx=nginx:1.31 --record=true
Selector: app=nginx
Replicas: 12 desired | 12 updated | 12 total | 12 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=nginx
Containers:
nginx:
Image: nginx:1.31
Port: 80/TCP
Host Port: 0/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Node-Selectors: <none>
Tolerations: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: nginx-deployment-5cfc767d44 (0/0 replicas created), nginx-deployment-5f768548b7 (0/0 replicas created)
NewReplicaSet: nginx-deployment-557c7d4f9d (12/12 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 17m deployment-controller Scaled up replica set nginx-deployment-5cfc767d44 from 0 to 3
Normal ScalingReplicaSet 5m46s deployment-controller Scaled up replica set nginx-deployment-5f768548b7 from 0 to 1
Normal ScalingReplicaSet 5m22s deployment-controller Scaled down replica set nginx-deployment-5cfc767d44 from 3 to 2
Normal ScalingReplicaSet 5m22s deployment-controller Scaled up replica set nginx-deployment-5f768548b7 from 1 to 2
Normal ScalingReplicaSet 5m2s deployment-controller Scaled down replica set nginx-deployment-5cfc767d44 from 2 to 1
Normal ScalingReplicaSet 5m2s deployment-controller Scaled up replica set nginx-deployment-5f768548b7 from 2 to 3
Normal ScalingReplicaSet 5m1s deployment-controller Scaled down replica set nginx-deployment-5cfc767d44 from 1 to 0
Normal ScalingReplicaSet 3m55s deployment-controller Scaled up replica set nginx-deployment-5f768548b7 from 3 to 12
Normal ScalingReplicaSet 3m33s deployment-controller Scaled up replica set nginx-deployment-557c7d4f9d from 0 to 3
Normal ScalingReplicaSet 3m32s deployment-controller Scaled down replica set nginx-deployment-5f768548b7 from 12 to 9
Normal ScalingReplicaSet 3m8s (x16 over 3m32s) deployment-controller (combined from similar events): Scaled down replica set nginx-deployment-5f768548b7 from 1 to 0
rollout
chap05 kubectl set image deployment nginx-deployment nginx=dotbalo/canary:v1 --record
Flag --record has been deprecated, --record will be removed in the future
deployment.apps/nginx-deployment image updated
➜ chap05 kubectl set image deployment nginx-deployment nginx=dotbalo/canary:v2 --record
Flag --record has been deprecated, --record will be removed in the future
deployment.apps/nginx-deployment image updated
➜ chap05 kubectl rollout history deployment/nginx-deployment
deployment.apps/nginx-deployment
REVISION CHANGE-CAUSE
1 <none>
2 kubectl set image deployment nginx-deployment nginx=nginx:1.30 --record=true
3 kubectl set image deployment nginx-deployment nginx=nginx:1.31 --record=true
4 kubectl set image deployment nginx-deployment nginx=dotbalo/canary:v1 --record=true
5 kubectl set image deployment nginx-deployment nginx=dotbalo/canary:v2 --record=true
➜ chap05 kubectl rollout history deployment/nginx-deployment --revision=3
deployment.apps/nginx-deployment with revision #3
Pod Template:
Labels: app=nginx
pod-template-hash=557c7d4f9d
Annotations: kubernetes.io/change-cause: kubectl set image deployment nginx-deployment nginx=nginx:1.31 --record=true
Containers:
nginx:
Image: nginx:1.31
Port: 80/TCP
Host Port: 0/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Node-Selectors: <none>
Tolerations: <none>
5.4 daemonset
chap05 kubectl get ns NAME STATUS AGE blog Active 7d default Active 80d kube-node-lease Active 80d kube-public Active 80d kube-system Active 80d kubernetes-dashboard Active 80d ➜ chap05 kubectl create namespace logging namespace/logging created ➜ chap05 kubectl apply -f 5.4.2.yaml Warning: spec.template.metadata.annotations[scheduler.alpha.kubernetes.io/critical-pod]: non-functional in v1.16+; use the "priorityClassName" field instead Warning: spec.template.metadata.annotations[seccomp.security.alpha.kubernetes.io/pod]: non-functional in v1.27+; use the "seccompProfile" field instead daemonset.apps/fluentd-es-v2.0.4 created ➜ chap05 kubectl get ns NAME STATUS AGE blog Active 7d default Active 80d kube-node-lease Active 80d kube-public Active 80d kube-system Active 80d kubernetes-dashboard Active 80d logging Active 67s
book
chapter 3 pod
cat pod-volume.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
app: pod-volume
name: pod-volume
namespace: default
spec:
containers:
# 第一个容器(应用容器)
- image: nginx:1.23
name: web
volumeMounts: # 卷挂载
- name: log # 挂载的卷名称
mountPath: /var/log/nginx # 卷挂载到容器中路径
# 第二个容器(日志采集容器)
- image: centos:7
name: collect
command: ["/bin/bash", "-c", "while true; do sleep 1; done"]
volumeMounts: # 卷挂载
- name: log # 挂载的卷名称
mountPath: /var/log/nginx # 卷挂载到容器中的路径
volumes: # 定义卷
- name: log # 卷名称
emptyDir: {} # 卷类型
➜ c3 kubectl apply -f pod-volume.yaml
pod/pod-volume created
➜ c3 kubectl get pods -l app=pod-volume
NAME READY STATUS RESTARTS AGE
pod-volume 2/2 Running 0 50s
➜ c3 kubectl exec -it pod-volume -c web -- bash
root@pod-volume:/# touch /var/log/nginx/evanfile.log
root@pod-volume:/#
exit
➜ c3 kubectl exec -it pod-volume -c collect -- bash
[root@pod-volume /]# ls /var/log/nginx/
access.log error.log evanfile.log
kubectl delete -n default pod pod-qos3 pod-qos2
pod "pod-qos3" deleted from default namespace
pod "pod-qos2" deleted from default namespace
kubectl scale -n default deployment nginx-lb --replicas=2
chpter 4
ubectl scale -n default deployment hello-web --replicas=2
troubleshooting
kubectl get nodes E0806 21:32:03.023568 157431 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com/api?timeout=32s\": dial tcp: lookup 920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com on 192.168.10.1:53: no such host" E0806 21:32:03.031828 157431 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com/api?timeout=32s\": dial tcp: lookup 920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com on 192.168.10.1:53: no such host" E0806 21:32:03.039270 157431 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com/api?timeout=32s\": dial tcp: lookup 920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com on 192.168.10.1:53: no such host" E0806 21:32:03.048542 157431 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com/api?timeout=32s\": dial tcp: lookup 920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com on 192.168.10.1:53: no such host" E0806 21:32:03.056331 157431 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com/api?timeout=32s\": dial tcp: lookup 920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com on 192.168.10.1:53: no such host" Unable to connect to the server: dial tcp: lookup 920376B3099E1023583D1077A6BC83E5.gr7.ap-east-1.eks.amazonaws.com on 192.168.10.1:53: no such host ➜ ~ kubectl config use-context default Switched to context "default". ➜ ~ kubectl get nodes NAME STATUS ROLES AGE VERSION debian-k3s-00 NotReady <none> 33d v1.36.2+k3s1 k3s-agent-01 Ready <none> 31d v1.36.2+k3s1 k3s-agent-02 Ready <none> 31d v1.36.2+k3s1 myxps Ready control-plane 35d v1.36.2+k3s1
dockerproxy.com 不能用了
2026
--previous
tmp kubectl get pods NAME READY STATUS RESTARTS AGE nginx-depl-694d9b9d5b-mgtcm 1/1 Running 0 95s nginx-deployment-696cc84dd4-58pzf 1/1 Running 0 24h nginx-deployment-696cc84dd4-pdz82 1/1 Running 0 24h nginx-deployment-696cc84dd4-vz64s 1/1 Running 0 24h payment-api-65b896bbb6-4stxc 0/1 ImagePullBackOff 0 10m payment-api-65b896bbb6-bg7nl 0/1 ImagePullBackOff 0 10m payment-api-65b896bbb6-k9jwt 0/1 ImagePullBackOff 0 10m payment-api-65b896bbb6-wwsnf 0/1 ImagePullBackOff 0 10m ➜ tmp kubectl exec -it nginx-depl-694d9b9d5b-mgtcm -- bash root@nginx-depl-694d9b9d5b-mgtcm:/# kill 1 root@nginx-depl-694d9b9d5b-mgtcm:/# command terminated with exit code 137 ➜ tmp kubectl get pods NAME READY STATUS RESTARTS AGE nginx-depl-694d9b9d5b-mgtcm 1/1 Running 1 (10s ago) 2m5s nginx-deployment-696cc84dd4-58pzf 1/1 Running 0 24h nginx-deployment-696cc84dd4-pdz82 1/1 Running 0 24h nginx-deployment-696cc84dd4-vz64s 1/1 Running 0 24h payment-api-65b896bbb6-4stxc 0/1 ImagePullBackOff 0 10m payment-api-65b896bbb6-bg7nl 0/1 ImagePullBackOff 0 10m payment-api-65b896bbb6-k9jwt 0/1 ImagePullBackOff 0 10m payment-api-65b896bbb6-wwsnf 0/1 ImagePullBackOff 0 10m ➜ tmp kubectl logs nginx-depl-694d9b9d5b-mgtcm --previous /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2026/09/21 16:35:06 [notice] 1#1: using the "epoll" event method 2026/09/21 16:35:06 [notice] 1#1: nginx/1.25.5 2026/09/21 16:35:06 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14) 2026/09/21 16:35:06 [notice] 1#1: OS: Linux 6.1.0-53-cloud-amd64 2026/09/21 16:35:06 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2026/09/21 16:35:06 [notice] 1#1: start worker processes 2026/09/21 16:35:06 [notice] 1#1: start worker process 29 2026/09/21 16:35:06 [notice] 1#1: start worker process 30 2026/09/21 16:35:06 [notice] 1#1: start worker process 31 2026/09/21 16:35:06 [notice] 1#1: start worker process 32 2026/09/21 16:36:55 [notice] 1#1: signal 15 (SIGTERM) received from 33, exiting 2026/09/21 16:36:55 [notice] 29#29: exiting 2026/09/21 16:36:55 [notice] 30#30: exiting 2026/09/21 16:36:55 [notice] 32#32: exiting 2026/09/21 16:36:55 [notice] 30#30: exit 2026/09/21 16:36:55 [notice] 29#29: exit 2026/09/21 16:36:55 [notice] 32#32: exit 2026/09/21 16:36:55 [notice] 31#31: exiting 2026/09/21 16:36:55 [notice] 31#31: exit 2026/09/21 16:36:55 [notice] 1#1: signal 17 (SIGCHLD) received from 31 2026/09/21 16:36:55 [notice] 1#1: worker process 30 exited with code 0 2026/09/21 16:36:55 [notice] 1#1: worker process 31 exited with code 0 2026/09/21 16:36:55 [notice] 1#1: signal 29 (SIGIO) received 2026/09/21 16:36:55 [notice] 1#1: signal 17 (SIGCHLD) received from 29 2026/09/21 16:36:55 [notice] 1#1: worker process 29 exited with code 0 2026/09/21 16:36:55 [notice] 1#1: worker process 32 exited with code 0 2026/09/21 16:36:55 [notice] 1#1: exit