Kubernetes 概述

本文将介绍 Kubernetes 的基本概念及其架构。

一、什么是 Kubernetes?

Kubernetes 是容器编排技术的事实标准。

Kubernetes 是一个生产级别的容器编排平台和集群管理系统,不仅能够创建、调度容器,还能够监控、管理服务器。

二、架构

需要注意的是:

  • 多台计算机组成 Kubernetes 集群,每台计算机都被看作是一个节点,其中:

    • 少部分节点为 Master Node,它们是控制节点,负责集群的管理维护
    • 大部分节点为 Worker Node,它们是工作节点,负责运行应用
  • kubectl 是 Kubernetes 的客户端工具,用于与 Kubernetes 通信,实现对 Kubernetes 的控制

  • Master Node 由四个组件组成,分别为:

    • API Server:

      • Kubernetes 的唯一入口
      • 提供 API 服务
    • etcd:

      • 高可用的分布式 KV 数据库
      • 用于 Kubernetes 中信息的持久化存储
      • 只和 API Server 直接交互
    • Kube Scheduler:

      • 负责容器的调度工作

        将 Pod 调度到合适的节点上运行

      • 相当于部署人员

    • Controller Manager:

      • 负责维护容器和节点等资源的状态,实现故障检测、服务迁移、应用伸缩等功能
      • 负责监控整个集群的状态,并确保集群正常工作
      • 相当于监控人员
  • Worker Node 中包含:

    • kubelet:
      • 通信者,只有它与 Master Node 中的 API Server 通信
      • 实现状态报告、命令下发、启停容器等
    • kube-proxy:
      • 网络代理,负责容器的网络通信
    • Container Runtime:
      • 容器运行时
      • 实际工作者,负责容器的生命周期管理等工作
      • Container Runtime 并不等同于 Docker

参考

  • Kubernetes
  • Kubernetes 入门实战课
  • 深入剖析 Kubernetes