Kubernetes组件

2022-05-24 16:13:46 浏览数 (1)

什么是Kubernetes?

Kubernetes是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统。

为什么需要Kubernetes?

Kubernetes为你提供了一个可弹性运行分布式系统的框架。Kubernetes 会满足你的扩展要求、故障转移、部署模式等。

Kubernetes为你提供:

  • 服务发现和负载均衡
  • 存储编排
  • 自动部署和回滚
  • 自动装箱计算
  • 自我修复
  • 密钥与配置管理

Borg

Borg是Google内部的大型集群管理系统,该系统是Kubernetes的前身。

Kubernetes

上图是Kubernetes的组件图,组件的主要作用如下:

  • API-Server(APIS):所有资源的操作的唯一入口,提供认证、授权、访问控制等机制
  • Scheduler:资源的调度器,负责按照预定的策略将Pod调度到相应的Node上
  • ControllerManager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
  • ETCD:键值对数据库,存储了整个集群的状态
  • Kubelet:负责容器的生命周期管理,负责Volume(CSI)和网络(CNI)的管理
  • Kube-Proxy:负责为Service提供集群内部的负载均衡和服务发现等

除了上述核心组件以外,以下组件在Kubernetes中也具有至关重要的作用:

  • CoreDNS:负责为整个集群提供DNS服务,这样我们外部访问的时候可以通过域名,而不是一个固定的IP
  • Ingress Controller:提供了7层代理,为服务提供基于Http或者Https的外网入口
  • Dashboard:提供GUI
  • Prometheus:提供Kubernetes集群的监控
  • Federation:提供跨可用区的集群

下图是Kubernets的Master组件图:

下图是Kubernetes的Node组件图:

本期Kubernetes就到这

0 人点赞