設定私人 IP Cloud Composer 環境

本頁面說明如何設定私人 IP Cloud Composer 環境。

當您啟用私人 IP 時,Cloud Composer 只會為環境中的代管 Google Kubernetes Engine 和 Cloud SQL VM 指派私人 IP (RFC 1918) 位址。

如要瞭解如何連線至環境中的資源,請參閱私人 IP 一文。

事前準備

存取權控管

網路需求

請確認您專案的虛擬私人雲端網路符合下列條件:

  • 確認沒有任何私人 IP 區塊衝突。如果您的虛擬私人雲端網路和其現有虛擬私人雲端網路對等端,與 Google 代管用戶群專案中的虛擬私人雲端網路有重疊的 IP 區塊,Cloud Composer 就無法建立環境。
  • 確認次要 IP 範圍足以供 Cloud Composer GKE pod 和服務使用。GKE 會搜尋次要 IP 範圍以用於 IP 別名。如果 GKE 找不到範圍,Cloud Composer 就無法建立環境。
  • 在私人 IP Cloud Composer 環境的虛擬私人雲端網路中,請確認現有子網路和次要範圍未使用 IP 範圍 172.31.255.0/24。私人 IP Cloud Composer 環境會使用這個 IP 範圍進行網路對等互連。如果發生 IP 衝突,環境建立作業可能會失敗。
  • 確認虛擬私人雲端網路中的虛擬私人雲端對等互連連線數未超過 25 個。請考慮以下幾點:
    • 針對每個私人 IP Cloud Composer 環境,Cloud Composer 會分別建立一個對等互連連線以用於用戶群專案網路。
    • 私人 GKE 叢集會在虛擬私人雲端網路中建立另一個虛擬私人雲端對等互連連線。
    • Cloud Composer 支援的私人 IP Cloud Composer 環境數量上限為 12 個。
    • 您可以建立的私人 IP Cloud Composer 環境數量上限,取決於您在虛擬私人雲端網路中使用的虛擬私人雲端對等互連連線數量。
  • 確認子網路中的次要範圍數量未超過 5 個。請考慮以下幾點:
    • 私人 IP Cloud Composer 環境的 GKE 叢集會在子網路中建立兩個次要範圍。您可以為同一虛擬私人雲端網路,在相同地區中建立多個子網路。
    • 支援的次要範圍數量上限為 5 個。每個私人 IP Cloud Composer 環境都需要兩個次要範圍供 Cloud Composer GKE pod 和服務使用,因此每個子網路最多支援兩個私人 IP Cloud Composer 環境。

虛擬私人雲端原生設定的 API 支援

如果您在 GCP 主控台或 Cloud SDK 啟用私人 IP,系統預設會啟用虛擬私人雲端原生設定。

目前您必須使用 v1beta1 RESTRPC API 進行下列網路設定:

  • 啟用私人 IP 和虛擬私人雲端原生設定。
  • 設定 IP 別名次要範圍並指定 master-ipv4-cidr-block

    例如:

    curl --request POST -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       https://composer.googleapis.com/v1beta1/projects/test-project/locations/asia-northeast1/environments \
       --data '{"config": {"nodeConfig": {"diskSizeGb": 100, "ipAllocationPolicy": {"useIpAliases": true, clusterIpv4CidrBlock: "10.180.0.0/20", servicesIpv4CidrBlock: "10.182.0.0/20"}, "network": "projects/test-project/global/networks/default",
       "subnetwork": "projects/test-project/regions/asia-northeast1/subnetworks/default"},"softwareConfig": {"imageVersion": "composer-1.6.0-airflow-1.10.1"}}, "name": "projects/test-project/locations/asia-northeast1/environments/vpcnative"}'
    

啟用私人 IP Cloud Composer 環境

主控台

  1. 在 Google Cloud Platform 主控台中開啟「Create Environment」(建立環境) 頁面。

    開啟「Create Environment」(建立環境) 頁面

  2. 設定您的環境
  3. 如要啟用私人 IP Cloud Composer 環境,請勾選 [Private IP environment] (私人 IP 環境)。
  4. 如要為環境中的 GKE 叢集啟用公開端點,請勾選 [Access GKE master using its external IP address] (透過外部 IP 位址存取 GKE 主要執行個體)

    叢集的設定為停用公開端點存取權

  5. 在「GKE master IP range」(GKE 主要執行個體 IP 範圍) 中,輸入主要執行個體虛擬私人雲端的私人 RFC 1918 範圍。
  6. 設定完環境後,按一下 [Create] (建立)。

gcloud

視需要設定您的環境,包括私人 IP Cloud Composer 環境的下列引數:

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION --enable-private-environment \
    OTHER_ARGUMENTS

除非另有說明,否則您必須提供下列參數:

  • ENVIRONMENT_NAME 是環境的名稱,必須符合以下格式:^[a-z](?:[-0-9a-z]{0,62}[0-9a-z])?$
  • LOCATION 是環境所在的 Compute Engine 地區。
  • --enable-private-environment:啟用私人 IP Cloud Composer 環境。
  • master-ipv4-cidr:指定主要執行個體虛擬私人雲端的私人 RFC 1918 範圍。
  • (選用) enable-private-endpoint:為環境中的 GKE 叢集啟用公開端點。叢集的設定為停用公開端點存取權

下列範例會在 us-central1 地區中,建立執行最新受支援 Cloud Composer 映像檔版本的環境,該環境使用 n1-standard-2 機器類型,並具有 beta 環境標籤。

環境會啟用私人 IP,且 GKE 主要執行個體虛擬私人雲端的 IP 範圍為 192.0.2.0/28

gcloud beta composer environments create test-environment \
    --location us-central1 \
    --zone us-central1-f \
    --machine-type n1-standard-2 \
    --image-version composer-latest-airflow-x.y.z \
    --labels env=beta  \
    --enable-private-environment \
    --enable-private-endpoint \
    --master-ipv4-cidr 192.0.2.0/28 

API

如要使用 Cloud Composer REST API 建立新的 Cloud Composer 環境,請建構 environments.create API 要求,並在 Environment 資源中填入設定資訊。

例如:

POST https://composer.googleapis.com/v1beta1/projects/test-project/locations/us-central1/environments
      {
  "config": {
    "nodeConfig": {
      "diskSizeGb": 100,
      "ipAllocationPolicy": {
        "useIpAliases": true
      },
      "network": "projects/test-project/global/networks/default",
      "subnetwork": "projects/test-project/regions/us-central1/subnetworks/default"
    },
    "softwareConfig": {
      "imageVersion": "composer-1.5.2-airflow-1.10.1"
    }
  },
  "name": "projects/test-project/locations/us-central1/environments/vpcnative-test"
}

設定次要範圍

目前您必須使用 Cloud Composer API 設定次要範圍和 IPv4 CIDR 區塊。

如要使用 Cloud Composer REST API 建立新的 Cloud Composer 環境,請建構 environments.create API 要求,並在 Environment 資源中填入設定資訊。

例如:

POST https://composer.googleapis.com/v1beta1/projects/test-project/locations/us-central1/environments
      {
  "config": {
    "nodeConfig": {
      "diskSizeGb": 100,
      "ipAllocationPolicy": {
        "useIpAliases": true,
        "clusterIpv4CidrBlock": "10.180.0.0/20",
        "servicesIpv4CidrBlock": "10.182.0.0/20"
      },
      "network": "projects/test-project/global/networks/default",
      "subnetwork": "projects/test-project/regions/us-central1/subnetworks/default"
    },
    "softwareConfig": {
      "imageVersion": "composer-1.5.2-airflow-1.10.1"
    }
  },
  "name": "projects/test-project/locations/us-central1/environments/vpcnative-test"
}
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Composer