zoukankan      html  css  js  c++  java
  • 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集群日志统一分析接入平台

  • 相关阅读:
    Root of AVL Tree
    04-树4 是否同一棵二叉搜索树
    03-树3 Tree Traversals Again
    03-树2 List Leaves
    283. Move Zeroes
    506. Relative Ranks
    492. Construct the Rectangle
    476. Number Complement
    461. Hamming Distance
    389. Find the Difference
  • 原文地址:https://www.cnblogs.com/bjlhx/p/13460413.html
Copyright © 2011-2022 走看看