zoukankan      html  css  js  c++  java
  • K8S 02 快速入门

    • Pod/Pod控制器
    • Name / Namespace
    • Label / Label选择器
    • Service / Ingress

    Pod / Pod 控制器

    Pod: 能够被运行的最小逻辑单元. 边车(SideCar)模式, 类似那种带挎抖的摩托车.

      1个 Pod 可以运行多个容器, 容器之间共享 UTS + NET + IPC 名称空间.

    Pod 控制器: 管理 副本数,生命周期,健康状态等, K8S 提供多种控制器:

      Deployment, DaemonSet, ReplicaSet, StatefulSet, Job, Cronjob

    Name / Namespace

    每一种功能都是一种 "资源" , 隔离资源 -> Namespace, 在 metadata 中定义了各种资源的 name.

    Label

    资源与标签之间是多对多的关系. Label选择器: 可以通过标签来过滤资源.

    标签的组成是 key = value

    Service / Ingress

    在 K8S 中, 每个 Pod 都会分配一个独立的 IP 地址. 但这个IP地址会随着Pod的销毁而消失.

    一个service 可以看做一组提供相同服务的 Pod 的对外访问接口, service 作用于哪些 Pod 是通过标签选择器来定义的。

    Ingress 是 K8S 集群里的工作在 OSI 网络参考模型下, 第7层的应用(最上层应用层) 对外暴露的接口.

      abc.od.com/sh,  通过 Ingress 决定这个地址找哪个 service, service -> Pod 决定找哪个 Pod.

    Service 暴露的是 ip + port 的形式, 而 Ingress 则可以调度不同业务域,不同 URL 访问路径的业务流量

    核心组件

    配置存储中心 -> etcd服务, 存储集群元数据信息, key-value 形式

    主控(master)节点

      kube-apiservice: restful API 接口. 负责数据交互. 通信枢纽, 资源配额入口.

      kube-controller-manager: 管理控制器的,有一系列控制器, Node Controller, Deployment Controller, Service Controller......

      kube-scheduler: 接收调度 pod 到适合的运算节点上. 预先策略(predict), 预选策略(priorities)

    运算(node)节点

      kube-kubelet 服务: 定时获取 pod 的期望状态, 真正干活的, 定时汇报当前节点的状态给 apiserver

      kube-proxy服务:每个节点运行网络代理,service资源的载体, 管理 clusterip -> podip, 建立pod网络和集群网络的关系. 

        流量调度模式: IPVS 推荐. 

    CLI客户端

      kubectl : 命令行工具

    核心附件(插件)

      CNI 网络插件 -> flanel / calico

      服务发现插件 -> coredns

      服务暴露插件 -> traefik

      GUI管理插件 -> dashboard

    三套网络

    service 网络是虚拟网络. 192.168.0.0/16

    Pod 网络: 实际网络. 172.7.21.0/24 (Node 主机的 IP 地址为 10.4.7.21)

    Cluster 节点网络. 10.4.7.0/24

    逻辑架构图

    举例, 部署架构

    实际上, 一个server 上可以同时部署 master 和 node 节点, 当然, 如果资源足够充分, 可以拆分 master 和 node 到不同机器上.

    左下角的2个大框部分才是 K8S, 上边,右边的实际上不属于 K8S 范畴.

  • 相关阅读:
    pandas之DataFrame
    python浅拷贝和深拷贝
    Numpy 机器学习三剑客之Numpy
    django--验证码功能实现
    python基础题
    python武器库
    django-rest-framework
    django--admin组件
    【转载】关于DBUtils中QueryRunner的一些解读
    【转载】java中的反射
  • 原文地址:https://www.cnblogs.com/moveofgod/p/12566535.html
Copyright © 2011-2022 走看看