K8s介绍
k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈。
发展经历
基础设施级服务 iaas :阿里云
平台设施级服务 paas :新浪云
软件设施级服务 saas :Office365
资源管理器:
前生:
Apache:MESOS - 分布式系统内核 、分布式资源管理框架 2019-05 Twitter>k8s
docker:SWARM 集群,轻量 2019-07 阿里云宣布 Docker Swarm集群框架从阿里云选择框架剔除
今世:
google:kubernetes,10年google容器基础框架borg ,容器火了以后,Google使用GO语言参考Borg设计思路开发出K8s
特点:轻量级,基于GO语言,消耗资源小
开源
弹性伸缩
负载均衡:LVS(IPVS)
知识图谱
K8s框架
K8s关键字含义
基础概念
什么是Pod 控制器类型
Pod概念 最小的封装集合,一个Pod会封装多个容器,达到一个子节点的运行环境,K8s管理的最小单位
网络通讯模式
K8s安装:构建K8s集群
资源清单:资源 掌握资源清单的语法 编写Pod 掌握Pod的生命周期***
Pod控制器:掌握各种控制器的特点以及使用定义方式
服务发现:SVC原理及其构建方式
存储:掌握多种存储类型的特点 并且能够在不同环境中选择合适的存储方案(有自己的见解)
服务分类
有状态服务:DBMS
无状态服务:LVS APACHE
高可用集群副本数最好是>=3的奇数
调度器:掌握调度器原理,能够根据要求把Pod定义到想要的节点运行
安全:集群的认证 鉴权 访问控制 原理及其流程 集群安全机制
HELM:类Linux yum 掌握HELM原理 HELM模板自定义 HELM部署一些常用插件
运维:CICD构建 POD特殊的创建管理方式 修改Kubeadm达到证书可用期限10年 构建高可用K8S集群
组件说明
Borg架构:
K8s架构:
APISERVER:所有服务访问统一入口
CrontrollerManager:维持副本期望数目
Scheduler::负责介绍任务,选择合适的节点进行分配任务
ETCD:键值对数据库 储存K8S集群所有重要信息(持久化),协助分布式集群的正常运转。
Kubelet:直接跟容器引擎交互实现容器的生命周期管理
Kube-proxy:负责写入规则至 IPTABLES、IPVS 实现服务映射访问的
COREDNS:可以为集群中的SVC创建一个域名IP的对应关系解析
DASHBOARD:给 K8S 集群提供一个 B/S 结构访问体系
INGRESS CONTROLLER:官方只能实现四层代理,INGRESS 可以实现七层代理
FEDERATION:提供一个可以跨集群中心多K8S统一管理功能
PROMETHEUS:提供K8S集群的监控能力
ELK:提供 K8S 集群日志统一分析介入平台
推荐在 Kubernetes 集群中使用 Etcd v3,v2 版本已在 Kubernetes v1.11 中弃用
etcd 的官方将它定位成一个可信赖的分布式键值存储服务,它能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转
点击查看代码
<details>
<summary>点击查看代码</summary>
点击查看代码