• k8s集群搭建指南


     

     

    一、简介

    Ansible

    Docker

      Docker compose,docker swarm,docker machine

      Mesos,marathon

      Kubernetes(占据80%的市场)

    DevOps:

      Devops,MicroServices,Blockchain

        CI:持续集成

        CD:持续交付,Delivery

        CD:持续部署,Deployment

          Plan-设计-开发-构建-测试(自动实现这一系列流程叫持续集成)

            -运维(获取打包好的包叫持续交付)

            - 持续部署

    K8s(剁手,飞行员):

    Borg

      https://github.com/kubernetes

      自动装箱(自动完成部署)

      自我修复

      水平扩展

      服务发现和负载均衡

      自动发布和回滚

      秘钥和配置管理集中化(配置中心)

      存储编排

      批量处理执行

    集群:

      许多台主机当成一台主机来使用

      有中心节点架构的模型

      Master/nodes

      Master(高可用,3台)

        组件叫API Server

        调度器(scheduler):负责观测node的节点资源使用情况(预选,优选)

        控制器管理器(controller manager)---主备

      Nodes(worker):运行容器的节点

        Client->master-node

        Kubelet:集群代理(启动并管理pod)

        容器引擎:docker

      Pod:k8s最小的调度的逻辑单元

        容器的外壳,pod内运行容器,共享nat、uts和ipc

        共享存储卷

        一般来说一个pod内只放一个容器

        在一个资源池内进行统一管理(dockfile中打标签来进行区分)

         

        Label Selector:标签选择器

        Label: K=v

    Master/node

      Pod分类:

        自主式pod:

        控制器管理的pod

          replicationController:副本控制器

            管理pod状态

            滚动更新

          replicaSet

          Deployment(管理无状态的pod)

          statefuSet(有状态的)

          DaemonSet

          Job,cronjob

      HPA(HorizonTalPodAutoscaler):自动控制器,根据负载需求调整pod个数

        Pod生命周期需要用到服务发现机制

          Service管理pod(调度),根据label标签来关联pod对象

          Client - >service -> pod*N

          DNS对service进行解析

        AddOns:附件(附加组件)

      客户端和pod之间的桥梁:service(固定不变)

        Label(标签):固定不变,连接service-----名称解析(DNS)

    NMT

      Nginx对外:

      Tomcat

      M:db

       

      LBaas

      K8s网络(三个网段的网络)

        Pod网络

        Service(集群)网络(虚拟网络只存在与iptables或ipvs之中)

        节点网络

      Overlay Network,叠加网络

        同一个pod内的多个容器间:lo

        各个pod之间的通信(snat-dnat,两级pod转换),通过主机访问pod

        Pod与service之间的通信(宿主机规则)

      Kube-proxy:

        对service进行管理

      共享存储

        Etcd

      CNI:容器网络接口(网络解决方案)

        Flannel:网络配置(叠加网络)

        Calico:支持网络配置和网络策略(三层隧道网络)

        Canel(Flannel+Calico):

    架构图:

         

         

          

  • 相关阅读:
    关于数组的算法-编程之美读后感-1
    java学习笔记之线程1
    java学习笔记之IO一()
    java学习笔记之泛型
    java学习笔记之正则表达式
    Thinking in java学习笔记之String的不可变性
    Thinking in java学习笔记之map的应用
    Thinking in java学习笔记之set
    scrapy之中间件
    Linux之Redis-redis哨兵集群详解
  • 原文地址:https://www.cnblogs.com/liuhongru/p/11168256.html
Copyright © 2020-2023  润新知