Kubernetes简介
Kubernetes是Google开源的Container集群管理工具, 是Google管理Container经验的开源实现, 通过Kubernetes可以管理多个host 上Container的生命周期, 运行在Container里的服务以及对运行在Container里服务的LoadBalance控制, Kubernetes使得Container的管理更加方便. Kubernetes由API server, Controller Manager, Etcd, Kubelet, Proxy, Kubcfg几个组件构成, 在详细介绍这些组件之前,我们先来介绍如下几个关于Kubernetes的概念:
- Pod, 所谓Pod就是一组运行在同一台Host上Container的集合.
- Label, Label是key/value键值对, 如:name="redis-master", 每个Pod可以设置一组labels, 通过labels可松散耦合地管理一组Pod, 也可通过label selector鉴别一组Pod. 在当前Kubernetes版本中,Kubernetes使用label selector来跟踪services和replicationController的成员.
- services, 所谓services是给运行在每个Minion(Host)的Proxy上具有名字并且指向特定的一个或一组Pods的配置单元, 可 通过label selector来定义一组Pods的services.
- replicationController, replicationController包含一个Pod模板, 而且replicationController会确保任何时候指定replicas数量的Pod在运行, 如果Pod多于replicas, replicationController会删除, 反之会增加, replicationController监控的Pods也是通过label selector来定义的.