Os balanceadores de carga externos (ELB) expõem serviços fora do projeto a partir dos endereços IP de um conjunto atribuídos ao projeto a partir do conjunto de IPs externos de instâncias maior.
Os endereços IP virtuais (VIP) do ELB não entram em conflito entre organizações e são únicos em todas as organizações. Por este motivo, tem de usar os serviços ELB apenas para serviços aos quais os clientes fora do projeto têm necessariamente de aceder.
As cargas de trabalho executadas no projeto podem aceder aos serviços ELB, desde que permita que as cargas de trabalho saiam do projeto. Este padrão de tráfego requer efetivamente tráfego de saída do projeto antes de regressar ao serviço interno.
Antes de começar
Para configurar os serviços ELB, tem de ter o seguinte:
- Ser proprietário do projeto para o qual está a configurar o equilibrador de carga. Para mais informações, consulte Crie um projeto.
- Uma política de entrada (PNP)
ProjectNetworkPolicy
personalizada para permitir o tráfego para este serviço ELB. Para mais informações, consulte o artigo Configure o PNP para permitir tráfego para o ELB. As funções de identidade e acesso necessárias:
- Administrador de NetworkPolicy do projeto: tem acesso à gestão de políticas de rede do projeto no espaço de nomes do projeto. Peça ao administrador do IAM da organização que lhe conceda a função de administrador de NetworkPolicy do projeto (
project-networkpolicy-admin
). - Administrador do balanceador de carga: peça ao administrador do IAM da organização para lhe conceder a função de administrador do balanceador de carga (
load-balancer-admin
).
- Administrador de NetworkPolicy do projeto: tem acesso à gestão de políticas de rede do projeto no espaço de nomes do projeto. Peça ao administrador do IAM da organização que lhe conceda a função de administrador de NetworkPolicy do projeto (
Configure o PNP para permitir tráfego para o ELB
Para que os serviços ELB funcionem, tem de configurar e aplicar a sua própria política de entrada personalizada para permitir o tráfego para este serviço ELB.ProjectNetworkPolicy
Especifique o endereço CIDR externo para permitir tráfego para este ELB:
kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f - <<EOF
apiVersion: networking.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
namespace: PROJECT
name: allow-inbound-traffic-from-external
spec:
policyType: Ingress
subject:
subjectType: UserWorkload
ingress:
- from:
- ipBlock:
cidr: CIDR
ports:
- protocol: TCP
port: PORT
EOF
Substitua o seguinte:
MANAGEMENT_API_SERVER
: o caminho kubeconfig do caminho kubeconfig do servidor da API Management. Se ainda não gerou um ficheiro kubeconfig para o servidor da API na sua zona segmentada, consulte Iniciar sessão para ver detalhes.PROJECT
: o nome do seu projeto do GDC.CIDR
: o CIDR externo a partir do qual o ELB tem de ser acedido. Esta política é necessária porque o balanceador de carga externo usa o retorno direto do servidor (DSR), que preserva o endereço IP externo de origem e ignora o balanceador de carga no caminho de retorno.PORT
: a porta de back-end nos agrupamentos atrás do balanceador de carga. Este valor encontra-se no campo.spec.ports[].targetPort
Service
do manifesto para o recursoService
.
Crie um balanceador de carga externo
Crie ELBs com três métodos diferentes no GDC:
- Use a CLI gdcloud para criar ELBs.
- Use a API Networking Kubernetes Resource Model (KRM) para criar ELBs.
Pode segmentar cargas de trabalho de pods ou VMs através da API KRM e da CLI gdcloud. Só pode segmentar cargas de trabalho no cluster onde o objeto Service
é criado quando usa o serviço Kubernetes diretamente no cluster Kubernetes.