1. Kubernetes是什麼 Kubernetes中文版資料 Kubernetes是容器集群管理系統,是一個開源的平臺,可以實現容器集群的自動化部署、自動擴縮容、維護等功能。 通過Kubernetes我們可以: 快速部署應用 快速擴展應用 無縫對接新的應用功能 * 節省資源,優化硬體資源的使用 ...
1. Kubernetes是什麼
Kubernetes是容器集群管理系統,是一個開源的平臺,可以實現容器集群的自動化部署、自動擴縮容、維護等功能。
通過Kubernetes我們可以:
- 快速部署應用
- 快速擴展應用
- 無縫對接新的應用功能 * 節省資源,優化硬體資源的使用
2. Kubernetes的特點
可移植: 支持公有雲,私有雲,混合雲,多重雲(multi-cloud)
可擴展: 模塊化, 插件化, 可掛載, 可組合
自動化: 自動部署,自動重啟,自動複製,自動伸縮/擴展
3. 為什麼要使用容器
傳統的應用部署方式是通過插件或腳本來安裝應用。這樣做的缺點是應用的運行、配置、管理、所有生存周期將與當前操作系統綁定,這樣做並不利於應用的升級更新/回滾等操作,當然也可以通過創建虛機的方式來實現某些功能,但是虛擬機非常重,並不利於可移植性。
新的方式是通過部署容器方式實現,每個容器之間互相隔離,每個容器有自己的文件系統 ,容器之間進程不會相互影響,能區分計算資源。相對於虛擬機,容器能快速部署,由於容器與底層設施、機器文件系統解耦的,所以它能在不同雲、不同版本操作系統間進行遷移。
容器占用資源少、部署快,每個應用可以被打包成一個容器鏡像,每個應用與容器間成一對一關係也使容器有更大優勢,使用容器可以在build或release的階段,為應用創建容器鏡像,因為每個應用不需要與其餘的應用堆棧組合,也不依賴於生產環境基礎結構,這使得從研發到測試、生產能提供一致環境。類似地,容器比虛機輕量、更“透明”,這更便於監控和管理。
容器優勢總結:
- 快速創建/部署應用:與VM虛擬機相比,容器鏡像的創建更加容易。
- 持續開發、集成和部署:提供可靠且頻繁的容器鏡像構建/部署,並使用快速和簡單的回滾(由於鏡像不可變性)。
- 開發和運行相分離:在build或者release階段創建容器鏡像,使得應用和基礎設施解耦。
- 開發,測試和生產環境一致性:在本地或外網(生產環境)運行的一致性。
- 雲平臺或其他操作系統:可以在 Ubuntu、RHEL、CoreOS、on-prem、Google Container Engine或其它任何環境中運行。
- Loosely coupled,分散式,彈性,微服務化:應用程式分為更小的、獨立的部件,可以動態部署和管理。
- 資源隔離
- 資源利用:更高效
4. Kubernetes能做什麼?
可以在物理或虛擬機的Kubernetes集群上運行容器化應用,Kubernetes能提供一個以“容器為中心的基礎架構”,滿足在生產環境中運行應用的一些常見需求,如:
- 多個進程(作為容器運行)協同工作。(Pod)
- 存儲系統掛載
- Distributing secrets
- 應用健康檢測
- 應用實例的複製
- Pod自動伸縮/擴展
- Naming and discovering
- 負載均衡
- 滾動更新
- 資源監控
- 日誌訪問
- 調試應用程式
- 提供認證和授權