Kubernetes入门
簡介
它是一個全新的基于容器技術的分布式解決方案,基于強大的自動化機制解決傳統系統架構中負載均衡和實施部署的問題,從而節省了30%開發成本,其次具有完備的集群能力,
包括服務注冊、服務發現、故障的發現和修復、服務滾動升級、在線擴容、健康監測等能力。使用kubernetes可以是開發人員更多精力在業務實現上,同時全面的擁抱微服務架構
?
架構
?
基本概念和術語
1、master 集群的控制節點。
每個kubernetes集群都需要有個master節點負責整個集群的管理和控制。mater節點包括一組關鍵進程:
- kube-apiserver 資源增刪改查操作的入口,門衛
- kube-controller-manage 所有資源的自動化控制中心,大總管
- kube-schedule 負責資源的調度,調度室
?
2、node 集群的負載節點
每個node都會被master分配一定的工作負載(容器),當node停止運行后,master將容器調度到其他node,node節點包括一組關鍵進程:
- kubelet 負責pod對應容器的創建、啟停任務
- kube-proxy 實現service通信和負載均衡
- docker engine docker引擎負責本機的容器的創建和管理
常用命令
查看集群節點
kubectl get nodes
查看節點詳細信息
kubectl describe node xxx
3、pod 資源調用基本單位
?
每個pod包含一個根容器(Pause) 容器和其他若干的業務容器,其中根容器的狀態代表了容器整體的狀態,業務容器共享Pause容器的IP和掛在的Volumn 。集群中每個pod都分配了唯一的IP,稱pod ip , 一個pod里的多個容器共享Pod IP地址。
pod某個容器停止,k8s檢測并重啟該pod中的所有容器,所以適合一個POD中存放一個業務相關的容器
?
?
(1) Replication Controller (rc) 副本的數量在任何時刻都達到期望值
rc定義包括如下幾個部分:
-
- pod期待的副本數
- 用于篩選目標Pod的label Selector
- 副本數小于期望數量時候,創建新的副本‘
?
例子:定義了在kubenetes集群中 tier: frontend的副本只有一個
?
?
(2)Replication Set (rs) 下一代的RC
與RC區別是RS支持集合類型的Label Selector,而rc只支持基于等式的Label Selector。其他特點類型。
?
(3)Label和Label Selector
Label和Label Selector概念,kubernetes可以為對應的資源(pod,rc,service,deployment)設置key=value形式的label,簡單理解就是分類。同時label selector可以根據指定的label與資源進行管理。例如service可以根據label selector選擇具有對應label的pod進行負載均衡。label selector分為等式形式(env=test)和集合形式(env not in[test,dev])
?
?
(4)Deployment 在rs的基礎上增加服務啟動狀態的控制和統計
在rc的基礎上進行了一次升級,更好解決了服務編排問題。可以知道當前POD的“部署的進度”
常用命令
創建Deployment
kubectl create -f tomcat-deployment.yaml
查看信息’
kubectl get deployments
?
(5)service kubernetes的核心資源對象,POD RC RS等資源對象都是為service提供服務
kubernetes里面每個service就是我們所說的微服務。
?
?
-
- rc的作用是保證Service的服務能力和服務質量始終處于預期的biaozhun
- service與后端的副本集群通過label selector做負載均衡
service一旦創建,kubernetes就會自動為它分配一個可用的Cluster IP,并且整個service的生命周期內不會改變,service name 和 service ip DNS映射解決了服務發現問題
常用命令
查看service
kubectl get svc -n XXX
創建service
kubectl create -f xxx
?
轉載于:https://www.cnblogs.com/mxmbk/p/9277554.html
總結
以上是生活随笔為你收集整理的Kubernetes入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求昨日重现歌词!
- 下一篇: 1996年的五粮液现在值多少钱