回覆列表
-
1 # 酷酷朗
-
2 # 動力節點Java學院
K8S應用和執行時平臺是怎樣解耦的?等你學完這套影片你就明白了。
什麼是K8s?
全稱Kubernetes,是開源容器應用自動化部署技術,也就是大家經常說的k8s。課程本身是偏向運維方向,是運維必須要學習和掌握的一個技術。但開發人員平時開發後可能要測試部署時也會用到Kubernetes,所以需要咱們開發人員學習一下內容。
什麼是Kubernetes?
Kubernetes(k8s)是自動化容器操作的開源平臺,這些操作包括部署,排程和節點叢集間擴充套件。如果你曾經用過Docker容器技術部署容器,那麼可以將Docker看成Kubernetes內部使用的低級別元件。Kubernetes不僅僅支援Docker,還支援Rocket,這是另一種容器技術。
使用Kubernetes可以:
自動化容器的部署和複製隨時擴充套件或收縮容器規模將容器組織成組,並且提供容器間的負載均衡很容易地升級應用程式容器的新版本提供容器彈性,如果容器失效就替換它,等等...學習須知:本次課程透過比較精簡的一種方式,在用比較短的篇幅比較少的時間下,讓大家快速的掌握Kubernetes!本次課程工34節,學習時長需要3天。
注意!本課程需掌握Docker技術才能學習,本課程採用的Kubernetes版本為:1.19.4
教程為:
kubernetes,簡稱K8S,是用8代替8個字元“ubernete”而成的縮寫。是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單並且高效(powerful),Kubernetes提供了應用部署,規劃,更新,維護的一種機制。
1
Q:是不是可以這樣說,Kubernetes的編排就像一個流程圖?一系列一個接一個的動作?
A:理想情況下,這是對的,但是實際上它並不是這樣 —— 反正不是直接如此。當你在YAML檔案裡包含了多個定義時,沒有辦法保證它們會以怎樣特定的順序去執行。要解決這個問題實現“流程圖”效果的話,你可以看下Kubernetes新的APPController。
2
Q:Docker/Kubernetes可以用在Windows服務或者實際的應用,資料庫,還有儲存嗎,或者說你可以建立windows的虛擬機器然後在Kubernetes下面跑嗎?
A:聽上去你所說的“實際應用”真的有點像是在說“寵物”類應用。如果是的話,那麼最好還是用虛擬機器來跑吧。
3
Q:應用和執行時平臺是怎樣解耦的?
A:容器是設計成自包含的。因此你可以建立一個包含了系統的所有內容,讓它擁有完備的移植性。我們也應該明白一點,應用程式不可能完全和執行時平臺解耦。舉個例子,你如果有一個應用是用Mono(Linux版本的.NET)寫的,你可以用Linux上的Kubernetes來執行它,但是直接用Windows Server容器跑的話就只能執行在Windows上的Kubernetes了。
4
Q:有什麼好辦法來學習YAML嗎?因為它對於Docker Compose,Kubernetes,還有許多其他接下來在SDN領域出現的應用來說都是非常重要的。
5
Q:雖然容器是分層的,在宿主作業系統這塊每個分層也是重複部署的。Openstack會為此提供一個輕量級的容器宿主虛擬機器嗎?
A:與其操心有沒有一個輕量級的容器宿主虛擬機器映象,還不如考慮下用一個最小集作業系統作為容器的基礎層,比如Alpine Linux。