首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

即使我删除了所有部署,pods仍在继续创建自己

即使删除了所有部署,Pods仍然会继续创建自己的原因是因为Pods是Kubernetes中最小的可调度单元,它是由一个或多个容器组成的。当一个Pod被创建时,Kubernetes会根据Pod的定义自动创建和调度对应的容器。

Pods的创建和调度是由Kubernetes的控制平面组件负责的,其中包括kube-apiserver、kube-controller-manager和kube-scheduler等。这些组件会监控集群中的资源和状态,并根据用户定义的Pod规范来创建和调度Pods。

即使删除了所有部署,Kubernetes的控制平面仍然会继续监控集群的状态,并根据之前定义的Pod规范来创建和调度Pods。这是因为Kubernetes的设计目标之一是保证应用的高可用性和弹性,即使发生故障或删除操作,Kubernetes会尽力将应用保持在用户定义的状态。

对于这种情况,可以通过以下方式解决:

  1. 删除所有部署后,可以通过删除对应的Pod规范来停止Pods的创建。可以使用kubectl delete pod命令来删除指定的Pod规范。
  2. 如果希望完全停止Pods的创建,可以停止Kubernetes的控制平面组件,例如kube-apiserver、kube-controller-manager和kube-scheduler等。这样可以暂时关闭Kubernetes的自动创建和调度功能。
  3. 如果需要重新部署应用或更改Pod规范,可以通过重新创建对应的部署来实现。可以使用kubectl create deployment命令来创建新的部署,并指定Pod规范。

总结起来,即使删除了所有部署,Pods仍然会继续创建自己是因为Kubernetes的控制平面会持续监控集群的状态,并根据之前定义的Pod规范来创建和调度Pods。为了停止Pods的创建,可以删除对应的Pod规范或停止Kubernetes的控制平面组件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

minio 高性能 Kubernetes 原生对象存储

而且Minio纠码是作用在对象级别,可以一次恢复一个对象,而RAID是作用在卷级别,数据恢复时间很长。 Minio对每个对象单独编码,存储服务一经部署,通常情况下是不需要更换硬盘或者修复。...状态,如果pods的READY状态是正常的,则安装成功,如下图图示 kubectl get pods -n velero -o wide #如果pods的READY状态一直不是状态的话...pods -n velero minio-{0,1,2,3} #默认是cluser访问,为了方便,这里是nodeport方式 ?....通过helm安装分布式之后,默认是采用nfs作为storeagesclasses,一共起了4个节点,自动创建了4个pvc,在删除1个pvc的数据之后,minio依然可以正常读写,数据依然的可以存在...minio在K8S的hostPath部署实践 环境描述: 5个节点k8s环境,使用其中4个节点作为mino,同时都使用节点主机网络 #1.给其中4个节点打标签,因为要选择标签为minio-server

6.3K21

原 荐 浅析Kubernetes State

因为部署的是有状态应用,我们需要自己创建对应的Headless Service,注意Label要和StatefulSet中Pods的Label匹配。...Kubernetes会为该Headless Service创建对应SRV Records,包含所有的后端Pods,KubeDNS会通过Round Robin算法进行选择。...Parallel,支持并行创建或者删除同一个StatefulSet下面的所有Pods,并不会逐个的、顺序的等待前一个操作确保成功后才进行下一个Pod的处理。其实用这种管理策略的场景非常少。...所有ordinal大于等于partition指定的值的Pods将会进行滚动更新。 所有ordinal小于partition指定的值得Pods将保持不变。...即使这些Pods被recreate,也会按照原来的pod template创建,并不会更新到最新的版本。

1.5K110

【云原生|K8s系列第5篇】:实战使用Service暴露应用

在前期的文章中,已经介绍了一些云原生入门的知识及简单实战,感兴趣的同学可以去的云原生专栏中学习,任意门:云原生学习专栏 前言:学习目标 本期的学习目标是: 学习 Kubernetes 中的 Service...这些副本是可替换的,前端系统不应该关心后端副本,即使 Pod 丢失或重新创建。...| Running on: kubernetes-bootcamp-fb5c67579-pgxxl | v=1 3.2 使用labels 部署自动为Pod创建了一个标签。...使用description部署命令,我们可以看到标签的名称: kubectl describe deployment 让我们使用这个标签来查询Pods列表。...这是因为部署正在管理应用程序。如果要关闭应用程序,还需要删除Deployment。

8810

深入分析Kubelet Bootstrap Checkpoint

当kubelet重启时,会检查checkpoint目录下各个Pods对应的checkpoint文件,加载所有的checkpoint文件,转换成Pod Object,然后启动这些Pods。...同样的,当Pod Spec发生变更,kubelet通过HandlePodUpdates遍历所有Pods,由PodManager调用checkpoint.WritePod接口将满足Annotation的Pods...如果checkpoint.WritePod发生Error,可以在kubelet日志中看到,但是并不会引发流程异常,也就是说,Pod还会继续创建起来,但是checkpoint失败。...注意,这里并不会去检查Pod的Annotation是否满足条件,而是对所有Pods都试图去删除对个格式的文件名。为什么不先检查Annotation呢?这样性能不是会更高么?...,最终由dispatch给Kubelet podWorkers去创建对应的Pods实例。

1.8K41

解密自愈的Kubernetes:一步一步来

中的Bruce回答说:“这是的秘密船长。总是愤怒。” 你一定理解这里的类比。让我们简化一下——当系统受到影响时,Kubernetes将会自动地自愈。...我们可以有 Pending Pods——创建但不运行 Running Pods——运行所有的容器 Succeeded Pods——成功完成容器生命周期 Failed Pods——至少一个容器失效,所有容器终止...现在部署文件。 kubectl apply nginx-deployment-sample 让我们列出pod kubectl get pods -l app=nginx 这是输出。 ?...正如你在上面看到的,我们已经创建了4个pod。 让我们删除一个pod。 kubectl delete nginx-deployment-test-83586599-r299i 现在删除了pod。...kubectl get pods -l app=nginx 我们得到以下输出。 ? 我们又有4个pod,尽管删除了一个。 Kubernetes已自愈,以创建一个新节点,并将数量维持到4。

1.5K10

5.深入k8s:StatefulSet控制器及源码分析

这一篇中重新按照源码重新撸了一遍,希望能加深对k8s的理解,源码版本是1.19,在阅读源码的时候可以参照着一起看会比较便于理解。...删除和重建的顺序也是有讲究的: 删除的时候从序号最大的开始,每删除一个会更新一个。 只有更新完的pod已经是ready状态了才往下继续更新。...序号小于 partition 值的所有 Pod 都不会更新,即使它们被删除,在重新创建时也会使用以前的版本。 如果 partition 值大于其 replicas 数,则更新不会传播到其 Pod。...在遍历replicas的时候如果发现pod处于fail状态,那么会删除之后重新创建; 如果该pod还没有创建,那么会直接创建,如果pod处于Terminating,那么需要等待直到这个pod被优雅的删除后才继续执行...,所以先return,等待下一次的syncLoop继续处理; 如果一个pod不是处于running和ready中动态,那么也不能继续,先return,等待下一次的syncLoop继续处理; 继续往下:

97510

如何建设一个不限用户数且永远免费的Serverless SQL Database

这意味着不同租户生成的键值对被隔离在它们自己的范围内。 除了安全之外,我们还关心确保跨租户的基本服务质量。当多租户同一时间访问同一个 KV 节点会发生什么?...除了创建速度快之外, Serverless SQL Pod 还有一个更大的成本优势。这些 SQL Pod 可以一起部署在一个 VM 中,通过共享一个 OS 上的 CPU 和 内存。...他们都创建了集群,也许会再运行几个查询,然后就放弃他了,可能还是永远的放弃它了。即使每个租户保持一小部分的 vCPU 为集群闲置,如果存在大量不活跃的租户,也是巨大的资源浪费。...这使得即使在极端情况下,租户的流量峰值也可以处理,延迟也很低。类似地, 当流量下降时, 租户的SQL Pods 可以回收后分配给其它租户,这样就有了最小的未使用容量。...因为 SQL pods 是无状态的,可以随意的创建和收缩, 也不会影响租户数据的一致性或持久性。

1.1K20

【重识云原生】第六章容器6.4.2.1节——pod详解

1.1 官方说明         Pod是Kubernetes应用程序的最基本执行单元—是你创建部署Kubernetes对象模型中的最小和最简单的单元。 Pod表示在集群上运行的进程。...这是因为Pods被设计成相对短暂的、一次性的实体。 当一个POD被创建(直接创建,或间接由控制器创建)时,它被安排在集群中的节点上运行。...他们几乎都是使用控制器进行创建即使对于单例的 Pod 创建也一样使用控制器,例如Deployments控制器提供集群范围的自修复以及副本数和滚动管理。...应用镜像的创建者和部署者可以各自独立工作,而没有必要联合构建–个单独的应用镜像。 它们使用 Linux Namespace,所以对应用容器具有不同的文件系统视图。...Init容器具有应用容器的所有字段。除了readinessProbe, 因为Init容器无法定义不同于完成( completion) 的就绪( readiness) 之外的其他状态。

2.1K11

Kubernetes的服务网格(第4部分):通过流量切换持续部署

该脚本确定当前部署的世界服务版本是 world-v1,因此它创建一个新的服务调用,world-v2 并将其部署到我们的Kubernetes群集。...集成测试 一旦我们的服务的新版本被部署,脚本执行一个测试请求,以确保可以达到新版本。如果测试请求成功,则暂停部署并等待我们确认新部署的版本在继续之前看起来是正确的。...pipeline-integration-testing.png 在这一点上,我们要确保新的pods正在按预期运行 - 不仅仅是自己运行,而且还要与生产环境的其他部分一起运行。...Jenkins UI提供了我们需要将请求路由到新版本服务的dtab覆盖,并使用该信息我们可以创建自己的测试请求: $ curl -H 'l5d-dtab: /host/world => /tmp/world-v2...清理 在最后一步,脚本通过使路由规则将流量路由到新版本的服务永久性来完成部署。它还会将先前版本的仍在群集中运行但尚未收到任何流量的服务截断。

1.6K70

Kubernetes的服务网格(第4部分):通过流量切换持续部署

部署是完全自动化的,除了管道中的三个地方之外,它们在进行之前暂停用于对关键指标进行人为在线验证。...该脚本确定当前部署的世界服务版本是 world-v1,因此它创建一个新的服务调用,world-v2 并将其部署到我们的Kubernetes群集。...pipeline-integration-testing.png 在这一点上,我们要确保新的pods正在按预期运行 - 不仅仅是自己运行,而且还要与生产环境的其他部分一起运行。...Jenkins UI提供了我们需要将请求路由到新版本服务的dtab覆盖,并使用该信息我们可以创建自己的测试请求: $ curl -H 'l5d-dtab: /host/world => /tmp/world-v2...清理 在最后一步,脚本通过使路由规则将流量路由到新版本的服务永久性来完成部署。它还会将先前版本的仍在群集中运行但尚未收到任何流量的服务截断。

1.9K80

CubeFS - 新一代云原生存储系统

CubeFS 是一种新一代云原生存储系统,支持 S3、HDFS 和 POSIX 等访问协议,支持多副本与纠码两种存储引擎,为用户提供多租户、 多 AZ 部署以及跨区域复制等多种特性。...DataNode:数据存储节点,需要挂载大量磁盘负责文件数据的实际存储,部署为 DaemonSet 资源。 MetaNode:元数据节点,负责存储所有的文件元信息,部署为 DaemonSet 资源。...kubectl label node node2 component.cubefs.io/objectnode=enabled CSI 组件,用于在 Kubernetes 中使用 CubeFS,需要在所有节点上部署...等待所有组件状态变为 Running 即可: $ kubectl get pods -n cubefs-system NAME READY...同样直接创建这个资源清单即可: kubectl apply -f cfs-csi-demo.yaml 创建完成后可以通过 kubectl get pods 查看 Pod 的状态: $ kubectl

31510

原生Kubernetes监控功能详解-Part2

即使进程已经启动,在探针成功通过之前,该服务也无法工作。...由于进程仍在运行,因此默认情况下,Kubernetes将继续向pod发送请求。凭借liveness探针,Kubernetes将检测到应用程序不再提供请求并将重新启动pod。...我们可以在这种情况下使用的命令是kubectl top pods,它将显示pod的CPU和内存使用情况。 首先,创建一个YAML文件,该文件将使用单个副本创建部署: ? 输入以下内容来应用部署: ?...但是,创建autoscaler的最简单方法是以现有部署为目标,如下所示: ? 这将为我们之前创建的hpa-demo部署创建一个autoscaler,而且预计CPU利用率为50%。...从Dashboard和探针收集所有数据,再通过cAdvisor公开所有容器资源,可以帮助我们了解到资源限制或容量规划。

65710

你的K8s 运行时环境安全吗? KubeXray帮你保护K8s环境及应用

一年前,npm发现并删除了39个恶意包。...捕捉当前在所有Kubernetes吊舱中运行的应用程序中最新报告的风险或漏洞 2. 对正在运行的应用程序强制执行当前策略,即使您已经更改了这些策略 3. ...KubeXray监视来自Kubernetes服务器和Xray的安全事件,并为Kubernetes运行的所有pods执行当前的安全策略。KubeXray监听这些事件流: 1. ...所需的服务状态更新为0,使其在仍然可以查询时处于非活动状态 Ø 删除漏洞容器镜像的相应Kubernetes资源 Ø 忽略它,让pod继续运行 KubeXray还了解不同Kubernetes资源(状态集和部署...虽然KubeXray主要是将Xray的深度扫描安全性扩展到运行Kubernetes pods,但它也为未被Xray扫描的pods提供了一些策略控制,例如从存储库(而不是Artifactory)部署的容器映像

1K00

应用部署与管理 —— Kubernetes 架构

根据调查显示,已有接近 20% 的应用运行在 Kubernetes 集群上,容器化进程仍在加速,Kubernetes 全民时代已到来。...Kubernetes 架构 Master API Server Kubernetes 的“心脏”,是集群控制的入口进程,也是 Kubernetes 所有资源增、、查、改等操作的唯一入口。...如果你在自己的环境中运行 Kubernetes,或者在本地计算机中运行学习环境, 所部署的环境中不需要云控制器管理器。...控制平面组件,负责监视新创建的、未指定运行节点(node)的 Pods,选择节点让 Pod 在上面运行。...Kubernetes组件间的协作 (Pod 创建) Kubernetes 特点 自动发布和回滚; 服务运行状况监控; 自动调节服务容量; 声明式管理; 随处部署,包括混合部署

99450

数字化 IT 从业者知识体系 | 应用部署与管理 —— kubernetes架构

根据调查显示,已有接近 20% 的应用运行在 Kubernetes 集群上,容器化进程仍在加速,Kubernetes 全民时代已到来。...Kubernetes 架构MasterAPI ServerKubernetes 的“心脏”,是集群控制的入口进程,也是 Kubernetes 所有资源增、、查、改等操作的唯一入口。...如果你在自己的环境中运行 Kubernetes,或者在本地计算机中运行学习环境, 所部署的环境中不需要云控制器管理器。...控制平面组件,负责监视新创建的、未指定运行节点(node)的 Pods,选择节点让 Pod 在上面运行。...Kubernetes组件间的协作(Pod 创建)Kubernetes 特点自动发布和回滚;服务运行状况监控;自动调节服务容量;声明式管理;随处部署,包括混合部署

50801

Kubernetes系列之Pod控制器

周而复始,直到集群中所有的实例都更新成新版本。这种部署方式相对于蓝绿部署,更加节约资源——它不需要运行两个集群、两倍的实例数。我们可以部分部署,例如每次只取出集群的20%进行升级。...AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。...Recreate: 重建式更新,就是一个建一个。类似于ReplicaSet的更新方式,即首先删除现有的Pod对象,然后由控制器基于新模板重新创建新版本资源对象。...旧的Pod被杀掉后,新的ReplicaSet将继续扩容,旧的ReplicaSet会进 一步缩容,确保在升级的所有时刻所有的Pod数量和不会超过期望Pod数量的130%。...删除 DaemonSet 将会删除它创建所有 Pod。

56030

K8s 节点断开连接后,本在运行的 Pod 会如何?

在这种情况下,其实有很多问题,例如,主节点是否删除了在无法连接的节点上运行的 Pod?Kubernetes 控制器的行为如何?Pod 是否在工作节点上继续运行?...工作节点(kind-worker2)被设置为 NotReady 状态,但 Pod 仍在继续运行,这是因为负责节点的 kube-controller-manager 的 node-controller 部分在等待...在示例中,我们在 kind-worker 节点上创建了一个 Nginx 副本。图 3 展示了 Kubernetes 系统上的所有状态更改: ?...在 pod-eviction-timeout 时间之后,主节点的隔离节点 Pod 处于“Terminating”状态,并会在不同节点上创建 Pod 新实例。 这些 Pod 会继续在隔离节点上运行。...原文链接:https://medium.com/tailwinds-navigator/kubernetes-tip-what-happens-to-pods-running-on-node-that-become-unreachable

1.9K10
领券