91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
五個重要的Kubernetes概念讓學習變得簡單

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

作者:qaseven 2022-10-08 07:36:08
云計算 開始使用 Kubernetes 并不容易。本文將幫助您了解 Kubernetes 的一些最重要的概念。

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

開始使用 Kubernetes并不容易。

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

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

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

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

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

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

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

2.什么是容器編排?

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

3.什么是 Kubernetes?

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

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

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

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

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

4.1 什么是集群?

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

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

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

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

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

4.2 讓我們部署一個微服務(wù)

假設(shè)我要部署微服務(wù) 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 個實例的微服務(wù) A 的 v1 部署到 Kubernetes 集群。

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

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

為什么 Kubernetes 會這樣做?

讓我們深入挖掘。

4.3 什么是 Pod?

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

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

4.4 什么是ReplicaSet?

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

這是 ReplicaSet 的工作。

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

4.5 什么是部署?

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

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

部署代表微服務(wù)的所有版本。

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

這就是部署的工作。

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

你將會有:

  • 一個部署代表微服務(wù) A
  • 微服務(wù)A V1的一個ReplicaSet
  • 微服務(wù) A V2 的一個 ReplicaSet

部署英國

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

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

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

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

kubectl set image deployment microservice1 microservice1=microservice1:v2?

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

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

4.7 什么是服務(wù)?

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

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

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

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

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

服務(wù)分為三類:

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

5.接下來的步驟

  • 嘗試 Kubernetes 游樂場
  • 在其中一個云平臺中創(chuàng)建一個 Kubernetes 集群并使用它(GKE 有一個免費層。您可以嘗試 AKS 和 EKS,但它們目前還不是免費層的一部分?。?。

本文標題:五個重要的Kubernetes概念讓學習變得簡單
本文鏈接:http://m.jiaoqi3.com/article/ccodcsg.html