一、概念
- master 节点:主控节点,管理组件都运行在master节点上。
- node节点:计算节点,容器实例都运行在node 节点上。
- project 和namespace:继承自k8s的namespace概念和openshift自有的project 概念
- pod:一种特殊的容器。
- service:
- router与route:
- persistent storage:
- S2I:
二、master 节点介绍
master 节点上运行着众多集群的服务组建:
- api server :提供集群的web console以及restful api 服务。
- data store:数据源,集群的所有动态信息都存储在后端的一个etcd分布式数据库中,默认etcd安装在master上,也可以将etcd部署在集群之外。
- scheduler:调度控制器,负责按照用户输入的要求寻找合适的计算节点
- replication controller:负责监控容器数量,当发现容器数量少于部署定义数量时,出发新的部署。
三、node 节点介绍
- 主要负责介绍master节点指令,运行和维护docker容器
- master节点本身也是一个node节点,一般人为的关闭了容器运行功能。
- 通过oc get nodes 可以查看系统中的node节点信息。
四、project
- namespace:在k8s中使用命名空间概念来隔离资源。
- project:在openshift中,引入了project概念。
五、pod
- pod是一种特殊的容器,oc get pods 可以查看pod
- 可以近似的认为容器运行在pod内部,一个pod内部可以运行多个容器,pod内多个容器共享pod的网络及存储资源。
- 查看pod日志:oc logs
- 进入容器内部:oc rsh
- 常用的pod操作命令:
logs Print the logs for a resource
rsh Start a shell session in a pod
rsync Copy files between local filesystem and a pod
port-forward Forward one or more local ports to a pod
debug Launch a new instance of a pod for debugging
exec Execute a command in a container
proxy Run a proxy to the Kubernetes API server
attach Attach to a running container
run Run a particular image on the cluster
cp Copy files and directories to and from containers.
六、service介绍
- service对象与一个或者多个pod关联,每个service会分配一个ip地址,这个地址相对恒定,通过这个IP地址和端口,请求会被转发到pod相应的端口之上。
- service起到了代理的作用,在相互依赖的容器之间实现了解耦。
- oc get svc 查看servie
- service IP地址是一个虚拟IP,只有在集群内的节点和容器可以识别。
- 除了IP地址访问service,还可以通过域名访问service。
- master内置DNS服务器,负责解析这个域名
七、router
负责将集群外部的请求转发到集群的容器。