自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

五個重要的 Kubernetes 概念讓學習變得簡單

云計算
開始使用 Kubernetes 并不容易。本文將幫助您了解 Kubernetes 的一些最重要的概念。

Kubernetes 是最流行的開源容器編排解決方案。

開始使用 Kubernetes并不容易。

本文將幫助您了解 Kubernetes 的一些最重要的概念。

1.為什么我們需要容器編排?

大多數(shù)企業(yè)都在采用微服務架構(gòu)。

微服務提供了創(chuàng)新的靈活性。

然而,微服務并不是免費的。我們沒有部署幾個應用程序,而是部署了數(shù)百個微服務。這導致復雜性增加。

容器可以幫助簡化您的部署和可觀察性挑戰(zhàn)。但是,在管理基礎(chǔ)架構(gòu)和部署方面仍然存在挑戰(zhàn)。示例:我想要 10 個微服務 A 容器實例,15 個微服務 B 容器實例,......等等多個微服務。此外,我的微服務還需要一些其他功能。一些典型特征包括:

  • Auto Scaling- 根據(jù)需求擴展容器
  • 服務發(fā)現(xiàn)- 幫助微服務找到另一個
  • 負載均衡器- 在微服務的多個實例之間分配負載
  • 自我修復- 進行健康檢查并替換失敗的實例
  • 零停機部署- 無需停機即可發(fā)布新版本

2.什么是容器編排?

容器編排解決方案提供了微服務架構(gòu)所需的大部分技術(shù)特性。您將能夠創(chuàng)建一個包含多個 VM 實例的集群并將微服務部署到該集群。容器編排解決方案將管理集群和部署。

3.什么是 Kubernetes?

有許多容器編排平臺:Docker Swarm、Mesosphere 和 Kubernetes 等。在過去的幾年里,Kubernetes 已經(jīng)成為容器編排領(lǐng)域的贏家。

4.什么是最重要的 Kubernetes 概念?

假設(shè)您想使用 Kubernetes 建立一個微服務架構(gòu)。以下是工作流程的樣子:

  • 第 1 步:創(chuàng)建具有多個節(jié)點(或虛擬機)的容器編排的 Kubernetes 集群
  • 第 2 步:部署和配置您的第一個微服務
  • 第 3 步:部署和配置您的第二個微服務

現(xiàn)在讓我們深入研究其中的每一個。

4.1 什么是集群?

集群是一組虛擬機。在集群中,有兩種類型的節(jié)點:

  • 主節(jié)點- 管理集群。您將所有部署指令發(fā)送到主節(jié)點。
  • 工作節(jié)點- 所有微服務都在工作節(jié)點上運行。

以下是一些重要的主節(jié)點(控制平面)組件:

  • API Server- 處理 K8S 集群的所有通信(來自節(jié)點和外部)
  • 調(diào)度程序- 決定 pod 的位置
  • 控制管理中心- 管理部署和副本集
  • etcd- 存儲集群狀態(tài)的分布式數(shù)據(jù)庫

工作節(jié)點的工作是運行您的微服務。此外,一個名為 Kubelet 的 Kubernetes 組件在每個 pod 上運行。Kubelet 使工作節(jié)點能夠與主節(jié)點通信。

4.2 讓我們部署一個微服務

假設(shè)我要部署微服務 A 的 V1 的 5 個實例。發(fā)出創(chuàng)建部署并為其設(shè)置多個實例的命令類似于您在下面看到的:

**create deployment** hello-world-rest-api --image=in28min/hello-world-rest-api:0.0.1.RELEASE
scale deployment hello-world-rest-api --replicas=5

這會將具有 5 個實例的微服務 A 的 v1 部署到 Kubernetes 集群。

在內(nèi)部,Kubernetes 將創(chuàng)建

  • 部署
  • 一個 ReplicaSet 和
  • 5個豆莢

為什么 Kubernetes 會這樣做?

讓我們深入挖掘。

4.3 什么是 Pod?

Pod 是 Kubernetes 中最小的可部署單元。一個 pod 代表你的微服務的一個實例。每個 Pod 都分配有一個臨時IP 地址。

如果我在 Kubernetes 集群中運行 10 個微服務 A 實例和 12 個微服務 B 實例,那么我總共將運行 10 + 12 = 22 個 Pod。

4.4 什么是ReplicaSet?

我們將具有 5 個實例的微服務 A 部署到 Kubernetes 集群。這意味著您有 5 個 pod 正在運行。假設(shè)你殺死了一個豆莢。Kubernetes 會自動識別這一點并創(chuàng)建一個替換 pod。Kubernetes 監(jiān)控您的 pod 的健康狀況并替換不健康的 pod。Kubernetes 如何做到這一點?

這是 ReplicaSet 的工作。

ReplicaSet 確保指定數(shù)量的 pod 始終在運行。在上面的例子中,一個 ReplicaSet 確保了微服務 A 的 5 個實例始終在運行。

4.5 什么是部署?

如果一個 ReplicaSet 保證了特定數(shù)量的 pod,那么 Deployment 的作用是什么?

部署可確保您在發(fā)布微服務的新版本時具有靈活性。

部署代表微服務的所有版本。

目前,我們只有一個版本的微服務。但是,您可以部署新版本。比方說,我想在不停機的情況下部署微服務 V2。

這就是部署的工作。

當您部署現(xiàn)有微服務的新版本時,部署將為微服務 A 的 V2 創(chuàng)建一個新的 ReplicaSet。

你將會有:

  • 一個部署代表微服務 A
  • 微服務A V1的一個ReplicaSet
  • 微服務 A V2 的一個 ReplicaSet

部署英國

4.6 快速回顧 - 部署與副本集

kubectl create deployment microservice1 --image=microservice1:v1?

為每個微服務創(chuàng)建一個部署。Deployment 代表一個微服務(及其所有版本)。部署管理新版本,確保零停機時間。

副本集確保為特定微服務版本運行特定數(shù)量的 pod 。即使其中一個 pod 被殺死,副本集也會啟動一個新的。

kubectl set image deployment microservice1 microservice1=microservice1:v2?

當你部署一個 V2 的微服務時,會創(chuàng)建一個新的 ReplicaSet(V2 ReplicaSet)。

部署根據(jù)配置的發(fā)布策略更新 V1 副本集和 V2 副本集。

4.7 什么是服務?

在 Kubernetes 中,每個 Pod 都有自己的 IP 地址。在以下情況下,您如何確保外部用戶不受影響:

  • 吊艙出現(xiàn)故障并被替換或
  • 部署了新版本的微服務,并且舊版本的所有現(xiàn)有 Pod 都被新版本的 Pod 替換

解決方案:創(chuàng)建一個服務。

expose deployment name --type=LoadBalancer --port=80?

服務使用穩(wěn)定的 IP 地址將您的部署暴露給外部世界。這可確保您的用戶不會在 pod 上下移動時受到影響。

服務分為三類:

  • ClusterIP:在集群內(nèi)部 IP 上公開服務。用例:您希望您的微服務僅在集群內(nèi)部可用(集群內(nèi)通信)。
  • LoadBalancer:使用云提供商的負載均衡器向外部公開服務。用例:您想為每個微服務創(chuàng)建單獨的負載均衡器。
  • NodePort:在每個節(jié)點的 IP 上的靜態(tài)端口(NodePort)上公開服務。用例:您不想為每個微服務創(chuàng)建一個外部負載均衡器(您可以創(chuàng)建一個 Ingress 組件來對多個微服務進行負載均衡)。

5.接下來的步驟

  • 嘗試 Kubernetes 游樂場
  • 在其中一個云平臺中創(chuàng)建一個 Kubernetes 集群并使用它(GKE 有一個免費層。您可以嘗試 AKS 和 EKS,但它們目前還不是免費層的一部分?。?。
責任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2016-09-18 18:27:21

KubernetesDocker

2016-09-08 23:58:42

云運維 云數(shù)據(jù)中心

2024-11-18 08:33:56

2014-08-01 09:50:39

Oracle營銷云Oracle Eloq

2011-09-15 10:35:12

Android應用IOS應用著裝搭配

2019-07-10 10:20:36

前端用戶體驗javascript

2022-08-29 18:34:46

Pythonsubprocess系統(tǒng)

2024-08-09 09:09:14

深度學習神經(jīng)元網(wǎng)絡

2022-09-10 19:26:37

HTMLCSS

2009-11-30 11:33:01

2020-06-16 13:22:22

AI創(chuàng)新深度學習

2022-05-18 16:24:36

PythonPyCaret機器學習

2015-05-05 11:18:18

大數(shù)據(jù)Hadoop技術(shù)處理

2012-06-21 10:26:54

2012-07-24 23:02:40

2013-07-05 11:49:55

華為遠程醫(yī)療看病

2009-06-18 15:51:52

SSL VPN負載均衡Array

2022-10-26 10:24:21

2024-08-07 08:24:57

2021-01-27 10:46:07

Pytorch深度學習模型訓練
點贊
收藏

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