日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
以卡通的方式了解Kubernetes

以卡通的方式了解Kubernetes

作者:聞數(shù)起舞 2019-12-12 10:46:15

云計算 最近,我開始了Kubernetes之旅,希望更好地了解其內(nèi)部。 我在這些方面做了一個演講。

成都創(chuàng)新互聯(lián)公司專注于廬陽企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設公司,商城網(wǎng)站建設。廬陽網(wǎng)站建設公司,為廬陽等地區(qū)提供建站服務。全流程定制網(wǎng)站設計,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務

 最近,我開始了Kubernetes之旅,希望更好地了解其內(nèi)部。 我在這些方面做了一個演講。

容器

在我們嘗試了解Kubernetes之前,讓我們花一點時間來澄清什么是容器以及它們?yōu)槭裁慈绱耸軞g迎。 畢竟,在不知道容器是什么的情況下談論容器編排器(Kubernetes)是毫無意義的。

Container

"容器"是一個用來存放您放入的所有物品的容器。

像應用程序代碼,依賴庫以及它的依賴關系一直到內(nèi)核。 這里的關鍵概念是隔離。 將所有內(nèi)容與其余內(nèi)容隔離開,以便您更好地控制它們。 容器提供三種隔離類型

  • Workspace工作區(qū)隔離(進程,網(wǎng)絡)
  • 資源隔離(CPU,內(nèi)存)
  • 文件系統(tǒng)隔離(文件系統(tǒng))

考慮一下像VM一樣的容器。 它們精簡,快速(啟動)且體積小。 而且,所有這些都沒有分離。 取而代之的是,他們使用linux系統(tǒng)中存在的構(gòu)造(例如cgroups,namespace名稱空間)在其上構(gòu)建了一個不錯的抽象。

現(xiàn)在我們知道什么是容器了,很容易理解為什么它們很受歡迎。 不僅可以發(fā)布應用程序二進制/代碼,還可以以實用的方式交付運行應用程序所需的整個環(huán)境,因為可以將容器構(gòu)建為非常小的單元。 解決"在我的機器上工作"問題的完美解決方案

什么時候使用Kubernetes?

容器一切都很好,軟件開發(fā)人員的生活現(xiàn)在要好得多。 那么,為什么我們需要另一項技術,如Kubernetes這樣的容器協(xié)調(diào)器呢?

進入此狀態(tài)時,需要用到太多容器來管理

問:我的前端容器在哪里,我要在其中運行多少個容器? 使用容器協(xié)調(diào)器

問:如何使前端容器與新創(chuàng)建的后端容器對話?答:對IP進行硬編碼。 或者,使用容器協(xié)調(diào)器

問:如何進行滾動升級?答:在每個步驟中手動控制。 或者,使用容器協(xié)調(diào)器

為什么我更喜歡Kubernetes

有多個編排器,例如docker swarm,Mesos和Kubernetes。 我的選擇是Kubernetes(因此是本文),因為Kubernetes是……

……就像樂高積木一樣。 它不僅具有大規(guī)模運行容器協(xié)調(diào)器所需的組件,而且還具有使用自定義組件交換不同組件的靈活性。 你可以plugin一個自定義的調(diào)度程序。當需要一個新的資源類型,你可以編寫一個CRD(Custom Resource Definition客戶資源定義)。 此外,社區(qū)非?;钴S,并且工具發(fā)展迅速。

Kubernetes體系結(jié)構(gòu)

每個Kubernetes集群都有兩種類型的節(jié)點(機器)。 主節(jié)點(Master)和工作節(jié)點(Worker)。 顧名思義,Master是在運行有效負載(應用程序)的地方控制和監(jiān)視群集。

群集可以與單個主節(jié)點一起使用。 但是最好擁有三個以實現(xiàn)高可用性(稱為HA群集)

讓我們仔細看一下主節(jié)點及其組成

etcd:數(shù)據(jù)庫,用于存儲有關kubernetes對象,其當前狀態(tài),訪問信息和其他集群配置信息的所有數(shù)據(jù)

API服務器:RESTful API服務器,公開端點以操作集群。 主節(jié)點和工作節(jié)點中的幾乎所有組件都與該服務器通信以執(zhí)行其職責

調(diào)度程序Scheduler :負責決定哪個有效負載需要在哪臺機器上運行

控制管理器Control Manager:這是一個控制循環(huán),它監(jiān)視群集的狀態(tài)(通過調(diào)用API服務器來獲取此數(shù)據(jù))并采取措施將其置于預期狀態(tài)

kubelet:是工作程序節(jié)點的心臟。 它與主節(jié)點API服務器通信并運行為其節(jié)點安排的容器

kube代理 kubeproxy:使用IP表/ IPVS處理Pod的網(wǎng)絡需求

Pod:運行您所有容器的kubernetes的實體。 如果沒有Pod的抽象,就無法在kubernetes中運行容器。 Pod定義了對容器之間的聯(lián)網(wǎng)方式等至關重要的功能

Happy pod

一個Pod可以有多個容器,并且在這些容器中運行的所有服務器都可以將彼此視為本地主機。 這使得將應用程序的不同方面分離為單獨的容器,并可以方便的把它們?nèi)孔鳛橐粋€整體加載。 有不同的Pod模式,例如邊車(Side Car),代理(Proxy)和大使(ambassador),可以滿足不同的需求。

Pod聯(lián)網(wǎng)接口提供了一種將其與同一節(jié)點和其他工作程序節(jié)點中的其他Pod聯(lián)網(wǎng)的機制

此外,每個Pod都將分配有自己的IP地址,kube-proxy會使用該IP地址來路由流量。 而且此IP地址僅在群集中可見

所有容器也可以看到安裝在Pod容器內(nèi)的卷,有時這些卷可用于在容器之間進行異步通信。 例如,假設您的應用是照片上傳應用(例如instagram),它可以將這些文件保存在一個卷中,而同一容器中的另一個容器可以監(jiān)視該卷中的新文件,并開始對其進行處理以創(chuàng)建多種尺寸, 將它們上傳到云存儲

控制器

在kubernetes中,有很多控制器,例如ReplicaSet,Replication Controllers,Deployments,StatefulSet和Service。 這些是以一種或另一種方式控制Pod對象。 讓我們看看一些重要的控制器。

復制集 ReplicaSet

ReplicaSet doing what it is good at. Replicating pods

該控制器的主要職責是創(chuàng)建給定Pod的副本。 如果Pod因某種原因死亡,則會通知該控制器,并立即采取行動以創(chuàng)建新的Pod

部署 Deployments

Deployment (with a messy hair) trying to control the ReplicaSet

部署是一個高階對象,它使用ReplicaSet來管理副本。 它通過放大新的ReplicaSet和縮小(最終刪除)現(xiàn)有的ReplicaSet來提供滾動升級。

服務 Service

Service represented as a drone delivering data packets to corresponding pods

服務是一個控制器對象,其主要職責是在將"數(shù)據(jù)包"分發(fā)到相應節(jié)點時充當負載平衡器。 基本上,它是一種控制器構(gòu)造,用于在工作節(jié)點之間對相似的Pod(通常由Pod標簽標識)進行分組。

假設您的"前端"應用程序想與"后端"應用程序通信,則每個應用程序可能有許多正在運行的實例。 您不必擔心對每個后端Pod的IP進行硬編碼,而是將數(shù)據(jù)包發(fā)送到后端服務,然后由后端服務決定如何進行負載平衡并相應地轉(zhuǎn)發(fā)。

PS:請注意,服務更像是一個虛擬實體,因為所有數(shù)據(jù)包路由均由IP表/ IPVS / CNI插件處理。 它只是使它更容易被視為一個真正的實體,讓他們脫穎而出,以了解其在kubernetes生態(tài)系統(tǒng)中的作用。

入口 Ingress

Ingress a floating platform through which all the packets flow into the cluster

入口控制器是與外界聯(lián)系的單點,可以與集群中運行的所有服務進行對話。 這使我們可以輕松地在單個位置設置安全策略,監(jiān)控甚至記錄日志

P.S:Kubernetes中還有很多其他控制器對象,例如DaemonSets,StatefulSets和Jobs。 還有一些諸如Secrets,ConfigMaps之類的對象,用于存儲應用程序的機密和配置。 我將在收到下一篇博客文章時介紹它們。


新聞名稱:以卡通的方式了解Kubernetes
本文地址:http://m.5511xx.com/article/cdpogpe.html