k8s入门到放弃–k8s重要概念,k8s完整教程

Kubernetes(K8S)是云技术的最核心的部分,也是构建是云原生的基石,下面我就全面来详解Kubernetes(K8S)@mikechenK8SK8S全称

a5a440ab1c114e1c89e2b6ee0c117d6a~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717774607&x-signature=QcI%2Bewc3K5NL2JrJ2xNcy4Qw6tA%3D

Kubernetes (K8S) 是云技术的核心部分,也是构建云原生的基础了解有关@mikechen 的更多信息。

K8S

K8S,正式名称为Kubernetes,是一个容器编排平台,用于自动部署、扩展和管理应用程序。

K8S主要解决四个要点:

2dd63456e0f042d7b5438d35517098d4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717774607&x-signature=1rS7jdRSSroby3l3Fwyg7UsIsPo%3D

容器编排:Kubernetes(K8S)的核心能力之一是容器编排,它允许您自动管理和编排容器化应用程序的部署、扩展和操作。弹性伸缩:Kubernetes根据应用需求和负载,自动调整运行容器的数量,实现弹性伸缩。自我修复:如果容器或节点发生故障,Kubernetes 会自动重新启动或替换这些组件,以确保应用程序的高可用性。资源管理:Kubernetes可以有效地管理和分配计算资源(CPU、内存等),从而获得更好的资源利用率。

K8S架构

Kubernetes 采用主/从(master-node)架构,由两个主要组件组成:主节点和工作节点(node)。

如下所示:

d40667d0216b4466b8fb6589494b3256~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717774607&x-signature=45xSZlcz21JU44KSKaUgY3ykDms%3D

第一个主要组件:这是主组件(大脑)。

Master就像集群的“大脑”,负责管理集群的整体状态并协调所有工作负载。

这主要包括API 服务器、控制器管理器和调度程序等组件。

1.API服务器

API 服务器:Kubernetes 控制平面的前端,处理所有API 请求。

所有K8S控制请求都通过API服务器处理和转发。

API服务器主要解决以下问题:

处理集群内的所有REST 操作请求(例如创建、更新、删除等)。提供集群状态和资源的查询接口,并进行请求认证和授权。工作节点(节点):运行实际的应用程序容器并由Kubelet 代理管理。

2.Kube控制器管理器

负责运行控制器进程。这些控制器包括节点控制器、复制控制器、端点控制器等,以确保集群状态符合您所需的状态。

有多个控制器,如下图所示。

365e49e6b3bf4ec1a8dbfa99ba4b706c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717774607&x-signature=ddWnaYLrJU7ZQ%2FGk%2BmyXVlyytYM%3D

负责维护集群的状态,包括确保指定数量的Pod 正在运行、处理节点故障、滚动和更新。

3.Kube调度器

负责将新创建的Pod 分配到适当的节点上运行。

它还监视未绑定到节点的Pod,并根据预定义的策略和约束将它们分配到适当的节点。

换句话说,调度决策的核心是找到满足Pod 资源需求和其他约束的最佳节点。

第二大组件:子节点(Node)

Kubernetes工作节点(节点)通过Kubelet、Kube代理和容器运行时等组件提供强大的容器执行环境。

1.库贝雷特

Kubelet是每个节点上的主要代理进程,负责管理该节点上的pod和容器。

Kubelet 是Node 上所有容器操作的核心,直接与容器运行时交互。

2.Kube代理

Kube-proxy 是一个Kubernetes 网络代理,它: 维护Pod 之间通信的网络规则。

通过iptables管理节点上的网络规则,处理服务负载均衡和网络转发。

3. 容器运行时

容器运行时是负责检索镜像并在节点上运行容器的软件,例如:

Docker;containerd主要管理容器的生命周期,如创建、启动、停止、删除容器等。

Kubernetes (K8S) 应用

Kubernetes在多种应用场景中发挥着关键作用,包括:

微服务架构:K8S 可以与Istio 结合来解决微服务架构,将您的应用程序划分为多个小的独立服务。应用程序容器化:将应用程序容器化并将其部署到K8S 可以提高应用程序可用性和管理效率。持续集成和持续部署(CI/CD):与CI/CD 工具结合使用时,K8S 可以实现应用程序的自动化构建、测试和部署。也可以实现其他过程。 Kubernetes 提供不同进程之间的一致性。云提供商使管理混合云和多云环境变得更加容易。

K8S总结

总之,K8S是一个强大、灵活、可扩展的容器编排平台,可以满足任何规模的应用程序的部署和管理需求。

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/83517.html

(0)
小条's avatar小条
上一篇 2024年5月31日 下午11:36
下一篇 2024年5月31日 下午11:37

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注