kubernets基础

1.定义和功能。

  1.1定义:kubernets解释为舵手或者飞行员,以Borg为主衍生出。

  1.2功能:自动装箱,自我修复,水平扩展,服务发现和负载均衡,自动发布和回滚。

      密钥和配置管理,存储编排,批量处理执行。

2.架构。

kubernets基础

  2.1master(本身集群)主要包含三部分:1.API server 2.Scheduler 3.Controller-Manage

    •API server:负责接收和处理请求

    •Scheduler调度器:来观察各个node的资源情况,选择最好的资源响应用户的请求;两级调度:1.海选2.在海选中优选。

    •Controller-Manage(冗余性):负责监控每个Controller的状态。Controller,控制器,持续不断(loop)的对容器做检测,是否符合用户预期或者宕机等。

  2.2node上的一个组件kuberlet,对node上容器引擎(docker为主)做响应的启动等和健康检查。kube-proxy和API server进行通信,管理Service。

  2.3pod是k8s集群中最小的逻辑单元,每个pod中主要包含容器。特性如下:

    2.3.1pod中的容器共享网络和存储卷。

    2.3.2一般一个pod是单容器模式或一主多辅模式(如nginx和logstach共存)。

    2.3.3Client和pod通信,中间经过一层中间层(Service),其本质就是类似iptables的端口转发(DNAT)。

    2.3.4pod的控制器

       kubernets基础  分别对应不同的后台资源,Depolyment还支持二级控制器,HPA(HorizontalPodAutosclar),能根据请求量自动扩容或者缩容。

    2.3.5pod地址是不断变化的,所以Service和pod是通过Lable Selector(标签选择器)进行通信。相同功能的podLable是一样的。

  2.4网络层(三层网络,不同网段)

    2.4.1简单架构图

    kubernets基础

    网络提供上只要遵循CNI(容器网络接口),就能为k8s提供网络服务。  

    2.4.2二层维度:

      1.为pod和Service提供ip服务

      2.提供网络策略(隔离不同pod之间通信等)。

      kubernets基础

      canel是flannel和calico的结合,flannel提供网络配置,calico提供网络策略。不直接使用calico是因为配置较为复杂。

    2.4.3整体网络架构:三层网络

    kubernets基础

  2.5架构中存储架构信息是存在共享存储(etcd)中。架构之间的通信需要五套ca证书。

    1.etcd(一般是三个)之间的内部通信;

    2.etcd和API server之间通信;

    3.API server和client之间通信;

    4.API server和kuberlet之间通信;

    5.API server和kube-proxy之间通信。

  

上一篇:做题记录2021.7.23


下一篇:leetcode — word-break-ii