k8s--重启策略

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: k8s--重启策略

介绍


一旦容器探测出现了问题,k8s 就会对容器所在的 pod 进行重启,其实这是由 pod 的重启策略决定的,pod 的重启策略有三种,分别如下

  • Always:容器失效时,自动重启该容器,这也是默认值
  • OnFailure:容器终止运行且退出码不为 0 时重启
  • Never:不论状态为何,都不重启该容器

重启策略适应于 pod 对象中的所有容器,首次需要重启的容器,将在其需要时立即进行重启,随后需要重启的操作将由 kubelet 延迟一段时间后进行,且反复的重启操作的延迟时长依次为 10s、20s、40s、80s、160s、300s。300s 是最大延迟时长


Always


创建 pod-restartpolicy.yaml,内容如下:

apiVersion: v1
kind: Pod
metadata:
  name: pod-restartpolicy
  namespace: zouzou
spec:
  containers:
  - name: nginx
    image: nginx:1.14
    ports:
    - name: nginx-port
      containerPort: 80
    livenessProbe: # 探针,没有 /hello 的路径
      httpGet:
        scheme: HTTP
        port: 80
        path: /hello
  restartPolicy: Always # 设置重启策略,默认就为 Always

启动 pod

kubectl apply -f pod-restartpolicy.yaml

查看 pod

# 发现 pod 在重启,RESTARTS
[root@dce-10-6-215-215 tmp]# kubectl get pod pod-restartpolicy -n zouzou
NAME                READY   STATUS    RESTARTS   AGE
pod-restartpolicy   1/1     Running   2          77s


Never


上面设置了 restartPolicy: Always ,这也是默认策略,发现容器启动不了就一直在重启,我们将 restartPolicy 改为 Never,看下效果

先删除上面创建的 pod

# 删除 pod
kubectl delete pod pod-restartpolicy -n zouzou

修改 pod-restartpolicy.yaml,内容如下

apiVersion: v1
kind: Pod
metadata:
  name: pod-restartpolicy
  namespace: zouzou
spec:
  containers:
  - name: nginx
    image: nginx:1.14
    ports:
    - name: nginx-port
      containerPort: 80
    livenessProbe: # 探针,没有 /hello 的路径
      httpGet:
        scheme: HTTP
        port: 80
        path: /hello
  restartPolicy: Never # 设置重启策略,改为 Never

启动 pod

# 启动 pod
kubectl apply -f pod-restartpolicy.yaml

查看 pod 和 event

# 查看 pod,发现容器没有运行,也没有 RESTARTS
[root@dce-10-6-215-215 tmp]# kubectl get pod pod-restartpolicy -n zouzou
NAME                READY   STATUS      RESTARTS   AGE
pod-restartpolicy   0/1     Completed   0          84s
# 查看 event,发现容器存活性探测失败了,停止了容器,这是因为设置的 restartPolicy: Never
[root@dce-10-6-215-215 tmp]# kubectl describe pod pod-restartpolicy -n zouzou
Name:         pod-restartpolicy
Namespace:    zouzou
Priority:     0
Node:         dce-10-6-215-200/10.6.215.200
Start Time:   Fri, 15 Apr 2022 20:15:43 +0800
......
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  104s               default-scheduler  Successfully assigned zouzou/pod-restartpolicy to dce-10-6-215-200
  Normal   Pulled     101s               kubelet            Container image "nginx:1.14" already present on machine
  Normal   Created    101s               kubelet            Created container nginx
  Normal   Started    100s               kubelet            Started container nginx
  Warning  Unhealthy  77s (x3 over 97s)  kubelet            Liveness probe failed: HTTP probe failed with statuscode: 404
  Normal   Killing    77s                kubelet            Stopping container nginx

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
24天前
|
Kubernetes Linux 调度
k8s环境设置-pod下载及重启策略
k8s环境设置-pod下载及重启策略
32 1
|
6天前
|
Kubernetes 容器
Kubernetes(K8S) 镜像拉取策略 imagePullPolicy
Kubernetes(K8S) 镜像拉取策略 imagePullPolicy
13 0
|
1月前
|
存储 Kubernetes 监控
Kubernetes 集群的持续性能优化策略
【5月更文挑战第70天】 随着容器化技术的普及,Kubernetes 已成为管理微服务架构的首选平台。然而,在大规模部署和长期运行过程中,集群往往会遭遇性能瓶颈,影响服务的响应速度和稳定性。本文将探讨针对 Kubernetes 集群的性能优化策略,包括资源调度优化、网络延迟降低、存储效率提升及监控与日志分析等方面,旨在为运维工程师提供一套系统化的持续优化方法,确保集群性能的长期稳定。
67 10
|
2月前
|
容器 Perl Kubernetes
深入 Kubernetes 网络:实战K8s网络故障排查与诊断策略
本文介绍了Kubernetes网络的基础知识和故障排查经验,重点讨论了私有化环境中Kubernetes网络的挑战。首先,文章阐述了Kubernetes网络模型的三大核心要素:Pod网络、Service网络和CNI,并强调了其在容器通信和服务发现中的作用。接着,通过三个具体的故障案例,展示了网络冲突、主节点DNS配置更改导致的服务中断以及容器网络抖动问题的解决过程,强调了网络规划、配置管理和人员培训的重要性。最后,提到了KubeSkoop exporter工具在监控和定位网络抖动问题中的应用。通过这些案例,读者可以深入了解Kubernetes网络的复杂性,并学习到实用的故障排查方法。
146853 19
|
3月前
|
存储 Kubernetes 调度
Kubernetes 集群的持续性能优化策略
【5月更文挑战第25天】 随着容器化技术的普及,越来越多的企业采用 Kubernetes 作为其服务部署和运维的标准平台。然而,随着集群规模的增长和应用复杂性的上升,性能问题逐渐浮现,成为系统管理员关注的焦点。本文将探讨在 Kubernetes 环境中进行持续性能优化的实践方法,旨在为读者提供一系列实用的调优技巧,帮助其提升集群的稳定性与效率。通过深入分析资源分配、调度优化、网络效率以及存储管理等方面的调优手段,我们将展示如何构建一个高效、可扩展的 Kubernetes 集群。
|
3月前
|
运维 Prometheus 监控
Kubernetes 集群的监控与维护策略
【5月更文挑战第30天】 在微服务架构日益普及的背景下,容器编排工具如Kubernetes成为确保服务高效运行的关键。本文聚焦于Kubernetes集群的监控和维护,首先探讨了监控系统的重要性及其对集群健康的影响,随后详细介绍了一套综合监控策略,包括节点性能监控、应用服务质量跟踪以及日志管理等方面。此外,文章还提出了一系列实用的集群维护技巧和最佳实践,旨在帮助运维人员预防故障发生,快速定位问题,并确保集群长期稳定运行。
|
3月前
|
存储 运维 Kubernetes
Kubernetes 集群的持续性能优化策略
【5月更文挑战第30天】 在动态且日益复杂的云计算环境中,保持 Kubernetes 集群的高性能和稳定性是一个持续的挑战。本文将探讨一系列实用的性能优化策略,旨在帮助运维专家识别并解决可能影响集群性能的问题。我们将从节点资源配置、网络优化、存储管理以及集群监控等方面入手,提供一系列经过实践检验的调优技巧,并分享最佳实践案例。这些策略不仅有助于提升现有集群的性能,也为规划新的 Kubernetes 部署提供了参考依据。
|
3月前
|
机器学习/深度学习 存储 监控
Kubernetes 集群的持续监控与性能优化策略深度学习在图像识别中的应用与挑战
【5月更文挑战第29天】 在当今微服务架构和容器化部署的大背景下,Kubernetes 已成为众多企业的首选平台。然而,随着集群规模的扩大和业务复杂性的增加,如何确保系统的高可用性和性能稳定性成为一个挑战。本文将探讨针对 Kubernetes 集群实施的持续监控方案以及针对性能瓶颈的优化策略,旨在帮助运维人员有效管理和提升其服务的质量。
|
3月前
|
运维 监控 Kubernetes
构建高效稳定的云基础设施:自动化运维在企业级应用中的关键实践Kubernetes集群监控与性能优化策略
【5月更文挑战第27天】 随着云计算技术的不断成熟和企业数字化转型的深入,构建一个高效、稳定且可扩展的云基础设施已成为众多组织的核心诉求。本文将重点探讨自动化运维在实现这一目标中的重要作用,通过案例分析展示自动化工具和策略如何优化资源管理、提升服务响应速度以及降低运营成本。文章还将讨论自动化过程中面临的挑战,如安全性、复杂性管理和人员技能提升,并提供针对性的解决方案。
|
3月前
|
存储 监控 Kubernetes
Kubernetes 集群的监控与性能优化策略网络安全与信息安全:防范漏洞、加强加密、提升安全意识
【5月更文挑战第27天】 在微服务架构日益普及的背景下,容器编排工具如Kubernetes成为运维工作的核心。然而,随之而来的是监控复杂性增加和性能调优的挑战。本文将深入探讨针对Kubernetes集群的监控方案和性能优化技巧,旨在帮助读者构建一个高效、稳定的容器化环境。通过分析集群资源消耗模式,结合实时监控数据,本文提出了一系列实用的优化措施,以期提高系统响应速度,降低资源浪费,确保服务的高可用性。

推荐镜像

更多