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

04-09 1020阅读

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

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

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

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

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

K8s是什么

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

    前言

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

    内容简介

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

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

    产品特点

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

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

      Kubernetes的主要特点和关键概念

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

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

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

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

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

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

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

      【K8s】K8s是什么,一文带你了解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强大的容器编排平台,为用户提供了高度可扩展、自动化和弹性的容器化应用管理环境。

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

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]