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

Emoji.voto,Linkerd 服務(wù)網(wǎng)格(service mesh)的示例應(yīng)用程序

網(wǎng)絡(luò) 通信技術(shù)
一個(gè)微服務(wù)應(yīng)用程序,允許用戶為他們最喜歡的表情符號(hào)(emoji)投票,并跟蹤排行榜上收到的投票。愿最好的 emoji 獲勝。

[[412321]]

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

該應(yīng)用程序由以下 3 個(gè)服務(wù)組成:

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

實(shí)戰(zhàn)

騰訊云 K8S 集群實(shí)戰(zhàn) Service Mesh—Linkerd2 & Traefik2 部署 emojivoto 應(yīng)用

運(yùn)行

在 Minikube 中

使用 Linkerd2 服務(wù)網(wǎng)格將應(yīng)用程序部署到 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.使用應(yīng)用程序!

  1. minikube -n emojivoto service web-svc 

在 docker-compose 中

也可以使用 docker-compose(不帶 Linkerd2)運(yùn)行應(yīng)用程序。

構(gòu)建并運(yùn)行:

  1. make deploy-to-docker-compose 

Web 應(yīng)用程序?qū)⒃?docker 主機(jī)的端口 8080 上運(yùn)行。

通過 URL

獨(dú)立部署到現(xiàn)有集群:

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

生成一些流量

VoteBot 服務(wù)可以為你帶來一些流量。它對(duì)表情符號(hào)“隨機(jī)”投票如下:

  • 15% 的選票投給 🍩
  • 不給 🍩 投票時(shí),它會(huì)隨機(jī)選擇一個(gè)表情符號(hào)

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

如果您想手動(dòng)運(yùn)行機(jī)器人:

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

發(fā)布新版本

要構(gòu)建和推送 multi-arch docker 鏡像:

1.更新 common.mk 中的標(biāo)簽名稱

2.創(chuàng)建 Buildx 構(gòu)建器實(shí)例

  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.構(gòu)建 & 推送 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.分發(fā)到 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 指標(biāo)

默認(rèn)情況下,投票服務(wù)在端口 8801 上公開有關(guān)當(dāng)前投票計(jì)數(shù)的 Prometheus 指標(biāo)。

這可以通過取消設(shè)置 PROM_PORT 環(huán)境變量來禁用。

本地開發(fā)

Emojivoto webapp

這個(gè)應(yīng)用程序是用 React 編寫的,并使用 webpack 打包。使用以下命令運(yùn)行 emojivoto go services 并在前端進(jìn)行開發(fā)。

設(shè)置 proto 文件,構(gòu)建應(yīng)用程序

  1. make build 

啟動(dòng)投票服務(wù)

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

[在單獨(dú)的終端窗口中] 啟動(dòng) emoji 服務(wù)

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

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

  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 

[在單獨(dú)的終端窗口中] 啟動(dòng) Web 服務(wù)

  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 

[可選] 啟動(dòng)投票機(jī)器人以自動(dòng)生成流量。

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

查看 emojivoto

  1. open http://localhost:8080 

測試 Linkerd 服務(wù)配置文件

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

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

從 .proto 文件生成 ServiceProfile 定義

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

  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

這些命令中的每一個(gè)都會(huì)輸出 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 部署是一個(gè)由 Go server 托管的 React 應(yīng)用程序。我們可以使用 linkerd profile auto creation,使用以下命令為 web-svc 生成 ServiceProfile 資源:

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

現(xiàn)在為所有服務(wù)生成了服務(wù)配置文件,您可以在 Linkerd Dashboard 上或使用 linkerd routes 命令觀察每個(gè)服務(wù)的每條路由指標(biāo)

  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

 

責(zé)任編輯:姜華 來源: 黑客下午茶
相關(guān)推薦

2021-06-05 10:16:55

Linkerd 服務(wù)網(wǎng)格Kubernetes

2021-12-08 17:54:55

架構(gòu)控制平面

2021-04-25 08:48:36

Traefik mes服務(wù)網(wǎng)格Kubernetes集

2022-08-21 07:17:16

LinkerdKubernetes服務(wù)網(wǎng)格

2021-12-11 22:21:00

服務(wù)配置文件

2021-12-10 18:19:14

授權(quán) Linkerd策略

2021-10-31 20:56:25

Mesh ServiceAPI

2023-11-07 17:32:31

Istiok8s

2023-06-18 19:21:04

技術(shù)架構(gòu)服務(wù)網(wǎng)格

2022-11-24 14:21:27

微服務(wù)ISTIO

2022-08-30 20:00:37

零信任Linkerd

2020-11-15 23:48:57

服務(wù)網(wǎng)格微服務(wù)網(wǎng)絡(luò)網(wǎng)絡(luò)技術(shù)

2020-01-07 09:25:02

服務(wù)網(wǎng)格微服務(wù)Kubernetes

2022-05-16 08:00:00

服務(wù)網(wǎng)格架構(gòu)Kuma

2019-08-29 08:00:00

微服務(wù)架構(gòu)服務(wù)網(wǎng)格

2020-07-13 07:00:03

微服務(wù)服務(wù)網(wǎng)格架構(gòu)

2020-10-21 13:31:53

服務(wù)網(wǎng)格開源微服務(wù)

2020-08-26 05:45:40

服務(wù)網(wǎng)格DevOps開發(fā)

2022-08-09 08:00:00

服務(wù)網(wǎng)格云原生工具

2022-07-06 08:25:17

服務(wù)網(wǎng)格Kubernetes
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日韩中文字幕在线播放 | 日本精品一区二区 | 日本不卡一区二区三区在线观看 | 美女视频黄的免费 | 日韩欧美不卡 | 久久综合伊人一区二区三 | 欧美激情精品久久久久久变态 | 久久亚洲欧美日韩精品专区 | 99精品在线 | 日韩欧美精品 | 日本91av视频 | 午夜免费精品视频 | 中文字幕在线观看日韩 | 国产日韩欧美一区二区 | 国产精品揄拍一区二区 | www.97国产 | 亚洲成年人免费网站 | 国产精品久久久久久高潮 | 超碰97免费 | 日韩一级在线 | 久草在线在线精品观看 | 亚洲美女视频 | 涩爱av一区二区三区 | 亚洲在线一区二区 | 国产精品中文在线 | 久久这里只有精品首页 | 国产精品不卡一区 | 天堂一区二区三区 | 午夜精品视频在线观看 | 日韩欧美第一页 | 亚洲综合色视频在线观看 | 国产精品一区二区视频 | 欧洲毛片| 亚洲精品日韩在线 | 欧美日韩网站 | a黄毛片 | 欧洲亚洲精品久久久久 | 国产精品99久久久久久人 | 99reav| 在线播放91 | 日韩精品一区二区三区在线观看 |