kubernetes基础概念

容器编排工具

  • docker compose,docker swarm,docker machine
  • mesos, marathon
  • kubernetes

DevOps,MicroServices,Blockchain

  • CI:持续集成
  • CD:持续交付,Delivery
  • CD:持续部署,Depolyment

kubernetes特性

  • 自动装箱,自我修复,水平扩展,服务发现和负载均衡,自动发布和回滚
  • **和配置管理,存储编排,批量处理执行
  • 最小单位为pod,pod内才是容器
    • 自主式POD
    • 控制器管理的POD
      • ReplicationController
      • ReplicaSet
      • Depolyment(管理无状态应用,支持二级控制器HPA)
        • HorizontalPodAutoscaler
      • StatefulSet(管理有状态应用)
      • DaemonSet(确保node运行一个Pod副本)
      • Job,Ctonjob(作业,周期性计划作业)
    • 一般来讲,一个pod内运行一个容器。一个pod内运行多个容器的情况一般为紧密关系型。例如:ELK日志分析,主容器运行nginx,边车容器运行logstash或者其他紧密相关的服务来辅助主容器完成任务。
    • pod是一个原则单元,一个pod内无论有多少容器,当把pod调用到node节点上时,一个pod内的容器只能运行在一个node之上。
    • 为了便于管理,pod支持标签。需要key以及key的值。
  • 存储卷,同一pod内的容器可以共享存储卷
  • AddOns 附加组件

kubernetes基础概念

构成

  • master/node
    • master:API Server,Scheduler,Controller-Manager
    • node:kubelet(与API Server进行交互),docker,kube-proxy
  • POD,Label,Label Selector
    • Label:key=value
    • Label Selector:

网络

  • 同一POD内的容器通过lo通信
  • 各POD之间的通信可以通过net转换、叠加网络

CNI

  • flannel:网络配置
  • calico:网络配置,网络策略
  • canel:网络配置,网络策略
  • ……

流程图

kubernetes基础概念