Kubernetes (k8s) 图解入门

发布时间:2023-10-07 16:30

Kubernetes是什么

功能
特点
  • 容器集群管理系统
  • 对计算资源进行了更高层次的 抽象,减轻应用程序在云上运行的负担
 
  • 快速部署应用
  • 快速扩展应用
  • 无缝对接新的应用功能
  • 节省资源,优化硬件资源的使用
 
  • 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud),因为 容器与底层设施、机器文件系统解耦的
  • 可扩展: 模块化, 插件化, 可挂载, 可组合
  • 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展
 
  • 开发和运行相分离
  • 开发,测试和生产环境一致性
  • Loosely coupled,分布式,弹性,微服务化: 应用程序分为更小的、独立的部件,可以动态部署和管理。
  • 资源隔离
  • 资源利用更高效
 
 

Kubernetes设计架构

图示
 
 
  • Kubernetes 定义了 deployment、pod、service、volume 等。
 
Kubernetes主要由以下几个核心组件组成:
  • etcd保存了整个集群的状态;
  • apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  • controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
  • kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
  • Container runtime如Docker负责镜像管理以及Pod和容器的真正运行(CRI);
  • kube-proxy负责为Service提供cluster内部的服务发现和负载均衡
 
除了核心组件,还有一些推荐的Add-ons:
  • kube-dns负责为整个集群提供DNS服务
  • Ingress Controller为服务提供外网入口
  • Heapster提供资源监控
  • Dashboard提供GUI
  • Federation提供跨可用区的集群
  • Fluentd-elasticsearch提供集群日志采集、存储与查询
 

思维导图参考 https://blog.csdn.net/kwame211/article/details/79760060

\"Kubernetes

Pod

图示
  1. Kubecfg将特定的请求,比如创建Pod,发送给Kubernetes Client。
  2. Kubernetes Client将请求发送给API server。
  3. API Server根据请求的类型,比如创建Pod时storage类型是pods,然后依此选择何种REST Storage API对请求作出处理。
  4. REST Storage API对的请求作相应的处理。
  5. 将处理的结果存入高可用键值存储系统Etcd中。
  6. 在API Server响应Kubecfg的请求后,Scheduler会根据Kubernetes Client获取集群中运行Pod及Minion/Node信息。
  7. 依据从Kubernetes Client获取的信息,Scheduler将未分发的Pod分发到可用的Minion/Node节点上。
  • Pod 是 kubernetes 系统的基础单元,  Pod 的生命周期包括pending、running、succeeded、failed、Unknown。
  • 所有的容器均在 Pod 中运行
  • 同一个Pod中的多个容器会部署在同一个物理机器上
  • 创建并管理Pod的两个简化操作:  基于相同的Pod配置文件部署多个Pod复制品; 当一个Pod挂了或者机器挂了的时候 创建可替代的Pod。
  • replication controller:  负责重新启动,迁移
  • 一个应用的多个Pod可以共享一个机器
  • Kubernetes Api中的任何对象贴上一组  key:value 的标签,  这些Map叫做annotations
  • Kubernetes创建了一个地址空间,并且不动态的分配端口,  为每个Pod分配IP地址
  • Kubernetes提供了服务的抽象,并提供了固定的IP地址和DNS名称,而这些与一系列Pod进行动态关联,这些都通过之前提到的标签进行关联,通过  本地代理(kube proxy)转发请求和追踪
  • 所有Kubernetes中的资源  都通过URI (类似于类型 名字 命名空间等的定义) 来区分,URI有一个UID,  UID是时间和空间上的唯一。
 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号