1. 为什么kubernates会出现?
我们回忆一下,如果我们用传统的物理机去创建集群是非常容易的事情,可是容器集群化之后管理起来就非常难,因为每一个容器都要做一个端口映射,当我们创建的容器比较多的时候,你就会发现,端口全乱了,访问,管理都非常困难。所以我们才需要一个容器的管理工具,来管理容器集群。
2. kubernates基本信息
go语言开发
特点:轻量级,消耗资源小,开源,弹性伸缩(做出改变的时候对于目前的工作,环境影响不大),负载均衡:IPVS
适合人群:软件工程师,测试工程师,运维工程师,软件架构师,项目经理
3. kubernates学习路线
kubernates框架:
kubernates关键字含义
基础概念:什么是pod(k8s运行的最小单位),控制器类型,k8s网络通讯模式
kubernates:构建k8s集群
资源清单:资源,掌握资源清单的语法,编写pod,掌握pod的生命周期***
pod控制器:掌握各种控制器的特点以及使用定义方式
服务发现:service,掌握svc原理及其构建方式
服务分类:有状态服务(DBMS数据库),无状态服务(Apache)
存储:掌握多种存储类型的特点
并且能够在不同环境中选择合适的存储方案
调度器:掌握调度器原理,能够根据要求把pod定义到想要的节点运行
安全:集群的认证,鉴权,访问控制,原理及其流程
HELM:Linux yum,掌握原理,HELM模板的自定义,HELM部署一些常用插件
运维:修改kubeadm达到证书可用期限为10年,能够构建高可用的kubernates集群
4. k8s架构
API server:所有服务访问的统一入口
CrontrollerManager:维持副本期望数目
scheduler:负责介绍业务,选择合适的节点进行分配任务
ETCD:键值对数据库,存储k8s集群所有的重要信息(持久化)
kubelet:直接跟容器引擎交互实现容器的生命周期管理
kube-proxy:负责写入规则至IPtables,IPVS,实现服务映射访问
5. 其他插件
COREDNS:可以为集群中的SVC创建一个域名IP的对应关系解析
DASHBOARD:给k8s集群提供一个B/S结构访问体系
Ingress controller:官方只能实现四层代理,ingress可以实现7层代理
Federation:提供一个可以跨集群中心多k8s统一管理功能
Prometheus:提供k8s集群的监控能力
ELK:提供k8s集群日志统一分析介入平台