Networking API の概要

Networking API は Kubernetes カスタム リソースを使用し、Kubernetes リソースモデル(KRM)に依存しています。

kubectl CLI を使用して Networking API を介して、Google Distributed Cloud(GDC)エアギャップでネットワークを作成、管理します。

この API を使用すると、Distributed Cloud のほとんどのネットワーク リソースを管理できます。 標準クラスタのロード バランシングを管理するには、クラスタでタイプ LoadBalancer の Kubernetes Service オブジェクトを直接使用します。 内部ロードバランサの構成外部ロードバランサの構成で説明されています。

サービス エンドポイント

Networking API は、ゾーン デプロイまたはグローバル デプロイに応じて 2 つのパッケージで提供されます。

ゾーン Networking API とグローバル Networking API の API エンドポイントは次のとおりです。

  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/networking.gdc.goog/v1
  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/networking.global.gdc.goog/v1

MANAGEMENT_API_SERVER_ENDPOINT は、Management API サーバーのエンドポイントに置き換えます。

ディスカバリ ドキュメント

kubectl proxy --port=8001 コマンドを使用して、ローカルマシン上の API サーバーへのプロキシを開きます。ここから、次の URL でディスカバリ ドキュメントにアクセスできます。

  • http://127.0.0.1:8001/apis/networking.gdc.goog/v1
  • http://127.0.0.1:8001/apis/networking.global.gdc.goog/v1

上り(内向き)クロス プロジェクト トラフィック ポリシーの例

次に、project-1 プロジェクトのワークロードが project-2 プロジェクトのワークロードからの接続と、同じフローの戻りトラフィックを許可できるようにする ProjectNetworkPolicy オブジェクトの例を示します。

apiVersion: networking.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: project-1
  name: allow-ingress-traffic-from-project-2
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projects:
        matchNames:
        - project-2