目录

K8s简介(1)

1. kubernetes的前世今生

1.1 公有云服务类型
  • IaaS(基础架构即服务)

    服务商提供服务器,存储,网络设施,虚拟机等,对于用户相当于去阿里云上买了一台云服务器,需要自己装系统,配置环境

  • PaaS (平台即服务)

    服务商在Iaas的基础上为用户提供了中间件等软件托管环境(阿里云存储,云数据体),用户只需要部署自己的程序就行了,Docker在这一层

  • Saas (软件即服务)

    服务商软件将软件作为服务交付给用户,office 365云端办公

https://z3.ax1x.com/2021/05/12/gwhIKg.png

1.2 什么是K8S

Paas部署了一系列docker容器,他们的部署,维护和多机扩展是很繁琐且容易出错的,Kubernetes是一个开源的,用于管理云平台中多个主机上的(分布式)容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护,监控的一种机制。

1.3 开源分布式资源管理框架
  • Mesos

  • docker swarm

  • kubernetes

Kubernetes 直接继承自 google内部10多年的容器基础架构brog,很多从事 Kubernetes 的开发人员以前都是 Borg 项目的开发人员,他们用go语言实现了Kubernetes

1.4 kubernetes优势
  • 轻量级:go语言实现资源占用少

  • 开源

  • 弹性伸缩

  • 负载均衡

2. K8S 组件说明

2.1 Borg 组件说明

https://z3.ax1x.com/2021/05/12/g0PHeJ.jpg

2.2 K8S结构说明

https://z3.ax1x.com/2021/05/12/g0iel8.jpg

3. K8S 一些关键名词解释

  • API SERVER:所有服务访问统一入口
  • Controller Manager:维持副本期望数目
  • Scheduler:负责介绍任务,选择合适的节点进行分配任务
  • ETCD:键值对数据库 ,储存K8S集群所有重要信息(持久化)
  • Kubelet:直接跟容器引擎交互实现容器的生命周期管理(创建和销毁容器)
  • Kube-proxy:负责写入规则至 Iptables,Ipvs 实现服务映射访问

4. 常用的一些插件

  • COREDNS:可以为集群中的SVC创建一个域名与IP的对应关系解析
  • DASHBOARD:给 K8S 集群提供一个 B/S 结构访问体系(管理界面/控制面板)
  • INGRESS CONTROLLER:官方只能实现四层代理,NGRESS 可以实现七层代理
  • FEDERATION:提供一个可以跨集群中心多K8S统一管理功能
  • PROMETHEUS:提供K8S集群的监控能力
  • ELK:提供 K8S 集群日志统一分析介入平台