一、概念
- 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
負責将叢集外部的請求轉發到叢集的容器。