001-k8s概述、知识图谱、架构及核心组件

一、概述

  kubernetes,简称k8s

二、知识图谱

2.1、基础介绍

  发展:服务说明、资源管理器、k8s优势

  k8s组件说明:Borg组件说明、k8s结构说明【网络结构、组件结构】

  关键字以及含义

2.2、基础概念

  Pod概念:自主式Pod、管理器管理的Pod【RS、RC、deployment、HPA、StatefullSet、DaemonSet、Job,CronJob】、服务发现、Pod协同

  通讯模式:网络通讯模式、组件通讯模式

2.3、k8s安装

  系统初始化

  Kubeadm部署安装

  常见问题分析

2.4、资源清单

  k8s中资源概念:什么是资源、名称空间级别的资源、集群级别的资源

  资源清单:yam语法格式

  通过资源清单编写Pod

  Pod生命周期:initC、Pod phase、容器探针【livenessProbe、readinessProbe】、Pod hook、重启策略

2.5、Pod控制器

  类型:ReplicationController和RelicaSet、Deployment、DaemonSet、Job、CronJob、StatefulSet、Horizontal Pod Autoscalling

2.6、服务发现

  Service原理:分类【ClusterIP、NodePort、ExternalName】、实现方式【userspace、iptables、ipvs】

  Ingress:nginx【http代理访问、https代理访问、使用cookie实现会话关联、BasicAuth、Nginx进行重写】

2.7、存储

  configMap【配置文件】:创建【使用目录创建、使用文件创建、使用字面值创建】、Pod中使用configMap【ConfigMap来替代环境变量、ConfigMap设置命令行参数、通过数据卷插件使用COnfigMap】、热更新【实现、更新触发】

  Secret【需要加密的】:分类、Service Account、Opaque Secret【创建、Secret挂载到Volume、Secret导出到环境变量】、kubernetes.io/dockerconfigjson

  volume:卷的类型、emptyDir【说明、用途、实战】、hostPath【说明、用途、实战】

  PV:概念【PV、PVC、类型】、后端类型、访问模式、回收策略、状态、实战

2.8、调度器【把pod定义到想要的节点运行】

  基础:概念、调度过程、自定义调度器

  调度亲和性:亲和性运算符、nodeAffinity【[preferred/required]DuringSchedulingIgnoredDuringExecution】、podAntiAffinity【[preferred/required]DuringSchedulingIgnoredDuringExecution】

  污点:概念、Taint【组成、设置、查看、去除】、Tolerations【设置】

  固定节点调度:PodName指定调度、标签选择器调度

2.9、集群安全机制

  机制说明

  认证:http token、http base、https

  鉴权:AlwaysDeny、AlwaysAllow、ABAC、Webhook、RBAC【Role and ClusterRole、RoleBinding and CluesterRoleBinding、Resources、to Subjects、创建一个系统用户管理k8s Dev名称空间】

  准入控制    

2.10、HELM

  概念:组成构成、HELM部署、自定义

  部署实例:部署dashboard、metrics-server【HPA演示、资源限制(Pod、名称空间)】、Prometheus、EFK

2.11、运维

  Kubeadm源码修改:默认证书只有一年

  k8s高可用构建  

三、基础介绍

3.1、发展

  IaaS[Infrastructure as a Service,阿里云]→PaaS[Platform as a Service ,新浪云]→SaaS[Software as a Service ,office 365]

  docker 是 PaaS层面的,平台管理层,

3.2、资源管理器

  →Apache mesos【分布式资源管理框架,Twitter 2019年放弃,转k8s】

  →swarm【docker 推,轻量,功能少,实现架构好,2019年阿里云放弃使用,转k8s】

  →k8s【Google,10年容器化基础架构borg,go语言翻写borg】

    特点:轻量级【消耗资源小】、开源、弹性伸缩、负载均衡【IPVS】

3.3、组件介绍

3.3.1、borg架构介绍

    

  集群,选举,奇数

3.3.2、k8s架构

    

1》核心组件

    api server :所有服务访问统一入口

    ControllerManager:维持副本期望数目

    Scheduler:负责介绍任务,选择合适节点进行任务分配

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

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

    etcd:存储k8s集群所有重要信息【持久化】

    etcd:可信赖的分布式键值存储服务,能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转。v2版本 内存存储,v3版本db,在v1.11中开始使用v3

    

2》其他插件

  CoreDNS:可以为集群中的SVC创建一个域名IP的对应关系解析

  DashBoard:给k8s提供一个bs结构访问体系

  Ingress controller:官方只能实现4层代理,他可以实现7层代理

  Federation:提供一个可以跨集群中心多k8s统一管理功能

  Prometheus:提供k8s集群的监控能力

  ELK:提供k8s集群日志统一分析接入平台

posted @ 2020-08-08 21:27  bjlhx15  阅读(859)  评论(0编辑  收藏  举报
Copyright ©2011~2020 JD-李宏旭