Network Service Mesh發布0.2版本,來Run示例玩玩

  • 2019 年 12 月 4 日
  • 筆記

先決條件

確保你有以下依賴運行NSM(Network Service Mesh)

  • 一個Kubernetes集群 – 好的選擇包括:
    • kind – 通常是最簡單的選擇
    • vagrant – 有用的,如果你需要在節點級別調試
    • gke
    • azure
    • aws
  • kubectl
  • helm

安裝

helm repo add nsm https://helm.nsm.dev/ # Add the latest release nsm helm repo  helm install nsm/nsm # Install the nsm infrastructure in your Kubernetes Cluster

如果你需要更多關於Helm的幫助。

https://github.com/networkservicemesh/networkservicemesh/blob/master/docs/guide-helm.md

你應該能夠確認安裝

kubectl get pods | grep nsm

輸出:

nsm-admission-webhook-584c8dd8cb-rj754   1/1     Running   0          107s  nsm-vpp-forwarder-274f9                  1/1     Running   0          105s  nsm-vpp-forwarder-6dvld                  1/1     Running   0          106s  nsm-vpp-forwarder-zc799                  1/1     Running   0          105s  nsmgr-7mvq4                              3/3     Running   0          106s  nsmgr-bkmwk                              3/3     Running   0          106s  nsmgr-lrvwg                              3/3     Running   0          107s

運行

nsm helm repo有三個示例:

helm search nsm | grep -i example

輸出:

nsm/icmp-responder              0.2.0           0.2.0           Endpoints and Clients for ICMP Responder Use Case  nsm/vpn                         0.2.0           0.2.0           Endpoints and Clients for VPN Use Case  nsm/vpp-icmp-responder          0.2.0           0.2.0           Endpoints and Clients for VPP ICMP Responder Use Case
  • icmp-responder – 一個簡單的示例,連接一個應用Pod客戶端到網路服務。
  • vpp-icmp-responder – 一個使用memif將基於vpp的Pod連接到網路服務的簡單示例。
  • vpn – 一個模擬應用Pod客戶端連接到一個網路服務的示例,該網路服務實現為一個模擬vpn用例的鏈 https://networkservicemesh.io/docs/examples/icmp-responder/ https://networkservicemesh.io/docs/examples/vpp-icmp-responder/ https://networkservicemesh.io/docs/examples/vpn/

icmp-respondershi示例

對於NSM(Network Service Mesh)來說,最簡單的情況是通過vWire將客戶機連接到提供網路服務的另一個Pod。我們將這種情況稱為「icmp-responder」示例,因為它允許客戶端通過vWire ping端點的IP地址。

部署

利用Run指令(上面提到得)安裝NSM基礎設施,然後鍵入:

https://networkservicemesh.io/docs/setup/run/

helm install nsm/icmp-responder

它所完成的

這將安裝兩個部署(Deployment):

並使每個客戶端獲得一個連接到其中一個端點的vWire。NSM處理網路服務發現和路由,以及vWire的「連接處理」來設置所有這些。

為了使這個案例更有趣,使用PodAntiAffinity將Endpoint1和Endpoint2部署在兩個單獨的節點上,因此NSM必須演示在相同節點上的客戶機和端點之間,以及不同節點上的客戶機和端點之間串連vWire的能力。

驗證

首先驗證icmp-responder示例的Pod都是啟動和運行:

kubectl get pods | grep icmp-responder

要查看icmp-responder示例在跑,你可以運行:

curl -s https://raw.githubusercontent.com/networkservicemesh/networkservicemesh/master/scripts/nsc_ping_all.sh | bash

更多示例

社區在examples/中維護了其它的示例

https://github.com/networkservicemesh/examples