• 【云原生 • Kubernetes】k8s功能特性、k8s集群架构介绍


    在这里插入图片描述

    一、Kubernetes 的特性/功能

    自动装箱:基于容器对应用运行环境的资源配置,要求自动部署应用容器,无需太多人工干预。

    自我修复:也就是自愈能力,容器启动失败时自动重启容器;当部署的 Node 节点出现问题时,会对容器进行重新部署和调度;当容器未通过监控检查时,会关闭此容器,直到容器正常运行才会对外提供服务。

    水平拓展:伸缩性强,通过简单的命令、用户 UI 界面或 CPU 等资源使用情况,对应用容器进行规模扩大或缩减。

    服务发现:也就是负载均衡,用户无需使用额外的服务发现机制,就可以基于 k8s 自身能力实现服务发现和负载均衡。

    滚动更新:可以通过应用的变化,对容器中运行的应用进行一次性或批量更新。

    版本回退:可根据应用部署情况,对容器中运行的应用进行历史版本即时回退。

    密钥和配置管理:在无需重新构建镜像的情况下,可部署和更新密钥和应用配置,类似于热部署。

    存储编排:自动实现存储系统挂载及应用,对有状态的应用实现数据持久化,存储系统可以来自于本地目录、网络存储(NFS、ceph、Gluster 等)。

    批处理:可提供一次性任务、定时任务,满足批量数据处理和分析。

    在这里插入图片描述

    以上 k8s 特性,如果仅使用 docker 容器技术是很难实现或者根本无法实现的。k8s 的目的就是让部署容器化应用更加简洁、更加高效。

    二、Kubernetes 集群架构介绍

    搭建一个 k8s 集群,需要包含 master-nodeworker-node 两大部分。

    master-node:主控节点,专门管理各个工作节点。
    worker-node:工作节点,做具体操作事务的节点。

    以下将具体介绍各部分中所包含的具体组件,后续在实操搭建 k8s 集群的过程中这些组件都需要我们手动安装。
    k8s集群架构图

    1. master node 节点

    API server:集群的一个对外统一入口,可以将它理解为 master 节点中各个组件的协调者,通过 apiserver 可将获取到的请求分发至各组件;需要知道,apiserver 是以 restful 请求方式提供服务的,所有请求也就是以 restful 风格通过 apiserver 进入集群后进行相关操作,最后 apiserver 将所有操作数据存储于 etcd当中。

    etcd:分布式,可靠的键值存储,可用于分布式系统中存储关键核心数据。从简单的应用程序到 Kubernetes 再到任何复杂性的应用程序都可以从 etcd 中读写数据。此处专用于保存集群相关的数据。

    scheduler:致力于节点调度,它会选择某一个 node 节点进行应用的部署。

    controller-manager:顾名思义它主要做的就是集中的处理控制管理,集群中后台的一个统一控制组件。处理集群中常规后台任务,一个资源对应一个控制器(controller)。

    2. worker node 节点

    kubelet:可以理解为 master 派到 node 节点的一个“代表”,管理当前节点中容器的各种操作。

    kube-proxy:提供网络代理,实现负载均衡等操作。
    docker参见往期文章,此处不再赘述。

    三、Kubernetes 核心概念

    在操作 kubernetes 的过程中,难免会遇到一些概念性的问题,以下可以说是 kubernetes 中最重要的三个核心即PodControllerService
    在这里插入图片描述

    1. Pod

    kubernetes 中最小的部署单元;是一组容器的集合,每一个 pod 中的容器都是共享网络的;pod 的生命周期是短暂的,并非一直存在,会随着服务器的重新启动或者重新部署而更新。

    2. Controller

    可以确保预期的 pod 副本数量;当我们在 k8s 中部署容器或应用时,可以无状态部署或有状态部署;可以确保所有 node 都运行同一个 pod;可以支持一次性任务和定时任务。

    无状态:容器或应用内无任何约定,即使迁移之后也可以直接使用。
    有状态:容器或应用内包含约定,如该容器/应用网络 IP 需要唯一等。

    3. Service

    定义一组 pod 的访问规则。

    总体流程就是,通过 service 统一入口访问,由 controller 创建 pod 进行部署。

    本章学习目标:

    • 掌握 k8s 的具体功能和特性;
    • 掌握 k8s 集群架构理论体系;
    • 掌握 k8s 中的核心概念点。
  • 相关阅读:
    y131.第七章 服务网格与治理-Istio从入门到精通 -- Istio Security基础(十七)
    【数电】【verilog】加法器
    SpringMVC的视图
    ubuntu20.4 更新中科大软件源
    前端开发规范的区别(Commonjs、AMD、CMD、ES6模块化)
    如何实现Spring的事务管理功能:@Transactional声明式事务
    【1day】用友移动管理系统任意文件上传漏洞学习
    图像色彩空间的改变
    【毕业设计】基于stm32的车牌识别系统 - 物联网 单片机
    Shopee买家通系统全自动化操作简单方便又快速
  • 原文地址:https://blog.csdn.net/weixin_53072519/article/details/126167232