成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Emoji.voto,Linkerd 服務網格(service mesh)的示例應用程序

網絡 通信技術
一個微服務應用程序,允許用戶為他們最喜歡的表情符號(emoji)投票,并跟蹤排行榜上收到的投票。愿最好的 emoji 獲勝。

[[412321]]

一個微服務應用程序,允許用戶為他們最喜歡的表情符號(emoji)投票,并跟蹤排行榜上收到的投票。愿最好的 emoji 獲勝。

該應用程序由以下 3 個服務組成:

emojivoto-web:Web 前端和 REST API

  • https://github.com/BuoyantIO/emojivoto/tree/main/emojivoto-web

emojivoto-emoji-svc:用于查找和列出 emoji 的 gRPC API

  • https://github.com/BuoyantIO/emojivoto/tree/main/emojivoto-emoji-svc

emojivoto-voting-svc:用于投票和排行榜的 gRPC API

  • https://github.com/BuoyantIO/emojivoto/blob/main/emojivoto-voting-svc

實戰

騰訊云 K8S 集群實戰 Service Mesh—Linkerd2 & Traefik2 部署 emojivoto 應用

運行

在 Minikube 中

使用 Linkerd2 服務網格將應用程序部署到 Minikube。

1.安裝 linkerd CLI

  1. curl https://run.linkerd.io/install | sh 

2.安裝 Linkerd2

  1. linkerd install | kubectl apply -f - 

3.查看儀表盤!

  1. linkerd dashboard 

4.Inject, Deploy, and Enjoy

  1. kubectl kustomize kustomize/deployment | \ 
  2.     linkerd inject - | \ 
  3.     kubectl apply -f - 

5.使用應用程序!

  1. minikube -n emojivoto service web-svc 

在 docker-compose 中

也可以使用 docker-compose(不帶 Linkerd2)運行應用程序。

構建并運行:

  1. make deploy-to-docker-compose 

Web 應用程序將在 docker 主機的端口 8080 上運行。

通過 URL

獨立部署到現有集群:

  1. kubectl apply -k github.com/BuoyantIO/emojivoto/kustomize/deployment 

生成一些流量

VoteBot 服務可以為你帶來一些流量。它對表情符號“隨機”投票如下:

  • 15% 的選票投給 🍩
  • 不給 🍩 投票時,它會隨機選擇一個表情符號

如果您使用上述 instructions(部署說明) 運行應用程序,則 VoteBot 將已部署,并將開始向投票端點發送流量。

如果您想手動運行機器人:

  1. export WEB_HOST=localhost:8080 # replace with your web location 
  2. go run emojivoto-web/cmd/vote-bot/main.go 

發布新版本

要構建和推送 multi-arch docker 鏡像:

1.更新 common.mk 中的標簽名稱

2.創建 Buildx 構建器實例

  1. docker run --rm --privileged multiarch/qemu-user-static --reset -p yes 
  2. docker buildx create --name=multiarch-builder --driver=docker-container --use 
  3. docker buildx inspect multiarch-builder --bootstrap 

3.構建 & 推送 multi-arch docker 鏡像到 hub.docker.com

  1. docker login 
  2. make multi-arch 

4.更新:

  • docker-compose.yml
  • kustomize/deployment/emoji.yml
  • kustomize/deployment/vote-bot.yml
  • kustomize/deployment/voting.yml
  • kustomize/deployment/web.yml

5.分發到 Linkerd website repo

  1. kubectl kustomize kustomize/deployment  > ../website/run.linkerd.io/public/emojivoto.yml 
  2. kubectl kustomize kustomize/daemonset   > ../website/run.linkerd.io/public/emojivoto-daemonset.yml 
  3. kubectl kustomize kustomize/statefulset > ../website/run.linkerd.io/public/emojivoto-statefulset.yml 

Prometheus 指標

默認情況下,投票服務在端口 8801 上公開有關當前投票計數的 Prometheus 指標。

這可以通過取消設置 PROM_PORT 環境變量來禁用。

本地開發

Emojivoto webapp

這個應用程序是用 React 編寫的,并使用 webpack 打包。使用以下命令運行 emojivoto go services 并在前端進行開發。

設置 proto 文件,構建應用程序

  1. make build 

啟動投票服務

  1. GRPC_PORT=8081 go run emojivoto-voting-svc/cmd/server.go 

[在單獨的終端窗口中] 啟動 emoji 服務

  1. GRPC_PORT=8082 go run emojivoto-emoji-svc/cmd/server.go 

[在單獨的終端窗口中] 捆綁前端資源

  1. cd emojivoto-web/webapp 
  2. yarn install 
  3. yarn webpack # one time asset-bundling OR 
  4. yarn webpack-dev-server --port 8083 # bundle/serve reloading assets 

[在單獨的終端窗口中] 啟動 Web 服務

  1. export WEB_PORT=8080 
  2. export VOTINGSVC_HOST=localhost:8081 
  3. export EMOJISVC_HOST=localhost:8082 
  4.  
  5. # if you ran yarn webpack 
  6. export INDEX_BUNDLE=emojivoto-web/webapp/dist/index_bundle.js 
  7.  
  8. # if you ran yarn webpack-dev-server 
  9. export WEBPACK_DEV_SERVER=http://localhost:8083 
  10.  
  11. # start the webserver 
  12. go run emojivoto-web/cmd/server.go 

[可選] 啟動投票機器人以自動生成流量。

  1. export WEB_HOST=localhost:8080 
  2. go run emojivoto-web/cmd/vote-bot/main.go 

查看 emojivoto

  1. open http://localhost:8080 

測試 Linkerd 服務配置文件

Service Profiles 是 Linkerd 的一個特性, 它提供了每條路由的功能,如遙測(telemetry)、超時(timeouts)和重試(retries)。 Emojivoto 應用程序旨在通過以下說明展示服務配置文件。

Service Profiles:https://linkerd.io/2/features/service-profiles

從 .proto 文件生成 ServiceProfile 定義

emoji 和 voting 服務是具有 Protocol Buffers (protobuf) definition 文件的 gRPC 應用程序。這些 .proto 文件可用作 linkerd profile 命令的輸入, 以創建 ServiceProfile definition yaml 文件。Linkerd Service Profile 文檔 概述了創建 yaml 文件所需的步驟,這些是您可以從該存儲庫的根目錄使用的命令:

  1. linkerd profile --proto proto/Emoji.proto emoji-svc -n emojivoto 
  2. linkerd profile --proto proto/Voting.proto voting-svc -n emojivoto 

 Protocol Buffers (protobuf):https://developers.google.com/protocol-buffers

gRPC:https://grpc.io

Linkerd Service Profile 文檔:https://linkerd.io/2/tasks/setting-up-service-profiles/#protobuf

這些命令中的每一個都會輸出 yaml,您可以將其寫入文件或管道, 直接將其寫入 kubectl apply。例如:

  • 寫入文件:
  1. linkerd profile --proto proto/Emoji.proto emoji-svc -n emojivoto > emoji 
  2. -sp.yaml 
  • 直接 apply:
  1. linkerd profile --proto proto/Voting.proto voting-svc -n emojivoto | \ 
  2. kubectl apply -f - 

為 Web 部署生成 ServiceProfile 定義

emojivoto 的 web-svc 部署是一個由 Go server 托管的 React 應用程序。我們可以使用 linkerd profile auto creation,使用以下命令為 web-svc 生成 ServiceProfile 資源:

  1. linkerd profile -n emojivoto web-svc --tap deploy/web --tap-duration 10s | \ 
  2.    kubectl apply -f - 

現在為所有服務生成了服務配置文件,您可以在 Linkerd Dashboard 上或使用 linkerd routes 命令觀察每個服務的每條路由指標

  1. linkerd -n emojivoto routes deploy/web-svc --to svc/emoji-svc 

linkerd profile auto creation

  • https://linkerd.io/2/tasks/setting-up-service-profiles/#auto-creation

Linkerd Dashboard

  • https://linkerd.io/2/features/dashboard

 

責任編輯:姜華 來源: 黑客下午茶
相關推薦

2021-06-05 10:16:55

Linkerd 服務網格Kubernetes

2021-12-08 17:54:55

架構控制平面

2022-08-21 07:17:16

LinkerdKubernetes服務網格

2021-04-25 08:48:36

Traefik mes服務網格Kubernetes集

2021-12-11 22:21:00

服務配置文件

2021-12-10 18:19:14

授權 Linkerd策略

2021-10-31 20:56:25

Mesh ServiceAPI

2023-11-07 17:32:31

Istiok8s

2022-08-30 20:00:37

零信任Linkerd

2023-06-18 19:21:04

技術架構服務網格

2022-11-24 14:21:27

微服務ISTIO

2020-11-15 23:48:57

服務網格微服務網絡網絡技術

2020-01-07 09:25:02

服務網格微服務Kubernetes

2022-05-16 08:00:00

服務網格架構Kuma

2019-08-29 08:00:00

微服務架構服務網格

2020-07-13 07:00:03

微服務服務網格架構

2020-10-21 13:31:53

服務網格開源微服務

2020-08-26 05:45:40

服務網格DevOps開發

2022-08-09 08:00:00

服務網格云原生工具

2022-07-06 08:25:17

服務網格Kubernetes
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色综合久 | 一区二区三区四区国产 | 成人免费精品视频 | 久草.com| 91在线观看视频 | www.色婷婷| 超级黄色一级片 | 国产精品久久久久aaaa九色 | 91毛片在线观看 | 99免费在线观看 | 久久精品久久久 | 亚洲 成人 av | 天天澡天天狠天天天做 | 色资源在线观看 | 成年人精品视频 | 婷婷色在线播放 | 一区二区三区久久久 | 日韩一二三 | 欧美日本久久 | 免费小视频在线观看 | 色毛片| 国产午夜精品视频 | 国产一区二 | 国产精品久久久久久久久久久免费看 | 欧美电影免费观看高清 | 国产视频综合 | 亚洲精品二区 | 欧美人妇做爰xxxⅹ性高电影 | 特级黄一级播放 | 亚洲精品视频免费观看 | 中文字幕亚洲专区 | 国产一区久久久 | 天天干夜夜操 | 91香蕉嫩草| 国产精品久久久久久二区 | 伊人精品| 2019中文字幕视频 | 国产欧美三区 | 国产精品毛片一区二区在线看 | 暖暖日本在线视频 | 美女黄色在线观看 |