Visão geral da API Networking

A API Networking usa recursos personalizados do Kubernetes e depende do modelo de recursos do Kubernetes (KRM).

Crie e gerencie redes no Google Distributed Cloud (GDC) isolado usando a API Networking com a CLI kubectl.

Essa API pode ser usada para gerenciar a maioria dos recursos de rede no Distributed Cloud. Para gerenciar o balanceamento de carga de clusters padrão, use o objeto Service do Kubernetes do tipo LoadBalancer diretamente no cluster, conforme descrito em Configurar balanceadores de carga internos e Configurar balanceadores de carga externos.

Endpoint de serviço

As APIs Networking são fornecidas em dois pacotes, dependendo da implantação zonal ou global.

Os endpoints de API para as APIs Networking zonais e globais são os seguintes, respectivamente:

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

Substitua MANAGEMENT_API_SERVER_ENDPOINT pelo endpoint do servidor da API Management.

Documento de descoberta

Use o comando kubectl proxy --port=8001 para abrir um proxy para o servidor de API na máquina local. A partir daí, é possível acessar o documento de descoberta nos seguintes URLs:

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

Exemplo de política de tráfego entre projetos de entrada

A seguir, confira um exemplo de um objeto ProjectNetworkPolicy que permite que cargas de trabalho no projeto project-1 permitam conexões de cargas de trabalho no projeto project-2, bem como o tráfego de retorno para os mesmos fluxos:

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