華為云云原生王者之路集訓營(黃金-第三章和第四章)
第三章 Kubernetes系統快速入門
1.kubernetes介紹
云計算的發展歷程
“云”中的資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。這種特性經常被稱為像水電一樣使用IT基礎設施。
kubernets概覽
模型對象
1.Pod? 能夠創建、調度和管理最小部署單元
2.Service? 一個Pod的邏輯集合和訪問這個集合的策略
3.Deployment? 無狀態工作負載????????? StatefulSet? 有狀態工作負載
...
增刪改查? apiserver
功能組件?? Master:?? apiserver??????? Scheduler????????? Controller? Manager
Node: Kubelet????? Kube-proxy
功能特性: Pod調度? 部署啟動? 運行監控? 服務發現? 升級運維? 擴容縮容
關鍵概念-Pod
在Kubernetes中,Pods是能夠創建、調度、和管理的最小部署單元,是一組容器的集合, 而不是單獨的應用容器。
同一個Pod里的容器共享同一個網絡命名空間,IP地址及 端口空間。
從生命周期來說,Pod是短暫的而不是長久的應用。Pods被調度到節點,保持在這個節點上直到被銷毀。
POD實例:
{
"kind": "Pod",
"apiVersion": "v1",
"metadata": {
"name": "redis-django",
"labels":{
"app": "webapp"
}
},
"spec":{
"containers": [
{
name": "key-value-store",
"image": "redis"
},
{
"name": "frontend",
"image": "django"
}
]
}
}
Pod詳解-容器(Containers)
Infrastructure Container:基礎容器
1.用戶不可見,無需感知
2.維護整個Pod網絡空間
InitContainers:初始化容器,一般用于服務等待處理以及注冊Pod信息等
1.先于業務容器開始執行
2.順序執行,執行成功退出(exit0) ,全部執行成功后開始啟動業務容器
Containers:業務容器(Tomcat,nginx等)
并行啟動,啟動成功后一直Running
容器基本組成:
鏡像部分: 鏡像地址和拉取策略 ? ? ? 拉取鏡像的認證憑據
啟動命令:
command:替換docker容器的entrypoint
args: 作為docker容器entrypoint的入參
計算資源:
請求值:調度依據
限制值:容器最大能使用的規格
Pod詳解-外部輸入
Pod可以接收的外部輸入方式:環境變量、配置文件以及密鑰。
環境變量:使用簡單,但一旦變更后必須重啟容器。
Key-value 自定義???? From 配置文件(configmap)???? From密鑰(Secret)
以卷形式掛載到容器內使用,權限可控。? 配置文件(configmap)????? 密鑰(secret)
Pod與工作負載的關系
通過label-selector和owerReference 相關聯
Pod 通過工作負載實現應用的運維,如伸縮、升級等
關鍵工作負載-ReplicaSet
ReplicaSet-----副本控制器
確保Pod的一定數量的份數(replica)在運行。如果超過這個數量,控制器會殺死一些,如果少了,控制器會啟動一些。
ReplicaSet用于解決pod的擴容和縮容問題(HA,工作負載等)
通常用于無狀態應用
關鍵工作負載--Deployment
Kubernetes Deployment提供了官方的用于更新Pod和Replica Set (下一代的Replication Controller)的方法,您可以在Deployment對象中只描述您所期望的理想狀態(預期的運行狀態),Deployment控制器為您將現在的實際狀態轉換成您期望的狀態;
Deployment集成了上線部署、滾動升級、創建副本、暫停上線任務,恢復上線任務,回滾到以前某一版本(成功/穩定)的Deployment等功能,在某種程度上,Deployment可以幫我們實現無人值守的上線,大大降低我們的上線過程的復雜溝通、操作風險。
Deployment的典型用例:
1.使用Deployment來啟動(上線/部署)一個Pod或者ReplicaSet
2.檢查一個Deployment是否成功執行
3.更新Deployment來重新創建相應的Pods(例如,需要使用一個新的Ilmage).
4.如果現有的Deployment不穩定,那么回滾到一個早期的穩定的Deployment版本
users:命令行,接口為主
master:
etcd 保存了整個集群的狀態;
apiserver 提供了資源操作的唯一入口,并提供認證、授權、訪問控制、API 注冊和發現等機制;
controller manager 負責維護集群的狀態,比如故障檢測、自動擴展、滾動更新等;
scheduler 負責資源的調度,按照預定的調度策略將 Pod 調度到相應的機器上;
考慮HA或多活會有多個master,非實驗環境下node都會有很多
Kubernetes Controllers
Kubernetes的Default scheduler
為 pod 找到一個合適的 Node
Default scheduler 基于列隊的調度器,一次調度一個pod,調度時刻全局最優
第四章? Kubernetes集群管理
1.Kubernetes集群生命周期管理介紹
1.kubernetes集群的部署形態
自建模式:需要用戶管理,可操作性最大,k8s用戶節點,k8s控制平面,k8s對接云服務和集群管理對接基礎設施
托管模式(CCE):需要管理業務和k8s用戶節點,聚焦于業務
Serverless模式(CCI):只需要管理業務。
kubernetes集群-常見部署方式
本地服務器:minikube,本地開發調試
自備服務器:kubeadm,kops,kubespray ,第三方托管,需要動手,學習
云服務CCE:容器平臺集群管理 + 云基礎設施
云服務CCI:容器平臺serverless——云基礎設施——服務器。
Kubernetes部署工具:https://kubernetes.io/zh/docs/setup/production-environment/tools/
Turnkey 云解決方案:https://kubernetes.io/zh/docs/setup/production-environment/turnkey-solutions
1.高可用(滿足業務容災需求)2.彈性伸縮(滿足動態資源需求)3.安全和權限管理(滿足組織權限管理需求)
自建與運維k8s集群優點是高靈活性,可定制開發。缺點是重資產,高投入,運維成本高,跨云遷移困難。(推薦開發者學習)
使用CNCF認證k8s容器平臺優點是輕資產,低投入,運維成本低,跨云遷移方便。缺點是靈活性較低,迭代依賴云產商。(企業生產)
Kubernetes生產環境:Kubernetes 文檔 入門 生產環境
CCE集群:控制平面托管,深度對接云基礎設施,云原生全棧
云容器引擎與其他云服務的關系
https://support.huaweicloud.com/productdesc-cce/cce_productdesc_0008.html
集群概述:云容器引擎 CCE > 用戶指南> 集群管理> 集群概述
生命周期:https://support.huaweicloud.com/usermanual-cce/cce_01_0005.html
cce集群網絡規劃實踐:https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00004.html
2.Kubernetes節點生命周期介紹
業務負載(POD)是資源的消費者
節點(Node)是業務負載的載體
云產商(Provider)是基礎資源的生產者
通過節點池管理集群節點資源
節點池:集群中具有相同配置的一組節點,一個節點包含一個節點或多個節點
CCE集群中支持多種方式添加節點:
節點管理:創建節點(通過CCE創建服務器)
節點管理:納管節點(已創建的服務器)
節點池管:更新期望節點數
默認節點池:創建節點、納管節點? ? 節點池:節點池節點
購買集群:https//suport.huaweicloud.com/usermanual-cce/cce_01_0298.html
小結:
1.了解Kubernetes節點的基本概念
2.了解CCE集群中擴容節點的3種方式
3.演示:使用節點池管理快速地擴容節點資源
4.初步了解了Kubernetes集群的組件
5.初步了解了集群常見的部署形態和方式
6.以華為云CCE服務為例,初步了解了如何通過云容器平臺快速搭建Kubernetes集群、添加Node節點。
節點概述:https://support.huaweicloud.com/usermanual-cce/cce_01_0180.html
購買節點: https://support.huaweicloud.com/usermanual-cce/cce_01_0033.html
節點池概述: https://support.huaweicloud.com/usermanual-cce/cce_01_0081.html
創建節點池: https://support.huaweicloud.com/usermanual-cce/cce_01_0012.html
管理節點池: https://support.huaweicloud.com/usermanual-cce/cce_01_0222.html
Kubernetes 云容器引擎 CCE 容器
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。