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集群日志统一分析接入平台

  • 相关阅读:
    LeetCode 88. Merge Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 581. Shortest Unsorted Continuous Subarray
    LeetCode 20. Valid Parentheses
    LeetCode 53. Maximum Subarray
    LeetCode 461. Hamming Distance
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 976. Largest Perimeter Triangle
    LeetCode 1295. Find Numbers with Even Number of Digits
    如何自学并且系统学习计算机网络?(知乎问答)
  • 原文地址:https://www.cnblogs.com/bjlhx/p/13460413.html
Copyright © 2011-2022 走看看