【K8s】K8s是什么,一文带你了解kubernetes

辭七七 2024-07-10 11:07:02 阅读 76

在这里插入图片描述

作者简介: 辭七七,目前大二,正在学习C/C++,Java,Python等

作者主页: 七七的个人主页

文章收录专栏: 七七的闲谈

欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

K8s是什么

前言内容简介产品特点Kubernetes的主要特点和关键概念产品组件Kubernetes集群所需的各种二进制组件

前言

kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

内容简介

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。

在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

产品特点

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)可扩展: 模块化,插件化,可挂载,可组合自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

在这里插入图片描述

Kubernetes的主要特点和关键概念

容器编排: Kubernetes允许用户定义、部署和扩展容器化应用程序。它能够自动化应用的部署、升级和扩展,确保应用在整个生命周期中的高可用性。

抽象层和标准化: Kubernetes引入了一系列的抽象层,如Pod、Service、Deployment等,提供了一种标准化的方式来描述、部署和管理应用程序。

自动伸缩: Kubernetes能够根据应用程序的负载自动伸缩,调整运行实例的数量,以满足性能需求,并在负载下降时减少资源使用。

服务发现和负载均衡: 通过Service抽象,Kubernetes提供了服务发现和负载均衡的机制,使应用程序能够可靠地相互通信,并确保流量分布均匀。

存储管理: Kubernetes支持多种存储后端,并提供了持久卷(Persistent Volumes)和持久卷声明(Persistent Volume Claims)等机制,确保应用程序对数据的持久性和可靠性。

配置管理: 使用ConfigMap和Secrets,Kubernetes允许将配置信息和敏感数据与应用程序分离,实现更灵活的配置管理。

多集群管理: Kubernetes支持多集群部署,允许用户在不同的云环境或数据中心中管理和扩展容器化应用。

在这里插入图片描述

产品组件

1. API Server(API服务器):

功能: 提供Kubernetes API,是所有组件之间通信的入口点。

作用: 接收和处理来自命令行工具、Web UI或其他部分的请求,并协调集群中的操作。

2. etcd:

功能: 一致性键值存储,用于保存集群配置数据和元数据。

作用: 存储集群的状态信息,包括配置、节点信息、Pod状态等。

3. Controller Manager(控制器管理器):

功能: 包含一系列控制器,用于监控集群状态并进行调整以满足期望状态。

作用: 确保系统中的实际状态与期望的状态一致,例如自动伸缩、滚动更新等。

4. Scheduler(调度器):

功能: 负责将新的Pod调度到集群中的节点上。

作用: 根据节点资源、约束条件和调度策略选择最适合的节点,并分配Pod。

5. Kubelet:

功能: 在每个节点上运行,负责与API服务器通信,并确保在节点上运行的Pod处于健康状态。

作用: 管理Pod的生命周期,包括拉取容器镜像、启动、停止和监控容器。

6. Container Runtime(容器运行时):

功能: 负责运行容器。

作用: 将容器镜像转换为运行时实例,通常使用Docker、containerd、CRI-O等。

7. kube-proxy:

功能: 提供网络代理和负载均衡服务。

作用: 确保Pod能够相互通信,实现服务发现和负载均衡。

8. Ingress Controller:

功能: 提供HTTP和HTTPS路由到集群中服务的规则。

作用: 允许从集群外部访问集群内的服务,并执行负载均衡和路由。

9. Service:

功能: 定义一组Pod的抽象,提供一个统一的访问入口。

作用: 允许应用程序通过服务名而不是IP地址相互通信。

10. ConfigMap和Secrets:

功能: 分别用于存储配置数据和敏感信息,如密码或API密钥。

作用: 允许将配置信息和敏感数据从应用程序中分离出来,方便管理和更新。

这些组件共同工作,构成了Kubernetes强大的容器编排平台,为用户提供了高度可扩展、自动化和弹性的容器化应用管理环境。

在这里插入图片描述

Kubernetes集群所需的各种二进制组件

Master 组件

Master组件提供集群的管理控制中心。Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。请参考构建高可用群集以来构建multi-master-VM。

ETCD

etcd是Kubernetes提供默认的存储系统,保存所有集群数据,使用时需要为etcd数据提供备份计划。

kube-controller-manager

kube-controller-manager运行管理控制器,它们是集群中处理常规任务的后台线程。

插件 addons

插件(addon)是实现集群pod和Services功能的。Pod由Deployments,ReplicationController等进行管理。Namespace 插件对象是在kube-system Namespace中创建。

关于 【K8s】K8s是什么,一文带你了解kubernetes的详细讲解,七七就先分享到这里了,如果你认为这篇文章对你有帮助,请给七七点个赞吧,如果发现什么问题,欢迎评论区留言!!💕💕



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。