kubernetes架构之二

  • 时间:
  • 浏览:1
  • 来源:万人牛牛APP下载_万人牛牛官方

  Flannel为不同Node的Docker网桥配置不同的IP网段以保证Docker容器的IP在集群内唯一,越来越来越多Flannel会重新配置Docker网桥,需用先删除如果创建的Docker网桥;

  Docker: k8s Node是容器运行节点,需用运行Docker服务,目前k8s也支持Rocket(一款CoreOS开发的类Docker的开源容器引擎);

  kubernetes Node是运行节点,用于运行管理业务的容器,饱含以下组件:

  IaaS:即基础设施即服务,通过虚拟化和分布式存储等技术,实现对包括服务器、存储设备、网络设备等各种物理资源的抽象;从而形成了三个小 可扩展、可按需分配的虚拟资源池。最具代表性的IaaS产品有Amazon AWS,提供虚拟机EC2和云存储S3等服务;

  kubernetes Scheduler:负责集群的资源调度,为新建的Pod分配host。这偏离 工作独立成三个小 组件,因为还都能否 很方便地替换成例如的调度器;

  PaaS:平台即服务,为开发者提供了应用的开发环境和运行环境,将开发者从繁琐的IT环境管理中解放出来;PaaS主要面向的是软件专业人员;

  Kubelet: 负责管控容器,kubelet会从kuberenetes API Server接收Pod的创建请求,启动和停止容器,监控容器运行状态并汇报给Kubernetes API Server

四、k8s深入:

  kubernetes API Server: 作为k8s系统的入口,其封装了核心对象的增完整版查的操作,以REST API接口土方式提供给内部客户和内部组件调用,它维护的REST对象将持久化到Etcd中。

  k8s的网络模型要求每三个小 Pod都拥有三个小 扁平化共享网络命名空间的IP,成为PodIP, Pod不能直接通过PodIP跨网络与例如物理机和Pod进行通信。要实现k8s网络模型,需用在k8s集群中创建三个小 覆盖网络(Overlay Network),联通各个节点,目前可通过第三方网络插件来创建覆盖网络,例如:Flannel和Open vSwitch。

  k8s是容器集群管理系统,为容器化的应用提供资源调度、部署运行、容灾容错和服务发现等功能。其中涉及Pod、Replication Controller和Service这k8s基本偏离 的功能展示;

Job Controller  

  kubernetes Controller Manager:负责执行各种控制器,目前可能实现越来越来越多控制器来保证kubernetes的正常运行,主要的控制器如下:

三、k8s网络:

  SaaS:软件即服务,面向使用软件的终端用户。比如:在线使用的邮箱系统

Pod Autoscaler Controller

  Kubernetes Proxy:负责为Pod创建代理服务,Kuberenetes Proxy会从Kubernetes API Server获取所有的Service,并根据Service 信息创建代理服务,实现Service 到Pod的请求路由和转发,从而实现kubernetes如果的虚拟转发网络;