<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          快速上手 Linkerd v2 Service Mesh

          共 4823字,需瀏覽 10分鐘

           ·

          2021-06-13 18:50

          在本指南中,我們將引導(dǎo)您了解如何將 Linkerd 安裝到您的 Kubernetes 集群中。然后我們將部署一個(gè)示例應(yīng)用程序來(lái)展示 Linkerd 的功能。

          安裝 Linkerd 很容易。首先,您將在本地計(jì)算機(jī)上安裝 CLI(命令行界面)。使用此 CLI,然后您將控制平面安裝到您的 Kubernetes 集群上。最后,您將通過(guò)向它們添加 Linkerd 的數(shù)據(jù)平面來(lái)“網(wǎng)格化(mesh)”您自己的一個(gè)或多個(gè)服務(wù)。

          設(shè)置

          在我們做任何事情之前,我們需要確保您可以訪問(wèn) Kubernetes 集群并在本地機(jī)器上運(yùn)行 kubectl 命令。(如果您還沒(méi)有 Kubernetes 集群,一個(gè)簡(jiǎn)單的選擇是在您的本地機(jī)器上運(yùn)行一個(gè)。有很多方法可以做到這一點(diǎn),包括 kind、k3d、Docker for Desktop 等更多。)

          您可以通過(guò)運(yùn)行以下命令來(lái)驗(yàn)證設(shè)置:

          kubectl version --short

          您應(yīng)該看到包含 Client Version 和 Server Version 組件的輸出。

          現(xiàn)在我們有了集群,我們將安裝 Linkerd CLI 并使用它來(lái)驗(yàn)證您的集群是否能夠托管 Linkerd 控制平面。

          安裝 CLI

          如果這是您第一次運(yùn)行 Linkerd,則需要將 linkerd 命令行界面 (CLI) 下載到本地計(jì)算機(jī)上。 CLI 將允許您與 Linkerd 部署進(jìn)行交互。

          要手動(dòng)安裝 CLI,請(qǐng)運(yùn)行:

          curl -sL https://run.linkerd.io/install | sh

          請(qǐng)務(wù)必按照說(shuō)明將其添加到您的路徑中。

          或者,如果您使用 Homebrew,則可以使用 brew install linkerd 安裝 CLI。您還可以通過(guò) Linkerd releases 頁(yè)面直接下載 CLI。

          安裝后,使用以下命令驗(yàn)證 CLI 是否正常運(yùn)行:

          linkerd version

          您應(yīng)該會(huì)看到 CLI 版本以及 Server version: unavailable。這是因?yàn)槟形丛诩荷习惭b控制平面。別擔(dān)心 - 我們會(huì)盡快解決這個(gè)問(wèn)題。

          驗(yàn)證你的 Kubernetes 集群

          Kubernetes 集群可以通過(guò)多種不同的方式進(jìn)行配置。在我們安裝 Linkerd 控制平面之前,我們需要檢查并驗(yàn)證所有配置是否正確。要檢查您的集群是否已準(zhǔn)備好安裝 Linkerd,請(qǐng)運(yùn)行:

          linkerd check --pre

          如果有任何檢查未通過(guò),請(qǐng)確保按照提供的鏈接并在繼續(xù)之前解決這些問(wèn)題。

          安裝控制平面(Control Plane)在你的集群

          現(xiàn)在您已經(jīng)在本地運(yùn)行了 CLI,并且集群已經(jīng)準(zhǔn)備就緒,是時(shí)候安裝控制平面了。

          第一步是安裝控制平面核心。為此,請(qǐng)運(yùn)行:

          linkerd install | kubectl apply -f -

          在此命令中,linkerd install 命令生成一個(gè) Kubernetes manifest,其中包含所有必要的控制平面資源。將此清單通過(guò)管道傳輸?shù)?nbsp;kubectl apply 然后指示 Kubernetes 將這些資源添加到您的集群中。

          現(xiàn)在讓我們等待控制平面完成安裝。根據(jù)集群 Internet 連接的速度,這可能需要一兩分鐘。通過(guò)運(yùn)行以下命令等待控制平面準(zhǔn)備就緒(并驗(yàn)證您的安裝):

          linkerd check

          接下來(lái),我們將安裝一些擴(kuò)展。擴(kuò)展為 Linkerd 添加了非關(guān)鍵但通常有用的功能。對(duì)于本指南,我們需要 viz 擴(kuò)展,它會(huì)將 Prometheus、儀表板(dashboard)和指標(biāo)組件(metrics components)安裝到集群上:

          linkerd viz install | kubectl apply -f - # on-cluster metrics stack

          或者,此時(shí)您可以安裝其他擴(kuò)展。例如:

          ## optional
          linkerd jaeger install | kubectl apply -f - # Jaeger collector and UI
          linkerd multicluster install | kubectl apply -f - # multi-cluster components

          請(qǐng)注意,擴(kuò)展也可以來(lái)自第三方來(lái)源。例如,Buoyant Cloud 是針對(duì) Linkerd 的,可免費(fèi)托管指標(biāo)儀表板(metrics dashboard)??梢耘c viz 一起安裝,但它是可選的:

          ## optional
          curl -sL buoyant.cloud/install | sh
          linkerd buoyant install | kubectl apply -f - # hosted metrics dashboard

          一旦您安裝了 viz 擴(kuò)展程序和您想要的任何其他擴(kuò)展程序,我們將再次驗(yàn)證所有內(nèi)容:

          linkerd check

          假設(shè)一切都是綠色的,我們已準(zhǔn)備好進(jìn)行下一步!

          瀏覽 Linkerd

          安裝并運(yùn)行控制平面和擴(kuò)展后,您現(xiàn)在可以通過(guò)運(yùn)行以下命令查看 Linkerd 儀表板:

          linkerd viz dashboard &

          此命令設(shè)置從本地系統(tǒng)到 linkerd-web pod 的端口。(也可以暴露儀表板供所有人訪問(wèn)。)

          由于控制平面組件都在其 pod 中安裝了代理,因此每個(gè)組件也是數(shù)據(jù)平面本身的一部分。這提供了深入了解控制平面本身在幕后發(fā)生了什么的能力。事實(shí)上,你可以運(yùn)行:

          linkerd -n linkerd-viz viz top deploy/web

          這是您通過(guò)查看儀表板本身產(chǎn)生的流量!

          安裝 demo app

          要了解 Linkerd 如何為您的一項(xiàng)服務(wù)工作,您可以安裝一個(gè) demo 應(yīng)用程序。 emojivoto 應(yīng)用程序是一個(gè)獨(dú)立的 Kubernetes 應(yīng)用程序,它混合使用 gRPC 和 HTTP 調(diào)用,允許用戶對(duì)他們最喜歡的表情符號(hào)進(jìn)行投票。

          通過(guò)運(yùn)行以下命令將 emojivoto 安裝到 emojivoto 命名空間中:

          curl -sL https://run.linkerd.io/emojivoto.yml \
          | kubectl apply -f -

          在我們對(duì)它進(jìn)行網(wǎng)格(mesh)劃分之前,讓我們先來(lái)看看這個(gè)應(yīng)用程序。如果此時(shí)您正在使用 Docker Desktop,則可以直接訪問(wèn) http://localhost。如果你沒(méi)有使用 Docker Desktop,我們需要轉(zhuǎn)發(fā) web-svc 服務(wù)。要將 web-svc 本地轉(zhuǎn)發(fā)到端口 8080,您可以運(yùn)行:

          kubectl -n emojivoto port-forward svc/web-svc 8080:80

          現(xiàn)在訪問(wèn) http://localhost:8080。

          點(diǎn)擊周圍,您可能會(huì)注意到 emojivoto 的某些部分已損壞!例如,如果你點(diǎn)擊一個(gè)甜甜圈表情符號(hào)(doughnut emoji),你會(huì)得到一個(gè) 404 頁(yè)面。別擔(dān)心,這些錯(cuò)誤是故意的。(我們可以使用 Linkerd 來(lái)識(shí)別問(wèn)題。如果您對(duì)如何準(zhǔn)確找出問(wèn)題感興趣,請(qǐng)查看調(diào)試指南。)

          接下來(lái),讓我們通過(guò)運(yùn)行以下命令將 linker 添加到 emojivoto

          kubectl get -n emojivoto deploy -o yaml \
          | linkerd inject - \
          | kubectl apply -f -

          此命令檢索在 emojivoto 命名空間中運(yùn)行的所有部署(deployments),通過(guò) linkerd inject 運(yùn)行清單,然后將其重新應(yīng)用到集群。linkerd inject 命令向 pod spec 添加注解(annotations),指示 Linkerd 將代理(proxy)作為容器添加(“注入”)到 pod spec 中。(有關(guān)更多信息,請(qǐng)參閱自動(dòng)代理注入。)

          與 install 一樣,inject 是純文本操作,這意味著您可以在使用之前檢查輸入和輸出。一旦通過(guò)管道傳輸?shù)?nbsp;kubectl apply,Kubernetes 將執(zhí)行滾動(dòng)部署(rolling deploy)并使用數(shù)據(jù)平面的代理更新每個(gè) pod,所有這些都沒(méi)有任何停機(jī)時(shí)間。

          恭喜!您現(xiàn)在已將 Linkerd 添加到現(xiàn)有服務(wù)中!就像控制平面一樣,可以驗(yàn)證一切是否按照數(shù)據(jù)平面應(yīng)有的方式工作。要進(jìn)行此檢查,請(qǐng)運(yùn)行:

          linkerd -n emojivoto check --proxy

          監(jiān)測(cè)它的運(yùn)行

          您現(xiàn)在可以查看 Linked 面板并查看 demo app 中的所有服務(wù)。由于 demo app 附帶了 load generator,我們可以通過(guò)運(yùn)行以下命令查看實(shí)時(shí)流量指標(biāo)(live traffic metrics):

          linkerd -n emojivoto viz stat deploy

          這將顯示每個(gè)部署的“黃金(golden)”指標(biāo):

          • 成功率(Success rates)

          • 請(qǐng)求率(Request rates)

          • 延遲分布百分位數(shù)(Latency distribution percentiles)

          為了進(jìn)一步深入,可以使用 top 來(lái)實(shí)時(shí)查看正在調(diào)用哪些路徑:

          linkerd -n emojivoto viz top deploy

          為了更深入,我們可以使用 tap 顯示跨單個(gè) poddeployment 甚至 emojivoto 命名空間中的所有內(nèi)容的請(qǐng)求流:

          linkerd -n emojivoto viz tap deploy/web

          如果您想改用瀏覽器,所有這些功能也可在儀表板中使用:

          那過(guò)去發(fā)生的事情呢?Linkerd 包含 Grafana 來(lái)可視化 Prometheus 收集的指標(biāo),并附帶一些預(yù)配置的儀表板。您可以通過(guò)單擊概覽頁(yè)面中的 Grafana 圖標(biāo)來(lái)訪問(wèn)這些。


          瀏覽 73
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色五月成人视频 | 欧美成人毛片一级A片 | 一区二区三区四区免费 | 18成人网站在线观看 | A片免费看 |