ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

LEARN ENVOY - Getting Started / On Your Laptop

www.envoyproxy.io

動かした。つまりこういうこと。

f:id:take_she12:20200105214208p:plain

補足

  • service[12]-container において、envoy process と flask process の group は表現できなかった
  • なんか最初の user -> front-envoy のフローで http スキーマのあとの // が消えて斜線になってしまった
  • front の cluster からの通信では、docker-compose の alias で service[12] で 名前解決している
  • listen してる port とか表現できてないけど通信の URL でわかってほしい
  • 肝心の match prefix service/1 の最後の数字が消えてる。。。
  • admin port は省略している。でも 8001 で browser でアクセスするといろんな情報みれて便利

感想

スッと動いて便利。最初の最初にこれやるのはよさそう。

UML

最近また plantuml 使いはじめた。たのしい。こういう Editor で。

PlantUML Editor

uml
@startuml

package "front-envoy-container" {
    [front-envoy-listener]
  [service1-cluster]
  [service2-cluster]
}

package "service1-container" {
    [service1-listener]
  [service1_local_service-cluster]
  [service1_flask]
}

package "service2-container" {
    [service2-listener]
  [service2_local_service-cluster]
  [service2_flask]
}

[user] --> [front-envoy-listener] : "http://localhost:8000/service/1 or http://localhost:8000/service/2"
[front-envoy-listener] --> [service1-cluster] : match: prefix: "/service/1"
[front-envoy-listener] --> [service2-cluster] : match: prefix: "/service/2"
[service1-cluster] --> [service1-listener] : http://service1/service/1:80
[service2-cluster] --> [service2-listener] : http://service2/service/2:80
[service1-listener] --> [service1_local_service-cluster] : match: prefix: "/service"
[service2-listener] --> [service2_local_service-cluster] : match: prefix: "/service"
[service1_local_service-cluster] --> [service1_flask] : http://127.0.0.1:8080
[service2_local_service-cluster] --> [service2_flask] : http://127.0.0.1:8080
@enduml