分布式资源管理框架:
1.MESOS Apache
2.Docker Swarm
3.Kubernetes 是使用Go语音翻写borg
轻量级 消耗资源小
开源
弹性伸缩
负载均衡 IPVS
Pod概念
控制器类型
K8S网络通讯模式
Kubernetes 安装 构建 集群
资源清单
Pod控制器 各种控制器的特点以及使用方式
服务发现
存储 多种存储类型的特点 不同环境中选择合适的存储方案
调度器 调度器原理?
集群安全机制 集群认证 鉴权 访问控制 原理/流程
HELM 包管理工具 原理? 模板自定义 使用HELM部署常用的插件
运维 K8S源码修改 修改证书? 能够构建高可用构建
服务分类
有状态服务: DBMS
无状态服务: Apache LVS
1.K8S组件说明
api server 所有服务访问的统一入口
ControllerManager 控制器 维持副本期望数目
scheduler 调度器 资源调度,现在合适的节点分配任务
etcd 键值存储服务 Kubernetes1.11版本使用的内存中的ectd
使用HTTP协议操作
kubelet 直接更容器交互,维持Pod生命周期
Kube proxy 服务写入规则 IPtables IPVS
Coredns 可以为集群中SVC创建一个域名对应IP的关系解析
Dashboard KBS B/S访问体系
Ingress Controller 官方只能实现四层代理,Ingress可以实现七层代理
Federation 提供一个跨级群中心多K8S统一管理功能
Prometheus 提供一个K8S机器的 监控能力
ELK 提供k8s机器日志统一分析介入平台
2.Pod
自助式pod
控制器管理pod
同一个pod 同时共享网络与存储
同一个pod共享网络 所以端口不能重复 pause
ReplicaSet 支持selector
使用deployment管理RS,可以实现滚动更新
HPA 仅适用于deployment DS 管理弹性伸缩,制定弹性伸缩配置.
StatefulSet 解决无状态服务问题
稳定的持久化存储
稳定的网络标识
有序部署
有序收缩
DaemonSet确保全部Node上运行一个Pod副本.当有Node加入集群是,他们会新增一个Pod.
当node移除时,pod也会回收。删除DS 将会删除所有他创建的pod
Job负责批处理任务,一次执行任务。
定点只运行一次
周期性的定点运行
2.服务发现
service port
网络通讯方式
find 扁平化网络空间
pod pause网络中心
同一个Pod内多个容器之间: lo 虚拟网络
各Pod之前通讯: Overlay Network
Pod与Service之间: 各节点的Iptables LVS 虚拟网络
Flanneld 不同机器Docker容器具有全集群唯一虚拟IP
Flannel0 桥接
Harbor 私有镜像仓库
资源清单
资源类型分类
名称空间级别: kubeadm k8s kube-system
工作负载型资源: Pod ReplicaSet Deployment SstatusfulSet DaemonSet Job CronJob
服务器发现&负载均衡资源: Service Ingress
配置与存储资源: Volumo CSI
特殊存储卷: ConfigMap Secret DonwardAPI
集群级别: role Namespace
源数据类: HPA