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

Longhorn,企业级云原生容器分布式存储 - 高可用

当数据局部性被禁用时,Longhorn 卷可以由集群中任何节点上的副本支持,并由运行在集群中任何节点上的 pod 访问。...您还可以在 volume detail 页面中更改卷创建后的 data locality setting。...这 6 分钟的时间段在 Kubernetes 中是硬编码的:如果丢失节点上的 pod 被强制删除,则相关卷将无法正确卸载。...然后 Kubernetes 会等待这个固定的超时时间直接清理 VolumeAttachment 对象。 为了解决这个问题,我们提供了 3 种不同的卷附件恢复策略。...然后,如果故障节点稍后恢复,Kubernetes 将重新启动那些终止的 pod,分离卷(detach the volumes),等待旧的 VolumeAttachment 清理,并重用重新附加和重新挂载

2K30

容器编排引擎Kubernetes 05——命名空间和POD

系列目录 容器编排引擎Kubernetes 01——一文带你认识K8S 容器编排引擎Kubernetes 02——k8s安装配置 容器编排引擎Kubernetes 03——初始化集群 容器编排引擎Kubernetes...04——部署Dashboard 容器编排引擎Kubernetes 05——命名空间和POD 容器编排引擎Kubernetes 06——kubectl常用命令 容器编排引擎Kubernetes 07——...delete ns mynamespace 删除并查看当前K8S中的namespace 2 POD 2.1 pod是什么 pod是k8s集群能够调度和可部署的最小单元,是在K8S中创建和管理,是一个或多个容器的组合...在pod上下文中,每个独立的应用会进一步实施隔离。 pod类似于共享命名空间并共享文件系统卷的一组容器。...Unknown 因为某些原因无法取得 Pod 状态。 这种情况通常是因为与 Pod 所在主机通信异常导致。

68210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    彻底搞懂 K8S Pod Pending 故障原因及解决方案

    在本文中,我们将阐明导致此问题的不同情况,让 DevOps 团队能够快速找到解决方案,最重要的是,尽可能避免它。 Kubernetes Pod pending 是什么意思?...排查 Kubernetes pod Pending 的常见原因 有几个原因可以阻止 Pod 运行,但我们将描述三个主要问题: 调度问题:无法在任何节点上调度 Pod。...为了找出调度问题是什么,您需要查看调度程序生成的关于 pod 的事件,其中将详细描述阻止节点分配的原因。...常见的原因有: 尚未创建 ConfigMap 或者 Secret,或提供的名称不正确。 无法在节点中挂载卷,因为它尚未被另一个节点释放。...结论 了解 pod 保持在该 Pending 阶段的原因是在 Kubernetes 中安全部署和更新工作负载的关键。能够快速定位问题并加快部署进度将为您省去一些麻烦并减少停机时间。

    3.7K50

    介绍Kubernetes 1.14的本地持久卷GA和Uber的使用分享

    这些插件中的大多数都支持远程存储 - 这些远程存储系统独立于产生数据的Kubernetes节点而保留数据。远程存储通常无法为本地直连存储提供一致的高性能保证。...此模式指示Kubernetes等待绑定PVC,直到安排使用它的Pod为止。...使用本地存储的应用程序应指定高优先级,以便在必要时可以抢占不需要本地存储的较低优先级的pod。 如果该节点或本地卷遇到故障并且无法访问,则该pod也将变得不可访问。...本地和云之间的可移植性 本地卷在Uber决定使用Kubernetes构建M3DB编排方面发挥了重要作用,部分原因在于它是一种存储抽象,在本地和云环境中的工作方式相同。...当我们继续研究我们如何在本地运行Kubernetes时,解决了这样一个重要的未决问题是一个很大的缓解。 本地持久卷的下一步是什么?

    1.2K20

    【TKE】 平台常见问题 QA

    工作负载 Pod 起不来是什么原因? 查看事件信息(1小时内,超过1个小时的事件查看需要开启 集群事件持久化 查看)。...CBS 存储类申请的 PV 和调度的Pod 不在同一个可用区导致 PVC 无法正常挂载问题 解决办法:修改存储类的“卷绑定模式”为“等待调度”(WaitForFirstCustomer) ,控制台配置参考...超级节点配置 pod 磁盘回收策略(重启容器)不生效? 可能原因:容器写入层可能挂载的是 emptyDir 卷, 只重启容器是无法释放的,只能重建 Pod 清理。...TCR 镜像拉取超时 通过拉取超时日志查看解析的ip 是否正确,例如使用 TCR 且使用公网拉取,请确保拉取客户端 ip 在 TCR 公网访问百名单中。...超级节点 Pod 通过 9100 端口获取metrics 数据超时请求不到? 可能原因: 1.在容器中请求目的端为所在 pod 导致(产品限制),需要在该 pod 之外的客户端才能访问。 2.

    2.7K74

    Longhorn 企业级云原生容器存储解决方案-部署篇

    然后等待所有 pod 开始运行并且 Longhorn UI 工作。...为了减少引擎/副本(engine/replica)进程仍在旧实例管理器中时发生死锁的机会,您应该小批量升级卷的引擎,例如,一次升级 2 或 3 个卷。...如果卷升级引擎失败,卷 spec 中的引擎镜像将保持与卷状态中的引擎镜像不同。Longhorn 将不断重试升级,直到成功。...如果每个节点无法升级的卷太多(即超过 concurrent automatic engine upgrade per node limit(每个节点的并发自动引擎升级限制)设置),Longhorn 将停止升级该节点上的卷...CRDs 的问题 如果您的 CRD 实例或 CRD 本身由于某种原因无法删除,请运行以下命令进行清理。注意:这将清除所有 Longhorn 状态!

    2.2K50

    k8s实践(13)--有状态服务StatefulSet详解

    存储卷:无状态服务可以有存储卷,也可以没有,即使有也无法备份存储卷里面的数据;有状态服务必须要有存储卷,并且在创建服务时,必须指定给该存储卷分配的磁盘空间大小。...数据存储:无状态服务运行过程中的所有数据(除日志和监控数据)都存在容器实例里的文件系统中,如果实例停止或者删除,则这些数据都将丢失,无法找回;而对于有状态服务,凡是已经挂载了存储卷的目录下的文件内容都可以随时进行备份...但对于没有挂载卷的目录下的数据,仍然是无法备份和保存的,如果实例停止或者删除,这些非挂载卷里的文件内容同样会丢失。...如果你已经在使用 Kubernetes 来管理你的无状态服务,你可能会想要在同一个体系中管理你的有状态应用。 预期性能增长的重要性? Kubernetes 还不支持网络或存储在 Pod 之间的隔离。...PV 跟 Volume (卷) 类似,不过会有独立于 Pod 的生命周期。 它和普通Volume的区别是什么呢?

    4.9K22

    详解Kubernetes存储体系

    既然有了Docker Volume,为啥Kubernetes又搞出了自己的Volume?谷歌的标新立异?...“ PV是对持久化存储数据卷的一种描述。 ” PV通常是由运维人员提前在集群里面创建等待使用的一种数据卷。...我们在开发过程中经常碰到这样一个问题,在Pod中声明一个PVC之后,发现Pod不能被调度成功,原因是因为PVC没有绑定到合适的PV,这个时候要求运维人员创建一个PV,紧接着Pod调度成功。...不足之处也非常清楚,首先繁琐,然后运维人员无法预知开发人员的真实存储需求,比如运维人员创建了多个100Gi的PV存储,但是在实际开发过程中,开发人员只能使用10Gi,这就造成了资源的浪费。.../dev/vdb)挂载到 Pod在节点上的一个子目录中 启动容器,并将已经挂载到本地的Volume映射到容器中 总结 本文主要扯了如下内容,首先介绍Kubernetes中Volume、PV、PVC、StorageClass

    93020

    k8s 资源管理之 Pod

    所谓的部署服务,其实就是在 Kubernetes 集群中运行一个个的容器,并将指定的程序跑在容器中。...---- Pod ● Pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中。...⑤ Volumes(共享存储卷):Pod中的各个容器可以访问在Pod级别定义的Volumes。...: 0 Number 对容器健康检查探测等待响应的超时时间,单位秒,默认1秒,若超过该超时时间设置,则认为该容器不健康,会重启该容器 periodSeconds: 0 Number 对容器监控检查的定期探测时间设置...,默认为false,如果设置为true,表示使用宿主机网络,不再使用Docker网桥,该Pod将无法在同一宿主机上启动第2哥副本 volumes: List 在该pod上定义共享存储卷列表 - name

    53810

    Kubernetes 系列(3) —— Pod

    存储卷还可以确保在容器终止后被重启,甚至删除后也能确保数据不会丢失,从而保证生命周期内的 Pod 对象数据的持久化存储。...timeoutSeconds: 0    #对容器健康检查探测等待响应的超时时间,单位秒,默认1秒 periodSeconds: 0    #对容器监控检查的定期探测时间设置...容器的状态 Kubernetes 会跟踪 Pod 中每个容器的状态,就像它跟踪 Pod 总体上的阶段一样。 你可以使用容器生命周期回调 来在容器生命周期中的特定时间点触发事件。...当你使用 kubectl 来查询包含 Waiting 状态的容器的 Pod 时,你也会看到一个 Reason 字段,其中给出了容器处于等待状态的原因。...Unknown(未知) 因为某些原因无法取得 Pod 的状态。这种情况通常是因为与 Pod 所在主机通信失败。

    96620

    Kubernetes 存储概念之Volumes介绍

    Kubernetes的Volume解决了这两个问题 背景 在Docker中也有一个Volume(卷)的概念 ,尽管它有点松散,管理也不太好。...Docker的卷只是磁盘、其它容器中的一个目录,功能也比较有限。 Kubernetes支持多种类型的卷。pod可以同时使用任意数量、类型的卷。...对于pod中定义的每个容器,必须单独指定容器使用的每个卷的加载位置 卷无法在其他卷内装载,此外,卷不能包含指向其他卷中任何内容的硬链接。...Pod 中的所有容器可以读取和写入 emptyDir 卷中的相同文件,尽管该卷可以挂载到每个容器中相同或不同的路径上。当出于任何原因从节点中删除 Pod 时,emptyDir 中的数据将被永久删除。...如果待挂载文件的父目录不存在,pod将无法启动。

    2.1K30

    贝壳找房基于Milvus的向量搜索实践(三)

    另外,在部署过程中,还需要注意的是glusterfs需要一个独立的磁盘/分区,你也可以使用loop设备[8];在部署过程中,因为各种原因,不可避免需要重置部署,这时你需要清除脏数据,可以参照以下命令。...我们使用了A、B两组对等的资源(可以是同机房、跨机房)作为底层Milvus引擎,在引擎的外层,我们实现了读写分离,同一时刻,A、B集群只会承担读、写角色中的一个。...具体地,写入时,我们设定写入超时时间大于引擎内部写入请求的处理时间,也就是留出足够时间来让引擎返回成功/失败(即感知到引擎因为各种问题引起的失败);如果失败,我们会执行一次删除操作(删除可能写入的指定数据...异步等待 - 调用Milvus建索引接口返回(超时/完成),循环判断是否建索引成功(可以根据showCollectionInfo接口的返回判断)。...图5 数据全量更新流程 4.存活检测 在Milvus0.8.0使用过程中,多次出现cpu指令异常,导致Milvus服务退出的情况;但是,由于Milvus没有暴露存活检测的接口,Milvus Pod[14

    1.4K30

    揭秘 Longhorn 如何为 3.5万 个 Kubernetes 节点提供持久存储?

    在 Rancher Online Meetup 中,来自 SUSE 的 David Ko 强调了使用 Kubernetes 时与存储相关的其他挑战: 大多数传统的外部存储阵列价格昂贵且不灵活。...Manager pod 作为 Kubernetes DaemonSet,在 Longhorn 集群中的每个节点上运行。它负责在 Kubernetes 集群中创建和管理卷。...Manager 与 Kubernetes API 服务器通信以创建新的 Longhorn 卷客户资源定义 (CRD)。接下来,Longhorn Manager 等待 API 服务器的响应。...如果某个副本或引擎出现问题,Pod 将继续正常运行。引擎和副本是分组的,每个组都有一个包含的数据路径,它们之间不交互。这是 Longhorn 设计的一个优势。...如果一个卷出现故障,则无法影响其他卷、引擎和副本。通过这样做,可以避免为整个集群提供高可用性引擎。相反,我们有专门用于每个卷的小型引擎和副本。

    1.2K10

    Kubernetes设计的4个原则

    引言: 今天我要带给大家的是2018年底,在西雅图举办的Kubecon的一场分享,来自谷歌K8s团队的工程师Saad Ali分享的《Kubernetes设计原则》。...如上图所示,Pod可以直接引用一个远程的存储卷(GCE PD,AWS EBS,NFS等),kubernetes会自动使得该卷被用于Pod。...如上图所示,通过PVC的抽象,用户Pod并不直接引用GCE PD或者EBS,这样就使得该Pod可以在不同的基础架构中互相迁移,做到可移植。...总结 本文总结了Kubecon 2018的一场由谷歌高级软件工程师、kubernete开发人员Saad Ali分享的《Kubernetes设计原则》。...,K8s的背后设计原则的原因,其实它软件设计的一些一般性原则是一致的,虽然面向对象已经不在是什么流行的术语,但是本文中的设计原则和面向对象的设计原则高度一致。

    80110

    Longhorn 云原生容器分布式存储 - 故障排除指南

    (i.e., without -a or -p options) 原因 当 Longhorn 卷的文件系统损坏时,Longhorn 无法重新挂载该卷。因此,workload 无法重新启动。...解决方案 在 Kubernetes v1.19.x 及之前版本中没有解决此问题的方法。...那么就无法通过挂载点读取或写入 Longhorn 卷中的数据。 根本原因 引擎崩溃通常是由于失去与每个副本的连接而导致的。以下是发生这种情况的可能原因: 节点上的 CPU 利用率过高。...如果 Longhorn 引擎没有足够的 CPU 资源来处理请求,则请求可能会超时,导致与副本的连接丢失。...它可能导致所有副本断开连接,然后引擎崩溃。 磁盘性能太低,无法及时完成请求。我们不建议在 Longhorn 系统中使用低 IOPS 磁盘(例如旋转磁盘)。

    3.6K20

    k8s 实践经验(三):实操中学 k8s 五种资源(1)Pod

    默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。...● Pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中。 ● Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器。...④ UTS命名空间:Pod中的多个容器共享一个主机名;Volumes(共享存储卷): ⑤ Pod中的各个容器可以访问在Pod级别定义的Volumes。...,表示使用宿主机网络,不再使用Docker网桥,该Pod将无法在同一宿主机上启动第2哥副本volumes:List在该pod上定义共享存储卷列表- name: stringString共享存储卷名称 ,...在一个Pod中每个存储卷定义一个名称,应符合RFC 1035规范。

    40520

    Longhorn 企业级云原生分布式容器存储-券(Volume)和节点(Node)

    PersistentVolumeClaim 引用 Longhorn StorageClass: PersistentVolumeClaim 作为卷挂载在 Pod 中: 在没有 Kubernetes StorageClass...由于卷本身只是 Kubernetes 中的一个 CRD 对象,并且数据存储在每个副本中,因此这实际上是每个副本的 nominal size。...节点上的引擎进程会随 Pod 一起迁移到其他节点。 drain 完成后,节点上应该没有引擎或副本进程在运行。两个实例管理器仍将在节点上运行,但它们是无状态的,不会中断现有工作负载。...Pod 使用 kubectl delete pod/ 删除 pod。 无法挂起(suspend)不受 workload controller 管理的 pod。...等待 Kubernetes 使用的卷完成分离。 然后从 Longhorn UI 分离所有剩余的卷。

    2.1K20

    k8s实践(9)--深入了解Pod

    虽然可以直接使用Pod,但是在Kubernetes中通常是使用Controller来管理Pod的。...,将在执行完命令后陷入无限循环的过程中,这就是Kubernetes需要我们创建的docker镜像以一个前台命令作为启动命令的原因。   ...服务后,再宿主机受用docker ps或者在Kubernetes Master上都可以看到指定的容器在列表中 由于静态pod无法通过API Server直接管理,所以在master节点尝试删除该pod,...,单位秒 timeouSeconds:健康检查发送请求后等待响应的超时时间,单位秒。...当发生超时就被认为容器无法提供服务无,该容器将被重启 九.玩转Pod调度   在Kubernetes系统中,Pod在大部分场景下都只是容器的载体而已,通常需要通过RC、Deployment、DaemonSet

    1.2K20
    领券