Kubernetes 以下簡稱 k8s,是類似hadoop中yarn的存在,對大規模集羣進行創建、刪除、升級、擴容的一層組件。
微軟Azure官方的教程:鏈接: https://pan.baidu.com/s/1AM6eq80Y72TuVF1yFXS5CQ 提取碼: j363
基本元素:
1. pod包含一個或多個container, 一個完整的app可以有多個pod
2. deployment包含pod部署的描述,用於pod內容的升級或擴容
3. service將pod映射爲對外提供服務的service
4. secret 加密的信息. secret是鍵值對,值必須是base64編碼
5. YAML定義k8s中元素的json格式的文件。
6. node是集羣除了master以外的節點,類似hadoop裏的slave節點
調度機制 k8s scheduler:
這個組件來決定一個pod會被具體運行在哪臺底層的VM上。決定的條件分成硬性條件和軟性條件。優先滿足硬性條件。
網絡:
參考:
https://blog.csdn.net/qq_21187515/article/details/101363521
https://blog.csdn.net/qq_21187515/article/details/101363521
https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79988685
clusterIP:service在cluster內部的IP
port:service暴露在clusterIP上的port
targetPort:代碼在容器層面監聽的port
nodePort:VM層面對外的端口(每個Service都會在Node節點上開通一個端口)
loadbalance模式:標準的對外監聽的模式,比較複雜,另起一篇單獨講述。
容器:
k8s的容器中的操作系統一般使用apline linux。容器的image可以發佈到docker或者雲的容器比如Azure ACR。
常用命令:
kubectl cluster-info
kubectl get nodes
kubectl get pods
kubectl get deployment
kubectl get svc