zoukankan      html  css  js  c++  java
  • k8s入门知识介绍01

    [K8S中文社区](http://docs.kubernetes.org.cn/

    1 四组基本概念

    1. Pod/Pod控制器
    2. Name/Namespace
    3. Lable/Label选择器
    4. Service/Ingress

    1.1 PODPOD控制器

    kubernetes 的pod控制器

    1. Pod
      k8s里能够被运行的最小逻辑单元
      1个POD里面可以运行多个容器(SideCar 边车模式)
      POD中的容器共享 UTS/NAT/IPC 名称空间
      POD和容器颗粒理解为豌豆荚和豌豆
    2. Pod控制器
      Pod控制器是Pod启动的一种模板
      用来保证在K8S里启动的Pod始终按预期运行
      包括副本数生命周期健康检查等
    3. 常用的Pod控制器:

    度器名称

    用途简述

    Deployment

    用于管理无状态应用,支持滚动更新和回滚

    DaemonSet

    确保集群中的每一个节点上只运行一个特定的pod副本

    ReplicaSet

    确保pod副本数量符合用户期望的数量状态

    StatefulSet

    管理有状态应用

    Job

    有状态,一次性任务

    Cronjob(定时任务)

    有状态,周期性任务

    1.2 Name/Namespace

    1. Name
      K8S使用'资源'来定义每一种逻辑概念(功能)
      每种'资源'都应该有自己的'名称'
      '名称'通常定义在'资源'的元数据(metadata)信息中

    资源的配置信息包括

      • API版本(apiVersion)
      • 类别(kind)
      • 元数据(metadata)
      • 定义清单(spec)
      • 状态(status)
    1. Namespace
      名称空间用于隔离K8S内各种资源,类似K8S内部的虚拟分组
      同一个名称空间中,相同资源的名称不能相同
      默认的名称空间为default,kube-system,kube-public
      查询特定资源,要带上相应的名称空间

    1.3 Lable/Label选择器

    1. Lable
      标签的作用是便于分类管理资源对象
      标签与资源之间是多对多的关系
      给一个资源多个标签,可以实现不同维度的管理
    2. Lable选择器
      可以使用标签选择器过滤指定的标签
      标签选择器有基于等值关系(等于,不等于)和基于集合关系(属于,存在)的两种
      许多资源都支持内嵌标签选择器字段:matchLables或matchExpressions

    1.4 Service/Ingress

    1. Service(重点)
      POD会分配IP地址,但IP会随着POD销毁而消失
      多个同类型POD,IP或端口必然不同,但却相同的服务
      Service用来提供相同服务POD的对外访问接口
      Service通过标签选择器来确定作用于哪些POD
      Service只能提供L4层的调度,即:IP+端口
    2. Ingress(重点)
      Igress也是用来暴露POD的对外访问接口
      Igress提供L7层的调度,即http/https
      Igress可以调度不同业务域,不同URL路径的流量

    2 核心组件与核心附件

    1. 核心组件
      配置存储中心
      • etcd服务

    主控节点(master)

      • kube-apiserver服务
      • kube-controller-manager服务
      • kube-scheduler服务

    运算节点(node)

      • kube-kubelet服务
      • kube-proxy服务
    1. CLI客户端
      kubectl命令行工具
    2. 核心附件
      CNI网络插件(flannel/calico)
      服务发现插件(coredns)
      服务暴露插件(traefik)
      GUI管理插件(daahboard)

    2.1 核心组件功能

    1. 配置存储中心-etcd
      etcd是一个非关系型数据库,作用类似于zookeeper注册中心
      用于各种服务的注册和数据缓存
    2. kube-apiserver(master)
      提供季军管理的REST API接口,包括鉴权、数据校验、集群状态变更
      负责其他模块之间的数据交互,承担通信枢纽的功能
      和etcd通信,是资源配额控制的入口
      提供玩备的集群控制机制
    3. kube-controller-manager
      由一系列控制器组成,通过apiserver监控整个集群的状态,确保集群处于预期的工作状态
      是管理所有控制器的控制器
    4. kube-scheduler
      主要是接收调度POD到合适的node节点上
      通过apiserver,从etcd中获取资源信息进行调度
      只负责调度工作,启动工作是node节点上的kubelet负责
      调度策略:预算策略(predict)、优选策略(priorities)
    5. kube-kubelet
      定时从apiserver获取节点上POD的期望状态(如副本数量、网络类型、存储空间、容器类型等)然后调用容器平台接口达到这个状态
      提供POD节点具体使用的网络
      定时汇报当前节点状态给apiserver,以供调度
      复制镜像和容器的创建和清理工作
    6. kube-proxy
      是K8S在每个节点上运行网络的代理,service资源的载体
      不直接为POD节点提供网络,而是提供POD间的集群网络
      建立了POD网络和集群网络的关系(clusterIp->podIp)
      负责建立、删除、更新调度规则
      与apiserver通信,以更新自己和获取其他kube-proxy的的调度规则
      常用的调度模式:Iptables(不推荐)、Ipvs(推荐)

    2.2 K8S的三条网络

    视频教程中用到的图片

      1. 节点网络
        实际网络,就是宿主机网络
        建议地址段:10.11.0.0/24
        建议通过不同的IP端,区分不同的业务、机房或数据中心
      2. Pod 网络
        实际网络,容器运行的网络
        建议172.7.207.0/24 ,并建议POD网段与节点IP绑定
        如: 节点IP为10.11.0.207,则POD网络为172.7.207.0/24
      3. service网络
        虚拟网络,也叫集群网络(cluster server),用于内部集群间通信
        构建于POD网络之上, 主要是解决服务发现和负载均衡
        通过kube-proxy连接POD网络和service网络
        建议地址段为:192.168.0.0/16

    3 K8S流程图

    说明:

    主控节点和node节点只是逻辑上的概念,物理上可以部署在一起

  • 相关阅读:
    javaweb请求编码 url编码 响应编码 乱码问题 post编码 get请求编码 中文乱码问题 GET POST参数乱码问题 url乱码问题 get post请求乱码 字符编码
    windows查看端口占用 windows端口占用 查找端口占用程序 强制结束端口占用 查看某个端口被占用的解决方法 如何查看Windows下端口占用情况
    javaWeb项目中的路径格式 请求url地址 客户端路径 服务端路径 url-pattern 路径 获取资源路径 地址 url
    ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段
    HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码
    Servlet主要相关类核心类 容器调用的过程浅析 servlet解读 怎么调用 Servlet是什么 工作机制
    linq查询语句转mongodb
    winddows rabbitmq安装与配置
    Redis For Windows安装及密码
    出现,视图必须派生自 WebViewPage 或 WebViewPage错误解决方法
  • 原文地址:https://www.cnblogs.com/reblue520/p/14006873.html
Copyright © 2011-2022 走看看