Appearance
01-组件介绍 🚀
云服务 🚀
- IaaS(Infrastructure as a Service),基础设施即服务。指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。在这种服务模型中,普通用户不用自己构建一个数据中心等硬件设施,而是通过租用的方式,利用 Internet从IaaS服务提供商获得计算机基础设施服务,包括服务器、存储和网络等服务。在使用模式上,IaaS与传统的主机托管有相似之处,但是在服务的灵活性、扩展性和成本等方面IaaS具有很强的优势。阿里云包含IaaS业务。
- PaaS: Platform as a Service,新浪云、Docker Swarm包含PaaS业务。
- SaaS: Software as a Service,Office365包含SaaS业务。
发展历程 🚀
MESOS Apache,分布式资源管理框架,2019-5,Twitter > Kubernetes
Docker Swarm 2019-07 阿里云宣布 Docker Swarm 剔除
Kubernetes Google 10年容器化基础架构 borg Go 语言 Borg
K8S特点 🚀
K8S是用来调度Docker的,学习K8S之前应该掌握Docker基础。Docker的Logo鲸,K8S的Logo是舵,K8S是用来带领Docker前行的。
- 轻量级:Go语言开发,相对Java消耗资源小。Go约等于现代版的C语言。
- 开源
- 弹性伸缩
- 负载均衡:IPVS
学习板块 🚀
K8S学习适合人群:软件工程师 测试工程师 运维工程师 软件架构师 项目经理
- 介绍说明:容器管理前世今生、Kubernetes框架、Kubernetes Logo含义
- 基础概念:什么是Pod、控制器类型、K8S网络通讯模式
- Kubernetes:构建K8S集群
- 资源清单:资源、掌握资源清单的语法、编写 Pod、掌握 Pod 的生命周期(重要)
- Pod控制器:掌握各种控制器的特点以及使用定义方式
- 服务发现:掌握SVC原理及其构建方式
- 存储:掌握多种存储类型的特点,并且能够在不同环境中选择合适的存储方案(有自己的见解)
- 调度器:掌握调度器原理、能够根据要求把Pod定义到想要的节点运行
- 安全:集群的认证、鉴权、访问控制、原理及其流程
- Helm:Linux yum、掌握Helm原理、Helm模板自定义、Helm部署一些常用插件
- 运维:修改Kubeadm达到证书可用期限为10年、构建高可用的Kubernetes集群
服务组件 🚀
- ApiServer:所有服务访问统一入口
- CrontrollerManager:维持副本期望数目
- Scheduler:负责接收任务,选择合适的节点进行分配任务
- etcd:键值对数据库 储存K8S集群所有重要信息(持久化)
- Kubelet:直接跟容器引擎交互实现容器的生命周期管理
- Kube-proxy:负责写入规则至 IPTABLES、IPVS 实现服务映射访问的
- CoreDNS:可以为集群中的SVC创建一个域名IP的对应关系解析
- Dashboard:给 K8S 集群提供一个 B/S 结构访问体系
- Ingress Container:官方只能实现四层代理,INGRESS 可以实现七层代理
- FEDERATION:提供一个可以跨集群中心多K8S统一管理功能
- PROMETHEUS:提供K8S集群的监控能力
- ELK:提供 K8S 集群日志统一分析介入平台
其他 🚀
- 高可用集群副本数据最好是 >= 3 奇数个
- 服务分类:有状态服务(如DBMS)、无状态服务(如LVS Apache)