概念
1. Kubernetes簡介
Kubernetes是谷歌開源的容器集羣管理系統,是Google多年大規模容器管理技術Borg的開源版本,主要功能包括:
- 基於容器的應用部署、維護和滾動升級
- 負載均衡和服務發現
- 跨機器和跨地區的集羣調度
- 自動伸縮
- 無狀態服務和有狀態服務
- 廣泛的 Volume 支持
- 插件機制保證擴展性
Kubernetes 發展非常迅速,已經成爲容器編排領域的領導者。
2. Kubernetes核心組件
Kubernetes 主要由以下幾個核心組件組成:
- etcd 保存了整個集羣的狀態;
- apiserver 提供了資源操作的唯一入口,並提供認證、授權、訪問控制、API註冊和發現等機制;
- controller manager 負責維護集羣的狀態,比如故障檢測、自動擴展、滾動更新等;
- scheduler 負責資源的調度,按照預定的調度策略將Pod調度到相應的機器上;
- kubelet 負責維護容器的生命週期,同時也負責Volume(CVI)和網絡(CNI)的管理;
- Container runtime 負責鏡像管理以及Pod和容器的真正運行(CRI);
- kube-proxy 負責爲Service提供cluster內部的服務發現和負載均衡
3. Kubernetes基本概念
Cluster
集羣是指由Kubernetes使用一系列的物理機、虛擬機和其他基礎資源來運行你的應用程序
Node
一個node就是一個運行着Kubernetes的物理機或虛擬機,並且pod可以在其上面被調度
Pod
一個pod對應一個由相關容器和卷組成的容器組
Label
一個label是一個被附加到資源上的鍵/值對,譬如附加到一個Pod上,爲它傳遞一個用戶自定的並且可識別的屬性。Label還可以被應用來組織和選擇子網中的資源
selector
是一個通過匹配labels來定義資源之間關係得表達式,例如爲一個負載均衡的service指定所目標Pod
Replication Controller
replication controller是爲了保證一定數量被指定的Pod的複製品在任何時間都能正常工作。它不僅允許複製的系統易於擴展,還會處理當pod在機器在重啓或發生故障的時候再次創建一個
Service
一個service定義了訪問pod的方式,就像單個固定的IP地址和與其相對應的DNS名之間的關係
Volume
一個volume是一個目錄,可能會被容器作爲未見系統的一部分來訪問。Kubernetes volume 構建在Docker Volumes之上,並且支持添加和配置volume目錄或者其他存儲設備
Secret
Secret存儲了敏感數據,例如能允許容器接收請求的權限令牌
Name
用戶爲Kubernetes中資源定義的名字
Namespace
Namespace 好比一個資源名字的前綴。它幫助不同的項目、團隊或是客戶可以共享cluster,例如防止相互獨立的團隊間出現命名衝突
Annotation(註解)
相對於label來說可以容納更大的鍵值對,它對我們來說可能是不可讀的數據,只是爲了存儲不可識別的輔助數據,尤其是一些被工具或系統擴展用來操作的數據
二、kubectl命令
kubectl是Kubernetes裏的命令行接口,用它來控制Kubernetes集羣。
Kubectl的子命令主要分爲8個類別:
- 基礎命令(初學者都會使用的)
- 基礎命令(中級)
- 部署命令
- 集羣管理命令
- 故障排查和調試命令
- 高級命令
- 設置命令
- 其他命令
熟悉這些命令有助於大家來操作和管理kubernetes集羣。
三、資料分享
網站博客
1.Kubernetes官網
2.Kubernetes Documentation
3.Kubernetes中文社區
4.源碼
5.Kubernetes(K8S)中文文檔
6.每天5分鐘玩轉Kubernetes
7.Kubernetes 指南
kubectl參考資料:
1.https://www.bookstack.cn/read/Kubernetes-zh/66.md
2.https://cheatsheet.dennyzhang.com/cheatsheet-kubernetes-a4
3.https://kubernetes.io/docs/reference/kubectl/kubectl/
4.https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get
5.https://feisky.gitbooks.io/kubernetes/components/kubectl.html?h=kubectl
書籍
1.《Kubernetes權威指南 從Docker到Kubernetes實踐全接觸》
2.《Kubernetes in Action中文版》
3.《kubernetes-chinese-docs》
4.《Kubernetes進階實戰》
5.《kubernetes手冊2017最新版》
6.《基於Kubernetes的容器雲平臺實戰》
7.《Docker 容器與容器雲(第2版)》
8.《Kubernetes指南》
下載鏈接:https://pan.baidu.com/s/1YsA2-X1h0mFQ3rX6tb8WOg
提取碼:b7f1