偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

任何人都能看懂的 Kubernetes 教程!

云計(jì)算
在我們嘗試了解 Kubernetes 之前,讓我們花一點(diǎn)時(shí)間來澄清容器是什么,以及它們?yōu)槭裁慈绱耸軞g迎。

[[313461]]

容器

在我們嘗試了解 Kubernetes 之前,讓我們花一點(diǎn)時(shí)間來澄清容器是什么,以及它們?yōu)槭裁慈绱耸軞g迎。

畢竟,在不知道容器是什么的情況下談?wù)撊萜骶幣牌?Kubernetes)是沒有意義的!

 

容器

“容器”是一個(gè)用來存放你放入的所有物品的容器。像應(yīng)用程序代碼,依賴庫以及它的依賴關(guān)系一直到內(nèi)核。

這里的關(guān)鍵概念是隔離。將所有內(nèi)容與其余內(nèi)容隔離開,以便你更好地控制它們。

容器提供三種隔離類型:

  • 工作區(qū)隔離(流程,網(wǎng)絡(luò))
  • 資源隔離(CPU,內(nèi)存)
  • 文件系統(tǒng)隔離(聯(lián)合文件系統(tǒng))

考慮一下像 VM 一樣的容器。它們精簡(jiǎn),快速(啟動(dòng))且體積小。而且,所有這些都沒有構(gòu)建起來。

取而代之的是,他們使用 Linux 系統(tǒng)中存在的結(jié)構(gòu)(例如 cgroups,namespaces)在其上構(gòu)建了一個(gè)不錯(cuò)的抽象。

現(xiàn)在我們知道什么是容器了,很容易理解為什么它們很受歡迎。不僅可以分發(fā)應(yīng)用程序的二進(jìn)制/代碼,還可以以實(shí)用的方式交付運(yùn)行應(yīng)用程序所需的整個(gè)環(huán)境。

因?yàn)榭梢詫⑷萜鳂?gòu)建為非常小的單元,解決“在我的機(jī)器上工作”問題的完美解決方案。

什么時(shí)候使用 Kubernetes?

容器一切都很好,軟件開發(fā)人員的生活現(xiàn)在要好很多。那么,為什么我們需要另一項(xiàng)技術(shù),如 Kubernetes 這樣的容器編排工具呢?

 

 

當(dāng)進(jìn)入某個(gè)狀態(tài)時(shí),你需要用到它來管理眾多容器。

問:我的前端容器在哪里,我要運(yùn)行幾個(gè)?

答:很難說,使用容器編排工具。

問:如何使前端容器與新創(chuàng)建的后端容器對(duì)話?

答:對(duì) IP 進(jìn)行硬編碼,或者,使用容器編排工具。

問:如何進(jìn)行滾動(dòng)升級(jí)?

答:在每個(gè)步驟中手動(dòng)握住,或者,使用容器編排工具。

為什么我更喜歡 Kubernetes

有很多容器編排工具,例如 Docker Swarm,Mesos 和 Kubernetes。我的選擇是 Kubernetes(因此有了本文),因?yàn)? Kubernetes 是……

 

 

就像樂高積木一樣,它不僅具有大規(guī)模運(yùn)行容器編排所需的組件,而且還具有使用自定義組件交換內(nèi)部和外部不同組件的靈活性。

想要擁有一個(gè)自定義的調(diào)度程序,也很方便。需要具有新的資源類型,編寫一個(gè) CRD。此外,社區(qū)非常活躍,并且工具迅速發(fā)展。

Kubernetes 架構(gòu)

 

每個(gè) Kubernetes 集群都有兩種類型的節(jié)點(diǎn),主節(jié)點(diǎn)和工作節(jié)點(diǎn)。顧名思義,主節(jié)點(diǎn)是在工作程序運(yùn)行有效負(fù)載(應(yīng)用程序)的地方控制和監(jiān)視群集。

集群可以與單個(gè)主節(jié)點(diǎn)一起工作,但是最好擁有三個(gè)以實(shí)現(xiàn)高可用性(稱為 HA 群集)。

讓我們仔細(xì)看一下主節(jié)點(diǎn)及其組成:

 

①etcd:數(shù)據(jù)庫,用于存儲(chǔ)有關(guān) Kubernetes 對(duì)象,其當(dāng)前狀態(tài),訪問信息和其他集群配置信息的所有數(shù)據(jù)。

②API Server:RESTful API 服務(wù)器,公開端點(diǎn)以操作整個(gè)集群。主節(jié)點(diǎn)和工作節(jié)點(diǎn)中的幾乎所有組件都與該服務(wù)器通信以執(zhí)行其職責(zé)。

③調(diào)度程序:負(fù)責(zé)決定哪個(gè)有效負(fù)載需要在哪臺(tái)機(jī)器上運(yùn)行。

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

⑤kubelet:是工作節(jié)點(diǎn)的心臟。它與主節(jié)點(diǎn) API 服務(wù)器通信并運(yùn)行為其節(jié)點(diǎn)安排的容器。

 

⑥kube-proxy:使用 IP 表/IPVS 處理 Pod 的網(wǎng)絡(luò)需求。

⑦Pod:運(yùn)行所有容器的 Kubernetes 的功勞。如果沒有 Pod 的抽象,就無法在 Kubernetes 中運(yùn)行容器。Pod 添加了對(duì)容器之間的 Kuberenetes 聯(lián)網(wǎng)方式至關(guān)重要的功能。

 

快樂的 Pod

一個(gè) Pod 可以有多個(gè)容器,并且在這些容器中運(yùn)行的所有服務(wù)器都可以將彼此視為本地主機(jī)。

這使得將應(yīng)用程序的不同方面分離為單獨(dú)的容器,并將它們?nèi)孔鳛橐粋€(gè)容器加載在一起非常方便。

有多種不同的 Pod 模式,例如 Sidecar,Proxy 和大使,可以滿足不同的需求。查看這篇文章[1]可以了解有關(guān)它們的更多信息。

Pod 網(wǎng)絡(luò)接口提供了一種將其與同一節(jié)點(diǎn)和其他工作節(jié)點(diǎn)中的其他 Pod 通信的機(jī)制。

 

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

所有容器也都可以看到安裝在容器內(nèi)的卷,有時(shí)可以使用這些卷在容器之間進(jìn)行異步通信。

例如,假設(shè)你的應(yīng)用是照片上傳應(yīng)用(例如 Instagram),它可以將這些文件保存在一個(gè)卷中,而同一 Pod 中的另一個(gè)容器可以監(jiān)視該卷中的新文件,并開始對(duì)其進(jìn)行處理以創(chuàng)建多種尺寸,將它們上傳到云存儲(chǔ)。

控制器

在 Kubernetes 中,有很多控制器,例如 ReplicaSet,Replication Controllers,Deployments,StatefulSets 和 Service。

這些是以一種或另一種方式控制 Pod 的對(duì)象。讓我們看一些重要的。

ReplicaSet

 

ReplicaSet 做自己擅長(zhǎng)的事情,復(fù)制 Pod

該控制器的主要職責(zé)是創(chuàng)建給定 Pod 的副本,如果 Pod 因某種原因死亡,則會(huì)通知該控制器,并立即跳入操作以創(chuàng)建新的 Pod。

Deployment

 

試圖控制 ReplicaSet 的部署(頭發(fā)凌亂)

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

Service

 

表示為無人機(jī)的服務(wù),將數(shù)據(jù)包傳遞到相應(yīng)的 Pod

服務(wù)是一個(gè)控制器對(duì)象,其主要職責(zé)是在將“數(shù)據(jù)包”分發(fā)到相應(yīng)節(jié)點(diǎn)時(shí)充當(dāng)負(fù)載平衡器。

基本上,它是一種控制器構(gòu)造,用于在工作節(jié)點(diǎn)之間對(duì)相似的 Pod(通常由 Pod 標(biāo)簽標(biāo)識(shí))進(jìn)行分組。

假設(shè)你的“前端”應(yīng)用程序想與“后端”應(yīng)用程序通信,則每個(gè)應(yīng)用程序可能有許多正在運(yùn)行的實(shí)例。

你不必?fù)?dān)心對(duì)每個(gè)后端 Pod 的 IP 進(jìn)行硬編碼,而是將數(shù)據(jù)包發(fā)送到后端服務(wù),然后由后端服務(wù)決定如何進(jìn)行負(fù)載平衡并相應(yīng)地轉(zhuǎn)發(fā)。

PS:請(qǐng)注意,服務(wù)更像是一個(gè)虛擬實(shí)體,因?yàn)樗袛?shù)據(jù)包路由均由 IP 表/IPVS/CNI 插件處理。

它只是使它更容易被視為一個(gè)真正的實(shí)體,讓它們脫穎而出以了解其在 Kubernetes 生態(tài)系統(tǒng)中的作用。

Ingress

 

進(jìn)入一個(gè)浮動(dòng)平臺(tái),所有數(shù)據(jù)包都通過該平臺(tái)流入集群

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

PS:Kubernetes 中還有很多其他控制器對(duì)象,例如 DaemonSets,StatefulSets 和 Jobs。

還有一些諸如 Secrets,ConfigMaps 之類的對(duì)象,用于存儲(chǔ)應(yīng)用程序的機(jī)密和配置,我將在下一篇博客文章介紹它們。

相關(guān)鏈接:

https://matthewpalmer.net/kubernetes-app-developer/articles/multi-container-pod-design-patterns.ht

 

責(zé)任編輯:武曉燕 來源: urlify
相關(guān)推薦

2013-06-18 10:11:33

云計(jì)算服務(wù)云計(jì)算云服務(wù)

2015-06-10 11:43:18

2022-07-04 08:31:42

GitOpsGit基礎(chǔ)設(shè)施

2018-11-21 15:40:08

HTTP協(xié)議前端

2021-09-27 13:50:13

Python裝飾器函數(shù)

2020-12-01 09:03:22

分庫分表MySQL

2015-05-19 09:39:05

密碼Apple Watch

2019-12-27 09:47:05

大數(shù)據(jù)TomcatWeb

2019-10-08 10:10:52

中臺(tái) IT后臺(tái)

2018-11-21 09:40:57

熔斷實(shí)踐AOP

2020-02-15 17:16:05

Kubernetes容器

2020-09-28 14:25:39

HTTPS加密算法

2018-12-24 08:46:52

Kubernetes對(duì)象模型

2023-01-26 00:22:01

分布式架構(gòu)大文件

2023-06-27 16:51:37

人工智能工具

2020-06-22 08:07:48

Spring依賴場(chǎng)景

2019-09-05 11:14:12

監(jiān)控系統(tǒng)拓?fù)鋱D

2019-01-22 09:37:47

紅黑樹數(shù)據(jù)二叉樹

2020-06-07 15:53:36

人工智能

2017-02-22 15:04:52

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)