初识K8s

K8s

云计算,发展经历: IAAS,基础设施级服务,阿里云 PAAS,平台级服务,新浪云(ICE,免费运维,自动化运维工具==》Docker,自动构建运行环境封装体) SAAS,软件设施级服务,office365

Docker,成为PAAS的下一代标准,但是容器集群化带来的问题是物理机器与容器的端口映射与高效通信问题 ===》资源管理器:

Apache MESOS,分布式资源管理框架,2019.5.2 推特的资源管理平台不再用MESOS而改用K8s

Docker Swarm,资源管理器,集群化方案,很轻量,但功能相对k8s太少,高级功能实现起来太费时费力,2019.7阿里云宣布不在使用Docker Swarm

Kubernetes,功能全面,Google 10年容器化基础架构,而内部使用Borg框架(go语言 对borg翻写 =》 k8s) 特点: 轻量级:消耗资源小 开源: 弹性伸缩:服务器规模可以平滑的伸缩 负载均衡:k8s内部已经实现模块间负载均衡,采用IPVS框架,功能强大

适合人群:软件工程师,测试工程师,运维工程师,软件架构师,项目经理

k8s 知识图谱:

介绍说明: 前世今生 K8s框架 K8s关键字(含义)

Pod:最小的封装集合,一个Pod中封装多个容器,K8s管理的最小单位,Pod管理控制器,服务发现,Pod协同(沟通)

通信模式:Pod之间的通讯(本节点/跨节点)

K8s安装:构建K8s集群

资源清单:资源,yam 语法格式,通过资源清单编写Pod

Pod声明周期:initC,Pod phase,容器探针,Pod hook,重启策略

Pod控制器:各种控制器的特点、使用、定义方式【Deployment

初识K8s_第1张图片

 

服务发现:通过控制器运行的Pod集合若要对外提供访问,必须通过服务发现将ip端口信息暴露给客户端【轮询】 掌握 SVC 原理及其构建方式

服务的分类: 有状态服务:DBMS 无状态服务:LVS APACHE

存储:各种存储类型的特点,能够在不同环境中选择合适的存储方案(需要结合自己的理解)

调度器:K8s会自动把Pod调度到对应的节点,若需要手动调度则需要通过调度器来完成 掌握调度原理,能根据要求把Pod定义到想要的节点

集群安全机制:集群的认证 鉴权 访问控制 原理&流程

HELM:(K8s-HELM ~ Linux-yum) 掌握HELM原理 HELM模板自定义 HELM部署常用插件

运维:修改kuneadm修改证书年限 构建K8s的高可用集群


Borg组件 架构:

初识K8s_第2张图片

 

K8s组件 架构:(kubectl 命令行管理工具)

初识K8s_第3张图片

 

etcd:(对应于Borg的Paxos) go语言编写,键值对数据库,k8s集群持久化方案,可信赖的分布式键值存储服务,协助分布式集群正常运转 etcd v2所有数据写入memory,v3引入了本地卷持久化操作(K8s v1.11之后的版本采用etcd v3)

初识K8s_第4张图片

 

node:

高可用集群的副本数量最好时 >= 3的奇数(容错、选主)

API Server:所有服务访问的 统一入口

ControllerManager:控制器,维持副本的期望数目

Scheduler:负责接收任务,选择合适的节点进行分配任务

ETCD:键值对数据库 存储K8s集群的所有重要信息(持久化)

Kubelet:直接跟容器引擎(Docker)交互实现容器的生命周期管理

Kube-proxy:负责写入规则至 iptables、ipvs 实现服务映射访问

其他插件: CoreDNS:可以为集群中的 SVC 创建一个域名IP的对应关系解析 Dashboard:给K8s集群提供一个 B/S 机构的访问体系 Ingress Controller:官方只能实现四层代理,Ingress可以实现七层代理(可根据主机名、域名进行负载均衡) Fedetation:提供一个可以跨集群中心多K8s统一管理功能 Prometheus:提供K8s集群的监控能力 ELK:提供K8s集群日志统一分析接入平台

 

你可能感兴趣的:(云计算,Docker,K8s,容器技术)