日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深入探究Kubernetes - 初识容器

發布時間:2023/12/4 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入探究Kubernetes - 初识容器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

2019828星期三

47篇原創

引言

最近Kubernetes比較火,新技術快速火起來,一定有它強大的優勢,Hr反饋,招聘時會Kubernetes的很少,風口上的Kubernetes一起學學?掃盲貼,參考《Kubernetes進階實踐》。
可以說,當今云計算最熱門的趨勢是容器,這是服務器虛擬化和云應用程序部署的基礎技術。

與傳統的虛擬機管理程序和基于虛擬機的方法相比,容器的關鍵優勢在于每個容器工作負載可以共享主機操作系統,而不是每個擁有自己的主機或客戶操作系統映像的虛擬機。虛擬機在內存中占用相當多的空間,并且需要更多時間(幾分鐘而不是幾分之一秒)來部署和配置。

1.為什么會出現Kubernetes

Kubernetes希臘語,舵手,飛行員之意。巨人的肩膀Google 2014年發布。Docker鏡像文件部署,復雜度雖然降低了,但以容器格式運行的應用程序間的協同卻成了一個新的亟待解決的問題,這種需求在微服務架構中表現得尤為明顯。結果,以Kubernetes為代表的容器編排系統應需而生。

2.容器與虛擬機的區別

容器與傳統的虛擬機管理程序和基于虛擬機的方法相比,容器的關鍵優勢在于每個容器工作負載可以共享主機操作系統,而不是每個擁有自己的主機或客戶操作系統映像的虛擬機。虛擬機在內存中占用相當多的空間。

容器由應用程序本身和它的環境依賴(庫和其他應用程序)兩部分組成,并在宿主機(Host)操作系統的用戶空間中運行,但與操作系統的其他進程互相隔離,它們的實現機制有別于諸如VMWare、KVM和Xen等實現方案的傳統虛擬化技術。容器與虛擬機的對比關系如圖所示由于同一個宿主機上的所有容器都共享其底層操作系統(內核空間),這就使得容器在體積上要比傳統的虛擬機小得多。

總結:

  • 部署快
  • 系統開銷小
  • 容易遷移:build once,run anywhere。
  • 降低復雜度:configure once,run anywhere。
  • 3.Kubernetes特性

    (1)自動裝箱建構于容器之上,基于資源依賴及其他約束自動完成容器部署且不影響其可用性,并通過調度機制混合關鍵型應用和非關鍵型應用的工作負載于同一節點以提升資源利用率。(2)自我修復(自愈)支持容器故障后自動重啟、節點故障后重新調度容器,以及其他可用節點、健康狀態檢查失敗后關閉容器并重新創建等自我修復機制。3)水平擴展支持通過簡單命令或UI手動水平擴展,以及基于CPU等資源負載率的自動水平擴展機制。4)服務發現和負載均衡Kubernetes通過其附加組件之一的KubeDNS(或CoreDNS)為系統內置了服務發現功能,它會為每個Service配置DNS名稱,并允許集群內的客戶端直接使用此名稱發出訪問請求,而Service則通過iptables或ipvs內建了負載均衡機制。(5)自動發布和回滾Kubernetes支持“灰度”更新應用程序或其配置信息,它會監控更新過程中應用程序的健康狀態,以確保它不會在同一時刻殺掉所有實例,而此過程中一旦有故障發生,就會立即自動執行回滾操作。(6)密鑰和配置管理Kubernetes的ConfigMap實現了配置數據與Docker鏡像解耦,需要時,僅對配置做出變更而無須重新構建Docker鏡像,這為應用開發部署帶來了很大的靈活性。此外,對于應用所依賴的一些敏感數據,如用戶名和密碼、令牌、密鑰等信息,Kubernetes專門提供了Secret對象為其解耦,既便利了應用的快速開發和交付,又提供了一定程度上的安全保障。(7)存儲編排Kubernetes支持Pod對象按需自動掛載不同類型的存儲系統,這包括節點本地存儲、公有云服務商的云存儲(如AWS和GCP等),以及網絡存儲系統(例如,NFS、iSCSI、GlusterFS、Ceph、Cinder和Flocker等)。(8)批量處理執行除了服務型應用,Kubernetes還支持批處理作業及CI(持續集成),如果需要,一樣可以實現容器故障后恢復

    4.集群架構

    一個典型的Kubernetes集群由多個工作節點(worker node)和一個集群控制平面(control plane,即Master),以及一個集群狀態存儲系統(etcd)組成。其中Master節點負責整個集群的管理工作,為集群提供管理接口,并監控和編排集群中的各個工作節點。各節點負責以Pod的形式運行容器,因此,各節點需要事先配置好容器運行依賴到的所有服務和資源,如容器運行時環境等。Kubernetes的系統架構如圖:

    美團點評集群管理與調度架構圖:

    總結:

    1.Kubernetes集群主要由Master和Node兩類節點組成。2.Master主要包含API Server、controller-manager、Scheduler和etcd幾個組件,其中API Server是整個集群的網關。3.Node主要由kubelet、kube-proxy和容器引擎等組件構成,kubelet是Kubernetes集群的工作于節點之上的代理組件。4.完整的Kubernetes集群還需要部署有CoreDNS(或KubeDNS)、Prometheus(或HeapSter)、Dashboard和Ingress Controller幾個附加組件。5.Kubernetes的網絡中主要存在四種類型的通信:同一Pod內的容器間通信、各Pod間的通信、Pod與Service間的通信,以及集群外部的流量同Service之間的通信。6.Kubernetes集群主要由Master和Node兩類節點組成。7。Master主要包含API Server、controller-manager、Scheduler和etcd幾個組件,其中API Server是整個集群的網關。8。Node主要由kubelet、kube-proxy和容器引擎等組件構成,kubelet是Kubernetes集群的工作于節點之上的代理組件。9。完整的Kubernetes集群還需要部署有CoreDNS(或KubeDNS)、Prometheus(或HeapSter)、Dashboard和Ingress Controller幾個附加組件。10.Kubernetes的網絡中主要存在四種類型的通信:同一Pod內的容器間通信、各Pod間的通信、Pod與Service間的通信,以及集群外部的流量同Service之間的通信。

    參考

  • 論文:《Large-scale cluster management at Google with Borg》
  • 美團點評Kubernetes集群管理實踐》https://tech.meituan.com/2019/08/22/kubernetes-cluster-management-practice.html
  • 《Kubernetes進階實踐》
  • 留言區互動

    告訴我你想了解哪方面的知識,我盡量更新。

    如果覺得對你有幫助,點贊轉發支持我。


    總結

    以上是生活随笔為你收集整理的深入探究Kubernetes - 初识容器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。