K8s介绍和特性
K8S概述
kubernetes,簡稱K8s,是用8 代替8 個字符“ubernete”而成的縮寫。是一個開源的,用于管理云平臺中多個主機上的容器化的應用,Kubernetes 的目標是讓部署容器化的應用簡單并且高效(powerful),Kubernetes 提供了應用部署,規劃,更新,維護的一種機制。
傳統的應用部署方式是通過插件或腳本來安裝應用。這樣做的缺點是應用的運行、配置、管理、所有生存周期將與當前操作系統綁定,這樣做并不利于應用的升級更新/回滾等操作,當然也可以通過創建虛擬機的方式來實現某些功能,但是虛擬機非常重,并不利于可移植性。
新的方式是通過部署容器方式實現,每個容器之間互相隔離,每個容器有自己的文件系統,容器之間進程不會相互影響,能區分計算資源。相對于虛擬機,容器能快速部署,由于容器與底層設施、機器文件系統解耦的。
總結:
- K8s是谷歌在2014年發布的容器化集群管理系統
- 使用k8s進行容器化應用部署
- 使用k8s利于應用擴展
- k8s目標實施讓部署容器化應用更加簡潔和高效
K8S概述
Kubernetes 是一個輕便的和可擴展的開源平臺,用于管理容器化應用和服務。通過Kubernetes 能夠進行應用的自動化部署和擴縮容。在Kubernetes 中,會將組成應用的容器組合成一個邏輯單元以更易管理和發現。
Kubernetes 積累了作為Google 生產環境運行工作負載15 年的經驗,并吸收了來自于社區的最佳想法和實踐。
K8S功能
自動裝箱
基于容器對應用運行環境的資源配置要求自動部署應用容器
自我修復(自愈能力)
當容器失敗時,會對容器進行重啟
當所部署的Node節點有問題時,會對容器進行重新部署和重新調度
當容器未通過監控檢查時,會關閉此容器直到容器正常運行時,才會對外提供服務
?如果某個服務器上的應用不響應了,Kubernetes會自動在其它的地方創建一個
水平擴展
通過簡單的命令、用戶UI 界面或基于CPU 等資源使用情況,對應用容器進行規模擴大或規模剪裁
當我們有大量的請求來臨時,我們可以增加副本數量,從而達到水平擴展的效果
當黃色應用過度忙碌,會來擴展一個應用
服務發現
用戶不需使用額外的服務發現機制,就能夠基于Kubernetes 自身能力實現服務發現和負載均衡
對外提供統一的入口,讓它來做節點的調度和負載均衡, 相當于微服務里面的網關?
滾動更新
可以根據應用的變化,對應用容器運行的應用,進行一次性或批量式更新
添加應用的時候,不是加進去就馬上可以進行使用,而是需要判斷這個添加進去的應用是否能夠正常使用
版本回退
可以根據應用部署情況,對應用容器運行的應用,進行歷史版本即時回退
類似于Git中的回滾
密鑰和配置管理
在不需要重新構建鏡像的情況下,可以部署和更新密鑰和應用配置,類似熱部署。
存儲編排
自動實現存儲系統掛載及應用,特別對有狀態應用實現數據持久化非常重要
存儲系統可以來自于本地目錄、網絡存儲(NFS、Gluster、Ceph 等)、公共云存儲服務
批處理
提供一次性任務,定時任務;滿足批量數據處理和分析的場景
總結
- 上一篇: SpringSecurity案例之oau
- 下一篇: K8s集群架构组件