关于 K8s

date
Feb 6, 2022
slug
kubectl
status
Published
tags
使用笔记
summary
k8s 是 Kubernetes 的缩写,是因为 k 和 s 之间有八个字符的关系。
type
Post

Kubernetes 是什么

K8s 是用于 管理容器化 的工作负载和服务。

容器化历程

传统部署时代:
特点:在物理服务器上直接运行应用程序
缺点:由于无法合理的进行 资源分配,当运行多个程序时,则会出现 资源争夺,影响程序的稳定和安全性。
 
虚拟化部署时代:
特点:支持在单个物理服务器的 CPU 上 运行多个虚拟机,并且运行程序之间相互隔离。
缺点:每个虚拟机都是一台 完整的计算机,拥有独立的 操作系统,占用宿主机资源
 
容器化部署时代
特点:
  • 容器类似于虚拟机,但是它们具有 被放宽的隔离属性,应用程序之间可以 共享操作系统,相对来说 更轻量
  • 具有自己的文件系统、CPU、内存、进程空间等
优势:
  • 可快捷的创建和部署
  • 持续开发、集成和部署
  • 可观察性、一致性、拓展性、资源隔离、资源利用
  • ...

为什么需要 K8s ?

容器发生故障时,则启动另一个容器,以此保证不会停机,如何操作才会更容易?
K8s 就是用来解决这些问题的,提供的功能:
  • 服务发现和负载均衡
  • 存储编排
  • 自动部署和回滚:可以描述已部署容器的 所需状态
  • 自动完成装箱计算:指定每个容器所需 CPU 和内存
  • 自我修复:重新启动失败容器、替换容器、杀死不响应用户定义的运行状况检查的容器
  • 密钥与配置管理
  • ...
 

K8s 架构和组件

K8s 利用了 “期望状态” 原则,会始终调整至该状态。

定义 K8s 的重要组件。

初次设置 K8s 时,你会创建一个集群,所有 其他组件 都是集群的一部分。
你也可以创建多个虚拟集群,称为命名空间 (namespace),它们是同一个 物理集群 的一部分。与物理服务器上创建多个虚拟机的方式非常相似。
 
K8s 运行在节点 (node) 上,节点是集群中的 单个机器
节点是部署你的应用或服务的地方,是 K8s 工作的地方。
有 2 种类型的节点 ——master 节点和 worker 节点,所以说 K8s 是 主从结构。
每个节点都包含 API Server ,以此来进行节点间的通信
  • master 节点 管控 其他所有节点
  • worker 节点 真正干活 的节点
 
 

© jianxiaoBai 2021 - 2022