Spring系列學習之Spring Cloud Kubernetes容器編排應用管理
英文原文:https://spring.io/projects/spring-cloud-kubernetes
目錄
概述
kubernetes
kubernetes,簡稱K8s,是用8代替8個字元“ubernete”而成的縮寫。是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單並且高效(powerful),Kubernetes提供了應用部署,規劃,更新,維護的一種機制。 [1]
傳統的應用部署方式是通過外掛或指令碼來安裝應用。這樣做的缺點是應用的執行、配置、管理、所有生存週期將與當前作業系統繫結,這樣做並不利於應用的升級更新/回滾等操作,當然也可以通過建立虛擬機器的方式來實現某些功能,但是虛擬機器非常重,並不利於可移植性。
新的方式是通過部署容器方式實現,每個容器之間互相隔離,每個容器有自己的檔案系統 ,容器之間程序不會相互影響,能區分計算資源。相對於虛擬機器,容器能快速部署,由於容器與底層設施、機器檔案系統解耦的,所以它能在不同雲、不同版本作業系統間進行遷移。
容器佔用資源少、部署快,每個應用可以被打包成一個容器映象,每個應用與容器間成一對一關係也使容器有更大優勢,使用容器可以在build或release 的階段,為應用建立容器映象,因為每個應用不需要與其餘的應用堆疊組合,也不依賴於生產環境基礎結構,這使得從研發到測試、生產能提供一致環境。類似地,容器比虛擬機器輕量、更“透明”,這更便於監控和管理。
Kubernetes是Google開源的一個容器編排引擎,它支援自動化部署、大規模可伸縮、應用容器化管理。在生產環境中部署一個應用程式時,通常要部署該應用的多個例項以便對應用請求進行負載均衡。
在Kubernetes中,我們可以建立多個容器,每個容器裡面執行一個應用例項,然後通過內建的負載均衡策略,實現對這一組應用例項的管理、發現、訪問,而這些細節都不需要運維人員去進行復雜的手工配置和處理。
Kubernetes 特點
-
可移植: 支援公有云,私有云,混合雲,多重雲(multi-cloud)
-
可擴充套件: 模組化, 外掛化, 可掛載, 可組合
-
自動化: 自動部署,自動重啟,自動複製,自動伸縮/擴充套件
Kubernetes 元件
-
1Master 元件
-
1.1kube-apiserver
-
1.2ETCD
-
1.3kube-controller-manager
-
1.4cloud-controller-manager
-
1.5kube-scheduler
-
1.6外掛 addons
-
1.6.1DNS
-
1.6.2使用者介面
-
1.6.3容器資源監測
-
1.6.4Cluster-level Logging
-
-
2節點(Node)元件
-
2.1kubelet
-
2.2kube-proxy
-
2.3docker
-
2.4RKT
-
2.5supervisord
-
2.6fluentd
-
本文介紹了Kubernetes叢集所需的各種二進位制元件。
https://baike.baidu.com/item/kubernetes/22864162?fr=aladdin
快速開始
使用Spring Initializr引導您的應用程式。
學習
文件
每個Spring專案都有自己的; 它詳細解釋瞭如何使用專案功能以及使用它們可以實現的功能。
2.1.0 RC1 PRE CURRENT | Reference Doc. | API Doc. |
1.0.0 RC2 PRE CURRENT | Reference Doc. | API Doc. |