成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【Docker】第1篇:Docker + Envoy + gRpc restful

LiveVideoStack / 3333人閱讀

摘要:文件學習配置文件這個文件中需要改動的地方執(zhí)行下面的命令時,必須切換到你的項目的根目錄可參考七其他備注截圖執(zhí)行。

Docker 安裝

通過 Homebrew 來安裝 Docker
brew install docker

這個安裝可能比較慢,可以通過阿里云鏡像服務來下載 Docker.dmg
http://mirrors.aliyun.com/doc...

安裝 Docker 的圖形管理界面 Kitematic

https://github.com/docker/kit...

golang 語言環(huán)境配置

brew install go

go 環(huán)境變量配置參考:https://www.jianshu.com/p/358...

protobuf 安裝

brew install protobuf

如果安裝不成功的話,可手動安裝
protobuf 下載:https://github.com/protocolbu...
下載完成后解壓安裝

tar -zxf  protobuf-all-3.7.1.tar.gz

cd protobuf-3.7.1
./autogen.sh
./configure
make
make check
sudo make install

如果在執(zhí)行 ./autogen.sh 出現(xiàn)如下錯誤:

+ mkdir -p third_party/googletest/m4
+ autoreconf -f -i -Wall,no-obsolete
./autogen.sh: line 37: autoreconf: command not found

解決方法:

brew install autoconf
brew install automake
brew install libtool

然后再執(zhí)行 ./ autogen.sh 就不報錯了
萬里長城第一步,終于把docker和兩個語言環(huán)境搭好了,接下來繼續(xù)。

執(zhí)行 go get 命令
go get -u -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
go get -u -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
go get -u -v github.com/golang/protobuf/protoc-gen-go

如果你在自己的電腦執(zhí)行上述命令可能會出現(xiàn)問題,go get 被墻,就算有vpn,網(wǎng)速不好會超時:

此時怎么辦呢?先安裝 gopm 命令

go get -u -v github.com/gpmgo/gopm

gopm get -u -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
gopm get -u -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
gopm get -u -v github.com/golang/protobuf/protoc-gen-go
Docker 中安裝 Envoy 鏡像

docker pull envoyproxy/envoy:latest

1.在你的機器上創(chuàng)建 docker 數(shù)據(jù)卷目錄,例如,我的目錄是:
/Users/shifeifei/Software/docker-mount

可將 envoy 的數(shù)據(jù)卷目錄設置成如下形式:/Users/shifeifei/Software/docker-mount/envoyproxy

(1) 創(chuàng)建 envoy.yml 文件存目錄,存放在 config 目錄下
(2) 創(chuàng)建 protobuf 代理文件目錄,存放在 proto 目錄
(3) 創(chuàng)建 docker-compose.yml 文件

目錄結構如下:

2.配置 docker-compose.yml 文件。docker-compose.yml 文件學習

envoy-proxy:
image: envoyproxy/envoy:latest

ports:
- "51051:51051"

volumes:
- /Users/shifeifei/Software/docker-mount/envoyproxy/config:/envoy

- /Users/shifeifei/Software/docker-mount/envoyproxy/proto:/protos

command: sh -c "/usr/local/bin/envoy --config-path /envoy/envoy.yaml"

3.配置 envoy.yml 文件

admin:
access_log_path: /tmp/admin_access.log

address:
socket_address: { address: 0.0.0.0, port_value: 9901 }



static_resources:
listeners:
- name: listener1

address:
socket_address: { address: 0.0.0.0, port_value: 51051 }

filter_chains:
- filters:

- name: envoy.http_connection_manager

config:
stat_prefix: grpc_json

codec_type: AUTO

route_config:
name: local_route

virtual_hosts:
- name: local_service

domains: ["*"]
routes:
- match: { prefix: "/" }

route: { cluster: grpc, timeout: { seconds: 60 } }

cors:
allow_origin:
- static.stage-5.yinxiang.com

allow_methods: GET, POST, PUT, HEAD, OPTIONS

allow_headers: Authorization,Content-Type

http_filters:
- name: envoy.grpc_json_transcoder

config:
proto_descriptor: "/protos/payment-service.pb"

services: ["payment.PaymentService"]
print_options:
add_whitespace: true

always_print_primitive_fields: true

always_print_enums_as_ints: false

preserve_proto_field_names: false

- name: envoy.router

- name: envoy.cors

clusters:
- name: grpc

type: STRICT_DNS

connect_timeout: 0.25s

lb_policy: LEAST_REQUEST

http2_protocol_options: {}
hosts:
- socket_address:

protocol: TCP

address: host.docker.internal

port_value: 6789

這個文件中需要改動的地方:proto_descriptor 、port_value

4.執(zhí)行下面的命令時,必須切換到你的項目的根目錄;可參考(七、其他備注截圖)執(zhí)行?;蛘甙凑障聢D的路徑執(zhí)行

protoc -I/usr/local/include -I. 
  -I$GOPATH/src 
  -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis 
  --include_imports --include_source_info 
  --descriptor_set_out=payment-service.pb 
  proto/payment.proto

把生成的 payment-service.pb 文件拷貝到目錄 :/Users/shifeifei/Software/docker-mount/envoyproxy/proto 中

 --descriptor_set_out=payment-service.pb  proto/payment.proto
前面是生成的代理文件名稱,后面是你的源文件名稱

5.啟動 docker ,在 docker-compose.yml 同級目錄下執(zhí)行該命令

docker-compose -f docker-compose.yaml up -d envoy-proxy

6.envoy 系列文章:https://www.lijiaocn.com/%E9%...

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/27860.html

相關文章

  • CNCF案例研究:VSCO

    摘要:社區(qū)團隊高級軟件工程師補充說這產(chǎn)生了大量浪費的資源。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學金現(xiàn)正接受申請和即將首次合體落地中國 VSCO:移動應用如何通過云原生節(jié)省70%的EC2賬單 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地點:加州奧克蘭行業(yè):照片移動應...

    endiat 評論0 收藏0
  • CNCF案例研究:VSCO

    摘要:社區(qū)團隊高級軟件工程師補充說這產(chǎn)生了大量浪費的資源。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學金現(xiàn)正接受申請和即將首次合體落地中國 VSCO:移動應用如何通過云原生節(jié)省70%的EC2賬單 showImg(https://segmentfault.com/img/bVboP4E?w=721&h=440); 公司:VSCO地點:加州奧克蘭行業(yè):照片移動應...

    Anshiii 評論0 收藏0
  • 使用Envoy 作Sidecar Proxy的微服務模式-2.超時和重試

    摘要:在第二部分中,我們將詳細介紹如何啟用其他彈性功能,如超時和重試。在此部署模型中,被部署為服務的在本例中為客戶端。這些示例的上游服務是。它們可以幫助傳播故障或對可能正在掙扎的內部服務造成類型攻擊。此延遲應足以觸發(fā)超時。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實現(xiàn)更優(yōu)雅的方式來連接和管理微服務系列文章的一部分。 這是接下來幾個部分的想法(將在發(fā)布時更新鏈接):...

    vibiu 評論0 收藏0
  • 華爾街見聞基于istio的服務網(wǎng)格實踐

    摘要:,托管于騰訊云容器平臺容器編排工具。適配我們目前的服務部署在騰訊云托管,節(jié)點使用核的網(wǎng)絡增強型機器,所有的后端服務都以部署,集群外部署高可用支持集群內服務發(fā)現(xiàn),數(shù)據(jù)庫以為主,消息隊列采用。 距離2017年的見聞技術架構調整接近2年,隨著業(yè)務線的發(fā)展,見聞技術部的項目數(shù)量、項目架構類型、基礎設施規(guī)模、服務變更頻率都在不斷地增長,帶給SRE的挑戰(zhàn)是如何能更快地助力于開發(fā)人員更快更穩(wěn)定地部署...

    stonezhu 評論0 收藏0
  • 使用 TensorFlow Serving 和 Docker 快速部署機器學習服務

    摘要:從實驗到生產(chǎn),簡單快速部署機器學習模型一直是一個挑戰(zhàn)??偨Y上面我們快速實踐了使用和部署機器學習服務的過程,可以看到,提供了非常方便和高效的模型管理,配合,可以快速搭建起機器學習服務。 從實驗到生產(chǎn),簡單快速部署機器學習模型一直是一個挑戰(zhàn)。這個過程要做的就是將訓練好的模型對外提供預測服務。在生產(chǎn)中,這個過程需要可重現(xiàn),隔離和安全。這里,我們使用基于Docker的TensorFlow Se...

    endless_road 評論0 收藏0

發(fā)表評論

0條評論

LiveVideoStack

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<