K8s简介(1)
目录
1. kubernetes的前世今生
1.1 公有云服务类型
-
IaaS
(基础架构即服务)服务商提供服务器,存储,网络设施,虚拟机等,对于用户相当于去阿里云上买了一台云服务器,需要自己装系统,配置环境
-
PaaS
(平台即服务)服务商在
Iaas
的基础上为用户提供了中间件等软件托管环境(阿里云存储,云数据体),用户只需要部署自己的程序就行了,Docker
在这一层 -
Saas
(软件即服务)服务商软件将软件作为服务交付给用户,
office 365
云端办公
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 组件说明
2.2 K8S结构说明
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
集群日志统一分析介入平台