《Linkerd官方文件》在DC / OS中執行Linkerd
在DC / OS中執行
本指南將引導您獲得在DC / OS中執行的Linkerd,將請求路由到示例Web服務以及監視叢集。
部署webapp
我們將部署一個以“Hello world”為響應的示例應用程式。我們將使用linkerd-examples repo中的 webapp.json 配置檔案:
dcos marathon app add https://raw.githubusercontent.com/linkerd/linkerd-examples/master/dcos/webapp.json
部署Linkerd
使用以下命令安裝Linkerd DC / OS Universe軟體包,注意 instances
$ dcos package install --options=<(echo '{"linkerd":{"instances":4}}') linkerd
需要注意的是Linkerd啟動兩臺伺服器,4140
埠上的outgoing
,和4141
埠上的incoming
。您的應用程式向埠4140上的本地Linkerd發出傳出請求,埠4140將請求路由到在埠4141上的遠端節點上執行的獨立Linkerd程序。遠端節點上的Linkerd接受傳入請求並將其路由到本地應用程式例項。
確保它的工作
Linkerd DC / OS Universe包預先配置為將流量作為HTTP代理進行路由。預設情況下,它接受來自應用程式4140埠上的所有流量。幾乎所有的http工具和客戶端庫都支援這一點。curl
http_proxy
環境變數:
$ http_proxy=$PUBLIC_NODE:4140 curl -s http://webapp/hello
Hello world
最後,要訪問管理服務,請在9990
埠上發出請求:
$ curl $PUBLIC_NODE:9990/admin/ping
pong
應用程式組
對於作為組的一部分部署的應用程式,請將組/應用程式名稱反轉到域中。例如,my-group/webapp
變成webapp.my-group
:
$ http_proxy=$PUBLIC_NODE:4140 curl webapp.my-group/hello
Hello world
部署一個自定義的Linkerd
您也可以安裝您自己的Linkerd自定義版本,例如:
dcos marathon app add https://raw.githubusercontent.com/linkerd/linkerd-examples/master/dcos/linker-to-linker/linkerd-dcos.json
此自定義版本具有嵌入在其命令串編碼JSON的一個Linkerd配置檔案,一個更人類可讀的版本是在 linkerd-examples repo中作為 linkerd-config.yml。
要修改Linkerd配置,請執行以下操作:
- 編輯
linkerd-config.yml
- 刪除所有換行符和轉義引號:
cat linkerd-config.json |tr -d '\n '|sed 's/"/\\\\\\\"/g'
- 取代內部內容
linkerd-dcos.json
的cmd
與輸出欄位。
部署linkerd-viz
linkerd-viz是通過Linkerd進行應用程式路由的監控應用程式。作為DC / OS Universe軟體包部署:
dcos package install linkerd-viz
檢視儀表板:
open $(dcos config show core.dcos_url)/service/linkerd-viz
或者,安裝一個自定義版本:
dcos marathon app add https://raw.githubusercontent.com/linkerd/linkerd-viz/master/dcos/linkerd-viz.json
open $PUBLIC_NODE:3000
您現在擁有一個動態路由和受監視的DC / OS群集。
linker-to-linker與簡單代理配置
上述指南描述了在linker-to-linker模式下設定叢集,其中每個Linkerd執行一個incoming
伺服器和一個outgoing
伺服器。這是Linkerd DC / OS Universe軟體包中的預設配置,它提供了必要的拓撲結構來支援linkerd-viz
。如果您對更簡單的http代理配置感興趣,請檢視 linkerd-examples repo中的 簡單代理示例。
進一步閱讀
有關配置Linkerd的更多資訊,請參閱 Linkerd配置頁面。