• K8S学习笔记一:K8S的基础概念


    一、K8S的历史

    K8S源自于goole的brog系统,采用GO语言开发,他的特点有:

    1、开源

    2、轻量级:消耗的资源少

    3、弹性伸缩:可以扩展或减少节点,平缓收缩,不需要重启服务器

    4、负载均衡:负载均衡采用的IPVS框架

    二、K8S前身,brog系统组件介绍

    三、K8S基础架构图

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

    CrontrollerManager:维持副本期望数目

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

    ETCD:键值对数据库,储存K8S集群所有的重要信息(持久化)

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

    Kube-proxy:负责写入规则至IPTABLES、IPVS,实现服务映射访问

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

    DASHBOARD:给K8S集群提供一个B/S结果访问体系

    INGRESS CONTROLLER:官方只能实现四层代理,INGRESS可以实现7层代理

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

    PROMETHEUS:提供K8S集群的监控能力

    ELK:提供K8S集群日志统一分析介入平台

    三、Pod的概念

    1、什么是pod

    pod分为自主式pod,和控制器管理的pod;

    1、pod只要有一个容器,就会自动生成一个pause容器,而pod里的其它容器没有自己的IP,他们共享pause的网络和存储卷,所以每一个pod里的容器端口不能重复

    控制器有多种:

    1、replicationController 简称RC:用来确保容器应有的副本数始终保持在用户定义的副本数,即有容器异常退出,会自动创建新的Pod来代替,如果有多余的容器,多出来的容器也会自动回收。

    2、ReplicaSet简称RS,和RC的功效相同,并且RS支持集合式的selector.新版本用RS代替RC。

    3、Deployment,用来自动管理RS的,deployment无需担心与其它机制不兼容的问题,并且可以实现滚动更新,并且可以实现回滚。deployment并不创建pod,是管理RS的,pod是RS创建的。

    4、HPA,仅使用与deployment 和RS,用来平滑扩展。HPA会监控资源利用率,当CPU大于80,就进行扩展,最小2个,最多10个,直到CPU小于80。同样,当CPU小于80,如果有多余的Pod,也会自动删除一些pod。

    5、StatefulSet:为了解决有状态服务的问题(如mysql,必须实时跟踪数据),docker主要解决无状态服务(如apche,负载均衡调度器)。主要应用场景包括:

    (1)、稳定的持久化存储:即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现

    (2)、稳定的网络标志:即Pod重新调度后其PodName和HomeName不变,基于HeadLess Service来实现

    (3)、有序部署,有序扩展,即Pod是有顺序的,在部署或扩展的时候要依据定义的顺序依次启动。

    6、DaemonSet:当有Npde加入集群时,会为他们新增一个Pod,当有Node从集群移除时,这些Pod也会被回收,删除DaemonSet会删除它创建的Pod

    用处:如在node上允许日志收集daemon,运行监控daemon.

    7、Job负责批处理任务,仅执行一次的任务,能批量处理任务的一个或多个Pod成功接收。

    2、服务发现

    service收集Pod是通过标签收集的,中间通过轮询访问。

    四、网络通信模式

    KOS认为所有Pod都在一个可以直接连通的扁平的网络空间中。

    同一个pod中的各容器,因为共享pause网络,可以直接访问

    不同pod之间通讯,用OverLay Network

    Pod与service 之间的通信,靠各节点的Iptables规则.

  • 相关阅读:
    Java设计模式之依赖倒置原则
    windows 下安装apache 遇到的问题
    Java序列化相关
    批量插入————优化
    接口相关
    Redis使用及工具类
    面试回顾——kafka
    面试回顾——List<T>排序
    Java面试——线程池
    面试回顾——session相关
  • 原文地址:https://www.cnblogs.com/xiaoyuer2121/p/14274754.html
Copyright © 2020-2023  润新知