kubernetes
文章平均质量分 88
k8s学习
liu_weiliang10405
这个作者很懒,什么都没留下…
展开
-
Kubernetes(六)Kubernetes Namespace 详解
命名空间Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间。何时使用多个命名空间命名空间适用于存在很多跨多个团队或项目的用户的场景。对于只有几到几十个用户的集群,根本不需要创建或考虑命名空间。当需要名称空间提供的功能时,请开始使用它们。命名空间为名称提供了一个范围。资源的名称需要在命名空间内是唯一的,但不能跨命名空间。命名空间不能相互嵌套,每个 Kubernetes 资源只能在一个命名空间中。命名空间是在多个用户之间划分集群资源的一种方法(通过原创 2022-04-01 23:01:36 · 354 阅读 · 0 评论 -
Kubernetes(四)Kubernetes Service 的实现原理
在上一篇文章中,我们介绍了Kubernetes 中 Pod 的实现原理,Pod 是 Kubernetes 中非常轻量的对象。集群中的每一个 Pod 都可以通过podIP被直接访问的,但是正如我们所看到的,Kubernetes 中的 Pod 是有生命周期的对象,尤其是被 ReplicaSet、Deployment 等对象管理的 Pod,随时都有可能由于集群的状态变化被销毁和创建。这也就造成了一个非常有意思的问题,当 Kubernetes 集群中的一些 Pod 需要为另外的一些 Pod 提供...原创 2022-03-30 20:20:22 · 1428 阅读 · 0 评论 -
Kubernetes(三)Kubernetes Pod 的实现原理
Pod、Service、Volume 和 Namespace 是 Kubernetes 集群中四大基本对象,它们能够表示系统中部署的应用、工作负载、网络和磁盘资源,共同定义了集群的状态。Kubernetes 中很多其他的资源其实只对这些基本的对象进行了组合。Pod 是 Kubernetes 集群中能够被创建和管理的最小部署单元,想要彻底和完整的了解 Kubernetes 的实现原理,我们必须要清楚 Pod 的实现原理以及最佳实践。在这里,我们将分两个部分对 Pod 进行解析,第一部分主要会从概.原创 2022-03-30 20:17:35 · 284 阅读 · 0 评论 -
Kubernetes(十)Kubernetes Job 和 CronJob 的实现原理
之前介绍了 Kubernetes 中用于长期提供服务的ReplicaSet、Deployment、StatefulSet和DaemonSet等资源,但是作为一个容器编排引擎,任务和定时任务的支持是一个必须要支持的功能。Kubernetes 中使用 Job 和 CronJob 两个资源分别提供了一次性任务和定时任务的特性,这两种对象也使用控制器模型来实现资源的管理,我们在这篇文章种就会介绍它们的实现原理。概述Kubernetes 中的 Job 可以创建并且保证一定数量 Pod 的成功停止,...原创 2022-03-30 20:12:35 · 640 阅读 · 0 评论 -
Kubernetes(九) Kubernetes DaemonSet 的实现原理
Deployment是 Kubernetes 中用于处理无状态服务的资源,而StatefulSet是用于支持有状态服务的资源,这两种不同的资源从状态的角度对服务进行了划分,而 DaemonSet 从不同的维度解决了集群中的问题 — 如何同时在集群中的所有节点上提供基础服务和守护进程。我们在这里将介绍 DaemonSet 如何进行状态的同步、Pod 与节点(Node)之间的调度方式和滚动更新的过程以及实现原理。概述DaemonSet 可以保证集群中所有的或者部分的节点都能够运行同一份 Pod...原创 2022-03-30 20:10:22 · 1972 阅读 · 0 评论 -
Kubernetes(八)Kubernetes StatefulSet 实现原理
在 Kubernetes 的世界中,ReplicaSet和Deployment主要用于处理无状态的服务,无状态服务的需求往往非常简单并且轻量,每一个无状态节点存储的数据在重启之后就会被删除,虽然这种服务虽然常见,但是我们仍然需要有状态的服务来实现一些特殊的需求,StatefulSet 就是 Kubernetes 为了运行有状态服务引入的资源,例如 Zookeeper、Kafka 等。这篇文章会介绍 Kubernetes 如何在集群中运行有状态服务,同时会分析这些有状态服务 StatefulS...原创 2022-03-30 20:08:48 · 221 阅读 · 0 评论 -
Kubernetes(七) Kubernetes Deployment 的实现原理
如果你在生产环境中使用过 Kubernetes,那么相信你对 Deployment 一定不会陌生,Deployment 提供了一种对Pod和ReplicaSet的管理方式,每一个 Deployment 都对应集群中的一次部署,是非常常见的 Kubernetes 对象。我们在这篇文章中就会介绍 Deployment 的实现原理,包括它是如何处理 Pod 的滚动更新、回滚以及支持副本的水平扩容。概述作为最常用的 Kubernetes 对象,Deployment 经常会用来创建Replica...原创 2022-03-30 20:06:01 · 795 阅读 · 0 评论 -
Kubernetes(二)了解k8s的基本组件与概念
Kubernetes是什么Kubernetes是Google于2014年基于其内部Brog系统开源的一个容器编排管理系统,可使用声明式的配置(以yaml文件的形式)自动地执行容器化应用程序的管理,包括部署、伸缩、负载均衡、回滚等。kubernetes提供的功能:自动发布与伸缩:可以通过声明式的配置文件定义想要部署的容器,Kubernetes将自动进行容器的部署,达到期望的结果;通过指定容器副本数,或者设置根据资源负载情况(如CPU、内存使用率),自动对容器组进行快速的伸缩——增大或缩小容器数量原创 2022-03-30 19:41:30 · 185 阅读 · 0 评论 -
Kubernetes(一) 从零搭建K8S
阅读这篇文章你能收获到:如何阅读Kubernetes官方安装指南并搭建一个Kubernetes环境. Kubernetes安装过程中的注意事项. 避过常见的坑.阅读本文你需要:熟悉Linux命令. 知道Kubernetes是用来干什么的 (不然装它干啥(ಥ_ಥ)). 知道Docker器材准备文档链接: Before you begin序号 名称 数量 备注 1 服务器 2 操作系统: Linux(centos7, 其它操作系统也可,..原创 2022-03-30 19:33:51 · 497 阅读 · 0 评论 -
Kubernetes(十五)Kubernetes ReplicaSet 的实现原理
Kubernetes 中的 ReplicaSet 主要的作用是维持一组Pod副本的运行,它的主要作用就是保证一定数量的 Pod 能够在集群中正常运行,它会持续监听这些 Pod 的运行状态,在 Pod 发生故障重启数量减少时重新运行新的 Pod 副本。这篇文章会介绍 ReplicaSet 的工作原理,其中包括在 Kubernetes 中是如何被创建的、如何创建并持有 Pod 并在出现问题时重启它们。概述在具体介绍 ReplicaSet 的实现原理之前,我们还是会先简单介绍它的使用,与其他的 Kub原创 2022-04-03 11:34:12 · 303 阅读 · 0 评论 -
Kubernetes(十四)垃圾收集器的实现原理
垃圾收集器在 Kubernetes 中的作用就是删除之前有所有者但是现在所有者已经不存在的对象,例如删除 ReplicaSet 时会删除它依赖的 Pod,虽然它的名字是垃圾收集器,但是它在 Kubernetes 中还是以控制器的形式进行设计和实现的。在 Kubernetes 引入垃圾收集器之前,所有的级联删除逻辑都是在客户端完成的,kubectl 会先删除 ReplicaSet 持有的 Pod 再删除 ReplicaSet,但是垃圾收集器的引入就让级联删除的实现移到了服务端,我们在这里就会介绍垃圾收集器原创 2022-04-03 11:27:44 · 379 阅读 · 2 评论 -
Kubernetes(十三)etcd详解
导读:etcd 是用于共享配置和服务发现的分布式、一致性的 KV 存储系统。本文从 etcd 项目发展所经历的几个重要时刻开始,为大家介绍了 etcd 的总体架构及其设计中的基本原理。希望能够帮助大家更好的理解和使用 etcd。一、etcd 项目的发展历程etcd 诞生于 CoreOS 公司,它最初是用于解决集群管理系统中 OS 升级的分布式并发控制以及配置文件的存储与分发等问题。基于此,etcd 被设计为提供高可用、强一致的小型 keyvalue 数据存储服务。项目当前隶属于 CNCF 基金会原创 2022-04-03 10:19:13 · 1361 阅读 · 0 评论 -
Kubernetes(十二)Kubernetes ConfigMap&Secret详解
一、ConfigMap官方文档 ConfigMap概念ConfigMap的功能在k8s1.2版本中引入的,许多应用程序会从配置文件,命令行参数或环境变量中读取配置信息。ConfigMap API会给我们提供了向容器中注入配置信息的机制,ConigMap可以被用来保存单个属性,也可以用来保存整个配置文件或者JSON二进制的对象1. 为什么需要configmap我们经常都需要为我们的应用程序配置一些特殊的数据,比如密钥、Token 、数据库连接地址或者其他私密的信息。你的应用可能会使用一些特原创 2022-04-01 23:27:27 · 745 阅读 · 0 评论 -
Kubernetes(十一)Kubernetes ingress的实现原理
一、Ingress概念Kubernetes关于服务的暴露主要是通过NodePort方式,通过绑定宿主机的某个端口,然后进行pod的请求转发和负载均衡,但这种方式下缺陷是:Service可能有很多个,如果每个都绑定一个node主机端口的话,主机需要开放外围一堆的端口进行服务调用,管理混乱无法应用很多公司要求的防火墙规则。理想的方式是通过一个外部的负载均衡器,绑定固定的端口,比如80,然后根据域名或者服务名向后面的Service ip转发,Nginx很好的解决了这个需求,但问题是如果有新的服务加入,原创 2022-04-01 23:16:31 · 3977 阅读 · 0 评论 -
Kubernetes(五)Kubernetes Volume详解
Volume的作用一切container和它之中的数据都是临时的。如果container重启,这些数据会丢失。Volume用于container保存需要持久化的数据。这些数据也可以用于container共享。Volume的概念Docker中有volume的概念。在Docker中,volume是container中的一个目录。Volume没有生命周期的概念,volume中的数据只有储存在本地磁盘这一种形式。Kubernetes的volume具有明确的生命空间。Volume生命周期比pod中运行原创 2022-04-01 22:58:32 · 1504 阅读 · 0 评论