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
- kubelet:
参考
- Kubernetes
- Kubernetes 入门实战课
- 深入剖析 Kubernetes