OpenShift-核心组件和概念

Master节点介绍

master 节点上运行着众多集群的服务组建:

  1. api server :提供集群的web console以及restful api 服务。

  2. data
    store:数据源,集群的所有动态信息都存储在后端的一个etcd分布式数据库中,默认etcd安装在master上,也可以将etcd部署在集群之外。

  3. scheduler:调度控制器,负责按照用户输入的要求寻找合适的计算节点

  4. replication
    controller:负责监控容器数量,当发现容器数量少于部署定义数量时,出发新的部署。

Node节点介绍

  1. 主要负责介绍master节点指令,运行和维护docker容器

  2. master节点本身也是一个node节点,一般人为的关闭了容器运行功能。

  3. 通过oc get nodes 可以查看系统中的node节点信息。

Project

  1. namespace:在k8s中使用命名空间概念来隔离资源。

  2. project:在openshift中,引入了project概念。

Pod

  1. pod是一种特殊的容器,oc get pods 可以查看pod

  2. 可以近似的认为容器运行在pod内部,一个pod内部可以运行多个容器,pod内多个容器共享pod的网络及存储资源。

  3. 查看pod日志:oc logs

  4. 进入容器内部:oc rsh

Service

  1. service对象与一个或者多个pod关联,每个service会分配一个ip地址,这个地址相对恒定,通过这个IP地址和端口,请求会被转发到pod相应的端口之上。

  2. service起到了代理的作用,在相互依赖的容器之间实现了解耦。

  3. oc get svc 查看servie

  4. service IP地址是一个虚拟IP,只有在集群内的节点和容器可以识别。

  5. 除了IP地址访问service,还可以通过域名访问service。

  6. master内置DNS服务器,负责解析这个域名

Router

  1. 负责将集群外部的请求转发到集群的容器。