k8s實踐(二):基本概念、kubectl命令和資料分享

概念

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內部的服務發現和負載均衡

k8s實踐(二):基本概念、kubectl命令和資料分享

3. Kubernetes基本概念

Cluster

集羣是指由Kubernetes使用一系列的物理機、虛擬機和其他基礎資源來運行你的應用程序

Node

一個node就是一個運行着Kubernetes的物理機或虛擬機,並且pod可以在其上面被調度
k8s實踐(二):基本概念、kubectl命令和資料分享

Pod

一個pod對應一個由相關容器和卷組成的容器組

k8s實踐(二):基本概念、kubectl命令和資料分享

Label

一個label是一個被附加到資源上的鍵/值對,譬如附加到一個Pod上,爲它傳遞一個用戶自定的並且可識別的屬性。Label還可以被應用來組織和選擇子網中的資源

selector

是一個通過匹配labels來定義資源之間關係得表達式,例如爲一個負載均衡的service指定所目標Pod

Replication Controller

replication controller是爲了保證一定數量被指定的Pod的複製品在任何時間都能正常工作。它不僅允許複製的系統易於擴展,還會處理當pod在機器在重啓或發生故障的時候再次創建一個

Service

一個service定義了訪問pod的方式,就像單個固定的IP地址和與其相對應的DNS名之間的關係

k8s實踐(二):基本概念、kubectl命令和資料分享k8s實踐(二):基本概念、kubectl命令和資料分享

Volume

一個volume是一個目錄,可能會被容器作爲未見系統的一部分來訪問。Kubernetes volume 構建在Docker Volumes之上,並且支持添加和配置volume目錄或者其他存儲設備

Secret

Secret存儲了敏感數據,例如能允許容器接收請求的權限令牌

Name

用戶爲Kubernetes中資源定義的名字

Namespace

Namespace 好比一個資源名字的前綴。它幫助不同的項目、團隊或是客戶可以共享cluster,例如防止相互獨立的團隊間出現命名衝突

Annotation(註解)

相對於label來說可以容納更大的鍵值對,它對我們來說可能是不可讀的數據,只是爲了存儲不可識別的輔助數據,尤其是一些被工具或系統擴展用來操作的數據

二、kubectl命令

kubectl是Kubernetes裏的命令行接口,用它來控制Kubernetes集羣。
Kubectl的子命令主要分爲8個類別:

  • 基礎命令(初學者都會使用的)
  • 基礎命令(中級)
  • 部署命令
  • 集羣管理命令
  • 故障排查和調試命令
  • 高級命令
  • 設置命令
  • 其他命令

熟悉這些命令有助於大家來操作和管理kubernetes集羣。

k8s實踐(二):基本概念、kubectl命令和資料分享

三、資料分享

網站博客

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章