【智簡聯接,萬物互聯】華為云·云享專家董昕:Serverless和微服務下, IoT的變革蓄勢待發
758
2022-05-30
云原生之路02之Kubernetes
第三章 Kubernetes系統快速入門
云中資源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按需付費,像水電一樣使用IT基礎設施
K8S 架構分層
生態系統: 不屬于K8S,第三方
接口層:工具,UI,SDK庫 等外圍工具,外部可提供自有的實現
治理層:策略執行和自動化編排
應用層:部署(無狀態/有狀態應用,批處理,集群應用等)和路由(服務發現,DNS解析等),會提供默認實現,可以替換為各自的實現,但必須通過一致性測試
內核層:k8s最核心功能,對外提供API構建高層的應用,對內提供插件式應用執行環境,為必選模塊。等同于Linux的Kernel
Kuberbets概覽
模型對象
Pod:能夠創建,調度和管理的最小部署單元
Service:一個Pods的邏輯集合和訪問這個集合的策略
Deployment:無狀態工作負載
StatefulSet:有狀態工作負載
…
增刪改查–apiserver
功能組件
Master:
apiserver
Scheduler: Pod調度
Controller Mannager: 升級運維、擴容縮容
Node
kubelet: 部署啟動、運行監控
Kube-proxy: 服務發現
功能特性
Pod調度
部署啟動
運行監控
服務發現
升級運維
擴容縮容
Pod
Pods是能夠創建,調度和管理的最小部署單元,是一組容器的集合
同一個pod里的容器共享同一個網絡命名空間,IP地址及端口空間。
pod是短暫的應用,pods被調度到節點,保持在這個節點上直到被銷毀。
Infrastructure Container:基礎容器
用戶不可見,無需感知
維護整個pod網絡空間
InitContainers:初始化容器:用于服務等待處理以及注冊pod信息等
先于業務容器開始執行
順序執行,執行成功退出,全部執行成功后開始其他業務容器。
Containers:業務容器
并行啟動,啟動成功后一直運行Running。
鏡像部分
鏡像地址和拉取策略
拉取鏡像的認證憑據
啟動命令
command:替換docker容器的entrypoint
args:作為docker容器entrypoint的入參
計算資源
請求值:調度依據
限制值:容器最大能使用的規格
Pod可以接收的外部輸入方式:環境變量,配置文件以及密鑰
環境變量:使用簡單,但一旦變更后必須重啟容器
Key-value 自定義
From 配置文件(configmap)
From 密鑰(Secret)
以卷形式掛載到容器內使用,權限可控
配置文件(configmap)
秘鑰(Secret)
通過label-selector和owerReference相關聯
Pod通過工作負載實現應用的運維,如伸縮,升級等。
關鍵工作負載 ReplicaSet
ReplicaSet-副本控制器
確保Pod的一定數量的份數(replica)在運行。如果超過這個數量,控制器會殺死一些,如果少了,控制器會啟動一些
ReplicaSet用于解決pod的擴容和縮容問題
通常用于無狀態應用
關鍵工作負載 Deployment
更新Pod 和 ReplicaSet
集成了上線部署、滾動升級、創建副本、暫停上線任務、恢復上線任務、回滾到以前某一版本(成功/穩定)的Deployment等功能。無人值守的上線,避免溝通、操作的風險
K8S系統組件
為 pod 找到一個合適的 Node
Default scheduler 基于列隊的調度器,一次調度一個pod,調度時刻全局最優
Demo 城市天氣預報
Kubernetes 云原生
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。