1. 程式人生 > >《Istio官方文件》Google Kubernetes引擎快速入門

《Istio官方文件》Google Kubernetes引擎快速入門

Google Kubernetes引擎快速入門

這種快速啟動用來建立一個新的GKE叢集,安裝Istio然後部署示例應用程式。它使用Deployment Manager自動執行,在詳細介紹。

注:預設安裝將建立一個GKE ,允許。由於它是一個alpha群集,它不支援自動節點或主升級,將在30天后自動刪除。

先決條件

  • 此示例需要啟用具備結算功能且有效的Google雲端平臺專案。如果您不是現有的GCP使用者,則可以註冊300美元的免費試用信用。
  • 確保為您的專案啟用了(也可以通過導航欄中的導航到“APIs&Services” – >“Dashboard”找到)。如果您沒有看到“啟用API”,則可以通過單擊“啟用此API”按鈕來啟用API。
  • 您必須安裝和配置幷包含kubectl元件(gcloud components install kubectl)。如果你不想在自己的機器上安裝gcloud客戶端,可以使用gcloud通過谷歌雲指令碼執行相同的任務。
  • 警告:您必須將您的預設計算服務帳戶設定為包括:
    • roles/container.admin (Kubernetes引擎管理員)
    • Editor (預設情況下)

    要設定此項,請導航到雲控制檯IAM部分,並以以下形式 [email protected] 查詢預設的GCE / GKE服務帳戶:預設情況下,它應該具有編輯者角色。然後在該帳戶的角色下拉列表中找到Kubernetes引擎

    組,然後選擇角色Kubernetes引擎管理員。您的帳戶的角色列表將更改為多個

建立

啟動部署管理器

  1. 一旦啟用了帳戶和專案,請單擊以下連結開啟“部署管理器”。

    我們建議您保留預設設定,因為本教程的其餘部分將介紹如何訪問已安裝的功能。預設情況下,工具建立具有指定設定的GKE alpha 叢集,然後安裝Istio 控制面版BookInfo示例應用程式,GrafanaPrometheusServiceGraph,和Zipkin。你會發現更多關於如何訪問下面的所有這些。

  2. 點選部署: GKE-Istio啟動器

等到Istio完全部署。請注意,這可能需要五分鐘。

Bootstrap gcloud

完成部署後,在已安裝gcloud的工作站上執行以下操作:

  1. 對剛剛建立的叢集執行bootstrap kubectl,並確認叢集正在執行,istio已啟用
    gcloud container clusters list
    
    NAME             ZONE           MASTER_VERSION                    MASTER_IP       MACHINE_TYPE   NODE_VERSION  NUM_NODES  STATUS
    istio-cluster  us-central1-a  1.7.8-gke.0 ALPHA (29 days left)  130.211.216.64  n1-standard-2  1.7.8-gke.0   3          RUNNING

    在這種情況下,群集名稱是 istio-cluster

  2. 現在獲取此群集的證書
    gcloud container clusters get-credentials istio-cluster --zone=us-central1-a

驗證安裝

驗證Istio安裝在它自己的名稱空間中

kubectl get deployments,ing -n istio-system

現在確認BookInfo示例應用程式也已安裝:

kubectl get deployments,ing

記下分配給BookInfo產品頁面的IP和埠。(在上面的例子中,它為:35.202.120.89:80。

您還可以使用雲控制檯上的* Kubernetes引擎 – >工作負載部分檢視安裝: GKE-工作負載

訪問BookInfo示例

  1. 為BookInfo的外部IP地址設定一個環境變數:
    kubectl get ingress -o wide
    export GATEWAY_URL=35.202.120.89
  2. 確認您可以訪問BookInfo http://${GATEWAY_URL}/productpage
  3. 現在與它通訊:
    for i in {1..100}; do curl -o /dev/null -s -w "%{http_code}\n" http://${GATEWAY_URL}/productpage; done

驗證已安裝的Istio外掛

一旦您確認了Istio控制面板和示例應用程式正在執行,請嘗試訪問已安裝的Istio外掛。

如果您使用雲端Shell而不是安裝的gcloud客戶端,則可以使用其Web預覽功能進行埠轉發和代理。例如,要從Cloud Shell訪問Grafana,請將kubectl埠對映從3000:3000更改為8080:3000。您可以通過8080到8084範圍內的Web Preview代理同時預覽其他四個控制檯。

Grafana

建立一個通往Grafana的隧道:

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &

然後

http://localhost:3000/dashboard/db/istio-dashboard

您應該會看到您之前傳送請求的一些統計資訊。

Grafana

有關使用Grafana的更多詳細資訊,請參閱。

Prometheus

Prometheus與Grafana一起安裝。您可以使用控制檯檢視Istio和應用程式指標,如下所示:

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 9090:9090 &

檢視控制檯:

http://localhost:9090/graph

Prometheus

ServiceGraph

建立到ServiceGraph的隧道:

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=servicegraph -o jsonpath='{.items[0].metadata.name}') 8088:8088 &

您應該看到BookInfo服務拓撲在

http://localhost:8088/dotviz

ServiceGraph

追蹤

建立一個隧道到Zipkin:

kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=zipkin -o jsonpath='{.items[0].metadata.name}') 9411:9411 &

您應該看到之前傳送的跟蹤統計資訊:

http://localhost:9411

Zipkin

有關跟蹤的更多細節,請參閱。

下一步是什麼

您可以按照指南部分中的任何教程進一步探索BookInfo應用程式和Istio功能。但是,要做到這一點,你需要安裝istioctl與Istio互動。您可以其直接安裝在我們的工作站上或在雲端Shell中。

解除安裝

  1. 選擇部署,然後單擊刪除
  2. 部署管理器將刪除所有已部署的GKE工件 – 但是,Ingress和LoadBalancers等專案將保留。您可以通過在網路服務 – > 下再次轉到雲控制檯來刪除這些工件