Kubernetes(k8s) 實驗總結

blob.png blob.png

 上面左邊是個人我的微信,如需進一步溝通,請加微信。  右邊是個人公衆號「Openstack私有云」,若有興趣,請關注。node


    在上篇博文《Kubernetes 入門學習》中提到了Katacoda實驗環境能夠進一步熟悉K8S的使用,具體網址是:web

    https://www.katacoda.com/courses/kubernetes/redis

    最近花了一些時間完成這些實驗場景,一共有17個實驗場景,每一個場景大概10分鐘左右,通過這些實驗,對K8S就有一個大致的瞭解。這些場景包含這些內容:docker

  •     啓動單個節點羣集服務器

    瞭解如何啓動包含DNS和Kube UI的單節點Minikube羣集微信

    

  •     使用Kubeadm啓動多節點羣集網絡

    使用Kubeadm引導Kubernetes集羣架構

    

  •     使用Kubectl部署容器app

    瞭解如何使用Kubectl啓動容器並使其可訪問less

    

  •     使用YAML部署容器

    瞭解如何使用YAML定義來部署容器

    

  •     部署留言簿Web應用程序示例

    本場景教您如何使用Kubernetes部署Guestbook示例

    

  •     網絡介紹

    瞭解可用的不一樣網絡方法

    

  •     建立入口路由

    瞭解如何定義基於主機和路徑的Ingress路由

    

  •     生存和準備健康檢查

    瞭解如何使用Liveness和Readiness探針確保容器健康

    

  •     開始使用CRI-O和Kubeadm

    瞭解如何部署基於CRI-O的Kubeadm羣集

    

  •     在Kubernetes上運行狀態服務

    瞭解如何在Kubernetes上運行有狀態服務

    

  •     使用Kubernetes管理祕密和密碼

    瞭解Kubernetes如何幫助確保機密

    

  •     用Kompose部署Docker Compose文件

    瞭解如何使用Kompose部署現有的Docker Compose定義

    

  •     從源代碼部署到Kubernetes

    如何在Kubernetes中從源代碼獲取正在運行的服務

    

  •     Helm包管理器

    使用Kubernetes的Helm Package Manager來部署Redis

    

  •     Helm(經典)包管理器

    使用Kubernetes的Helm(經典)包管理器來部署Redis

    

  •     在Kubernetes上安裝Weave Scope 

    瞭解如何在Kubernetes上運行Weave Scope 

    

  •     Kubeless入門

    瞭解如何使用Kubeless將無服務器功能部署到Kubernetes


    17個實驗涵蓋了k8s的安裝配置和使用,其中,對於實際使用頗有幫助的Helm能夠實現標準化模塊化功能組件(好比web服務、mariadb、redis等等)的自動化部署,包括自動化的鏡像下載並根據dockerfile製做本身的鏡像、上傳鏡像、自動配置標準化k8s的yaml部署配置文件。還有一個是k8s可視化組件Weave Scope,能夠實現對整個k8s集羣的web圖形界面管理,更加直觀方便的管理維護k8s集羣。

    

    通過實驗,我的感受k8s真的作到了上層應用和基礎架構脫離,原來須要考慮的平臺差別、基礎架構、雙機冗餘、容量擴展、軟件版本升級等等一系列很費人力和時間的事情,在k8s裏面所有被很是很是簡單的獲得瞭解決。

    k8s是基於容器管理docker,node節點相似於openstack的計算節點使用docker來完成對容器的承載,master相似於openstack的controller節點完成對node的管理以及對pod的調度、自動化健康監測、node節點資源的監控,以及其餘自動化的pod副本部署或者遷移。

    k8s的主要管理命令是kubectl,能夠完成大部分的k8s的管理任務,從概念上來講,若是要學習k8s,必定要先熟悉docker的使用,kubectl對pod的相關管理命令的結構和docker很是相似。

    開發人員使用k8s仍是有一些複雜,若是須要平滑高效的使用k8s,應該仍是須要使用Helm,Helm實現了大部分應用的標準模塊化,好比web應用,各種中間件應用,各種開源版的數據應用,可是須要解決網絡速度的問題,由於全部的應用都是由容器實現,通常容器文件都比較大,所以,後續使用須要考慮提早準備本地鏡像。

    平時k8s自己的監控和維護,能夠經過部署Weave Scope 來完成。

    對於k8s的應用場景,很是適用於應用複雜、軟件應用版本變更頻繁、資源使用變化大的互聯網企業,對於中小規模的IT系統,我的以爲仍是有一些小材大用。另外,也能夠考慮直接使用紅帽的k8s商業版Openshift,就不用本身部署k8s平臺,直接使用便可。

    我的以爲,對於k8s,應該要看作一個革命性的產品,由於它真正作到了上層應用於下層基礎架構解耦合,若是一個公司使用k8s架構,應用程序的維護就是一個個容器的維護和流動,能夠放在本地物理機上的k8s平臺,也能夠直接流動到公有云,而且自動化程度足夠高,能夠極大解放維護人員,使維護人員將更多的精力放到平臺架構方面。

相關文章
相關標籤/搜索