Kubernetes(K8S)笔记

什么是 Kubernetes?

  • Kubernetes是谷歌开源的容器集群管理系统
  • 可以简化应用程序的工作流,加快开发速度

为什么需要K8S?

  • 真正的生产型应用会涉及多个容器
  • 容器必须跨多个服务器主机进行部署
  • 借助K8S构建跨多个容器的应用服务、跨集群调度、扩展这些容器

K8S的应用

  • 跨多台主机进行容器编排
  • 更加充分地利用硬件,最大程度获取运行企业应用所需的资源
  • 利用自动布局、自动重启、自动复制以及自动扩展功能,对应用实施状况检查和自我修复

K8S相关术语

  • 主机(Master):用于控制Kubernetes节点的计算机。所有任务分配都来自于此。
  • 节点(Node):负责执行请求和分配任务的计算机。由Kubernetes主机负责对节点进行控制。
  • 容器集(Pod):是K8S中的最小单元。被部署在单个节点上的,且包含一个或多个容器的容器组。同一容器集中的所有容器共享一个IP地址、IPC、主机名称及其它资源。
  • 服务(Service):将工作内容与容器集分离。
  • Kubelet:运行在节点上的服务,可读取容器清单(container manifest),确保指定的容器启动并运行。
  • kubectl:Kubernetes的命令行配置工具。

K8S架构图

(API Server为Master节点上的组件) K8S抽象架构图

K8S实际组件分布架构图

PS:个人感觉业务如果不是全容器化的需求,或者业务量不大的话,的确没有必要用K8S。

OAM Kubernetes

什么是 OAM?

OAM 的全称为开放应用模型(Open Application Model),由阿里巴巴宣布联合微软共同推出。

5分钟带你快速入门和了解 OAM Kubernetes