Kubernetes theory
March 24, 2023
terminationGracePeriodSeconds
Это поле обозначает время, которое отводится контейнеру в поде для его корректного завершения.
Если контейнер не успевает корректно завершится за указанное в данном поле время, то он получает сигнал KILL (SIGKILL).
Данный параметр может передаваться в манифесте пода/деплоймента/etc.
Если данное поле не указывать в манифесте, то, по умолчанию, устанавливается значение 30. Но некоторым приложениям этого времени не хватает для завершения. Например, приложениям с Java.
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: cam-nginx99 namespace: default labels: app: nginx environment: prod annotations: author: cameda spec: containers: - name: nginx99 image: nginx:latest imagePullPolicy: IfNotPresent ports: - containerPort: 80 - containerPort: 443 resources: requests: cpu: 300m memory: 300Mi limits: memory: 400Mi restartPolicy: Always hostname: nginx99 subdomain: web terminationGracePeriodSeconds: 90 EOF
В данном примере увеличили значение terminationGracePeriodSeconds: 90