Configurazione di un Application Load Balancer for VPC
Esponi la tua applicazione alla rete pubblica o privata configurando un servizio LoadBalancer Kubernetes nel tuo cluster. Quando rendi pubblica la tua app, viene creato automaticamente un VPC ALB ( Application Load Balancer for VPC
) all’interno del tuo VPC, al di fuori del cluster, che instrada le richieste verso la tua app. A questo punto, è possibile, se lo si desidera, registrare l'ALB VPC con un record DNS e un certific TLS. Gli ALB VPC supportano
esclusivamente il protocollo TCP.
Non confondere l' Application Load Balancer for VPC con i bilanciatori di carico delle applicazioni Ingress Red Hat OpenShift on IBM Cloud. I bilanciatori di carico delle applicazioni per VPC (VPC ALB) vengono eseguiti all’esterno del cluster,
all’interno della VPC, e vengono configurati tramite i servizi Kubernetes LoadBalancer creati dall’utente. Gli application load balancer(ALB)di Ingress sono
controllori di Ingress eseguiti sui nodi worker del cluster.
Impostazione di un VPC ALB pubblico o privato
Prima di iniziare
- Assicurarsi di avere il ruolo Writer o Manager IBM Cloud ruolo di accesso al servizio IAM per lo spazio dei nomi in cui si distribuisce
il servizio Kubernetes
LoadBalancerper la VPC ALB. - Accedi al tuo cluster Red Hat OpenShift.
- Per visualizzare gli ALB VPC, installare il plug-in
infrastructure-service. Il prefisso per l'esecuzione dei comandi èibmcloud is.ibmcloud plugin install infrastructure-service
Per consentire alla tua app di ricevere richieste pubbliche o private:
-
Distribuisci la tua applicazione al cluster. Assicurati di aggiungere un'etichetta nella sezione dei metadati del tuo file di configurazione della distribuzione. Questa etichetta personalizzata identifica tutti i pod su cui viene eseguita la tua applicazione per includerli nel bilanciamento del carico.
-
Creare un file YAML di configurazione per il servizio Kubernetes
LoadBalancer. Nel file YAML, specificare l'annotazioneservice.kubernetes.io/ibm-load-balancer-cloud-provider-ip-typecome"public"o"private". La sezioneannotationsnel file di esempio include solo alcune annotazioni disponibili. Per un elenco completo delle annotazioni VPC ALB necessarie e opzionali, vedere Annotazioni e specifiche.Per rendere il vostro VPC ALB facilmente identificabile, considerate di nominare il servizio nel formato
<app_name>-vpc-alb-<VPC_zone>.apiVersion: v1 kind: Service metadata: name: myloadbalancer annotations: service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name: "`<app_name>-vpc-alb-<VPC_zone>`" service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol" service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "<public_or_private>" service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-node-selector: "<key>=<value>" spec: type: LoadBalancer selector: <selector_key>: <selector_value> ports: - name: http protocol: TCP port: 8080 targetPort: 8080 # Optional. By default, the `targetPort` is set to match the `port` value unless specified otherwise. - name: https protocol: TCP port: 443 targetPort: 443 # Optional. By default, the `targetPort` is set to match the `port` value unless specified otherwise. externalTrafficPolicy: Local # Specify Local or Cluster. -
Crea il servizio
LoadBalancerKubernetes nel tuo cluster.oc apply -f myloadbalancer.yaml -n <namespace> -
Verifica che il servizio
LoadBalancerKubernetes sia stato creato correttamente nel tuo cluster. Al momento della creazione del servizio, il campo " LoadBalancer " (Ingress ) viene compilato con un nome host assegnato dall'ALB della VPC.
L'ALB della VPC richiede alcuni minuti per essere configurato nella tua VPC. Non è possibile accedere all'app utilizzando il nome host del servizio Kubernetes LoadBalancer finché l'ALB VPC non sarà stato completamente
configurato.
```sh {: pre}
oc describe svc myloadbalancer -n <namespace>
```
Output della CLI di esempio per un servizio `LoadBalancer` pubblico:
```sh {: screen}
NAME: myvpcalb
Namespace: default
Labels: <none>
Annotations:
Selector: app=echo-server
Type: LoadBalancer
IP: 172.21.XX.XX
LoadBalancer Ingress: 1234abcd-us-south.lb.appdomain.cloud
Port: tcp-80 80/TCP
TargetPort: 8080/TCP
NodePort: tcp-80 30610/TCP
Endpoints: 172.17.17.133:8080,172.17.22.68:8080,172.17.34.18:8080 + 3 more...
Session Affinity: None
External Traffic Policy: Local
HealthCheck NodePort: 31438
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal EnsuringLoadBalancer 16m service-controller Ensuring load balancer
Normal EnsuredLoadBalancer 15m service-controller Ensured load balancer
Normal CloudVPCLoadBalancerNormalEvent 13m ibm-cloud-provider Event on cloud load balancer myvpcalb for service default/myvpcalb with UID 08cbacf0-2c93-4186-84b6-c4ab88a2faf9: The VPC load balancer that routes requests to this Kubernetes LoadBalancer service is currently online/active.
```
-
Verifica che l'ALB della VPC sia stato creato correttamente nella tua VPC. Nell'output, verificare che l'ALB VPC presenti uno stato operativo (Operating Status ) pari a "
online" e uno stato di provisioning (Provision Status ) pari a "active".ibmcloud is load-balancersNell'esempio seguente, che riporta l'output della CLI, viene creato l'ALB VPC denominato "
kube-bsaucubd07dhl66e4tgg-1f4f408ce6d2485499bcbdec0fa2d306" per il servizio " Kubernetes "LoadBalancer:ID Name Family Subnets Is public Provision status Operating status Resource group r006-d044af9b-92bf-4047-8f77-a7b86efcb923 kube-bsaucubd07dhl66e4tgg-1f4f408ce6d2485499bcbdec0fa2d306 Application mysubnet-us-south-3 true active online default -
Se hai creato un servizio pubblico
LoadBalancer, esegui il comando curl specificando il nome host del servizio KubernetesLoadBalancerassegnato dall'ALB della VPC che hai individuato al punto 4. Esempio:curl 06496f64-us-south.lb.appdomain.cloud:8080Output di esempio
Hello world from hello-world-deployment-5fd7787c79-sl9hn! Your app is up and running in a cluster!Se hai creato un servizio
LoadBalancerprivato, devi essere connesso alla tua rete VPC privata per eseguire curl per il nome host.
Non eliminare le sottoreti che hai collegato al tuo cluster durante la sua creazione o quando aggiungi nodi di lavoro in una zona. Se elimini una sottorete VPC utilizzata dal tuo cluster, qualsiasi programma di bilanciamento del carico che utilizza gli indirizzi IP dalla sottorete potrebbe presentare dei problemi e potresti non essere in grado di creare nuovi programmi di bilanciamento del carico.
Gli ALB e gli NLB VPC che non sono associati a cluster Kubernetes o OpenShift possono essere aggiornati direttamente utilizzando i comandi "ibmcloud is" o la sezione " Infrastruttura VPC " nella console. Ad esempio, modificare la porta di un ascoltatore front-end o il valore di timeout del controllo di salute. Tuttavia, per i bilanciatori di carico VPC associati a cluster Kubernetes o OpenShift, eventuali aggiornamenti devono essere effettuati tramite annotazioni nella configurazione di Ingress. Il provider " IBM Cloud " esegue periodicamente la risincronizzazione con tutti gli ALB e gli NLB associati alla VPC, per garantire che il bilanciatore di carico in esecuzione sia conforme alla configurazione prevista da Ingress. Pertanto, se si apportano modifiche a tale bilanciatore di carico direttamente tramite VPC invece di utilizzare le annotazioni Ingress, tali modifiche vengono annullate.
Registrazione di un record DNS e di un certific TLS
L'ALB di VPC ( Application Load Balancer for VPC, VPC ALB) fornisce un nome host predefinito HTTP nel formato 1234abcd-<region>.lb.appdomain.cloud, tramite il quale è possibile accedere alla propria app. Tuttavia, se desideri
un certificato TLS per il dominio della tua app a supporto di HTTPS, puoi creare un sottodominio fornito da IBM oppure utilizzare un dominio personalizzato sia per gli ALB delle VPC pubbliche che per quelli delle VPC private.
Dopo aver creato un sottodominio DNS per un nome host VPC ALB, non è possibile utilizzare i comandi nlb-dns health-monitor per creare un controllo di integrità personalizzato. Viene invece utilizzato il controllo di integrità predefinito
del bilanciatore di carico VPC, previsto per il nome host predefinito dell'ALB VPC. Per ulteriori informazioni, consulta la documentazione VPC.
Prima di iniziare
- Impostare un VPC ALB. Assicurati di definire una porta HTTPS nel servizio Kubernetes
LoadBalancerche configura l'ALB VPC. - Per utilizzare il certificato " TLS " per accedere alla tua app tramite HTTPS, la tua app deve essere in grado di terminare le connessioni TLS.
Per registrare un hostname VPC ALB con un sottodominio DNS:
-
Recuperare il nome host dell'ALB VPC eseguendo il comando
get svc. Nell'output, cerca il nome host nella colonna EXTERNAL-IP. Ad esempio,1234abcd-us-south.lb.appdomain.cloud.oc get svc -o wideOutput di esempio
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR ... webserver-lb LoadBalancer 172.21.xxx.xxx 1234abcd-us-south.lb.appdomain.cloud 8080:30532/TCP 1d run=webserver -
Creare un sottodominio DNS personalizzato o fornito da IBM per il nome host del bilanciatore di carico.
-
Dominio personalizzato: inserisci il tuo dominio personalizzato e assegnagli un alias specificando l'IP esterno del bilanciatore di carico, nel formato
1234abcd-us-south.lb.appdomain.cloudcome record di nome canonico (CNAME).- Registra un dominio personalizzato lavorando con il tuo provider DNS (Domain Name Service) o il DNS IBM Cloud.
- Definisci un alias per il tuo dominio personalizzato specificando l'IP esterno del bilanciatore di carico come record di nome canonico (CNAME). Nell'esempio seguente, il bilanciatore di carico con l'IP esterno di
1234abcd-us-south.lb.appdomain.cloudè raggiungibile awww.your-custom-domain.com.
- Host/Servizio
- Il prefisso da cui si vuole raggiungere l'applicazione, ad esempio
www. - Tipo di risorsa
- Selezionare
CNAME. - TTL
- Scegliere un tempo di vita.
- Valore/obiettivo
- L'IP esterno LoadBalancer recuperato in precedenza. Ad esempio
1234abcd-us-south.lb.appdomain.cloud.. Quando si usa il DNS IBM Cloud, assicurarsi di inserire un punto finale.
-
IBM-sottodominio fornito: utilizzare i comandi
nlb-dnsper generare un sottodominio con un certificato TLS per il nome host dell'ALB della VPC. IBM Cloud si occupa di generare e gestire per conto dell'utente il certificato TLS con caratteri jolly per il sottodominio.- Crea un sottodominio DNS e un certificato TLS.
ibmcloud oc nlb-dns create vpc-gen2 --cluster CLUSTER_NAME_OR_ID --lb-host VPC_LB_HOSTNAME --type (public|private) - Verifica che il dominio secondario sia stato creato. Per ulteriori informazioni, vedi Descrizione del formato del dominio secondario.
Output di esempioibmcloud oc nlb-dns ls --cluster CLUSTER_NAME_OR_IDSubdomain Load Balancer Hostname Health Monitor SSL Cert Status SSL Cert Secret Name mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud ["1234abcd-us-south.lb.appdomain.cloud"] None created <certificate>
- Crea un sottodominio DNS e un certificato TLS.
-
-
Se hai creato un sottodominio per un ALB VPC pubblico, apri un browser web e digita l'indirizzo URL per accedere alla tua app tramite il sottodominio, come nell'esempio
www.your-custom-domain.com. Se hai creato un sottodominio per un ALB VPC privato, devi essere connesso alla tua rete VPC privata per verificare l'accesso al sottodominio.
Per utilizzare il certificato TLS per accedere alla tua app tramite HTTPS, assicurati di aver definito una porta HTTPS nel tuo servizio Kubernetes LoadBalancer. È possibile verificare che le richieste
vengano correttamente instradate attraverso la porta HTTPS eseguendo il comando curl -v --insecure https://<domain>. Un errore di connessione indica che sul servizio non è aperta alcuna porta HTTPS. Inoltre, assicurati che
la tua applicazione possa terminare le connessioni TLS. È possibile verificare che l'app si chiuda correttamente all'indirizzo TLS eseguendo il comando curl -v https://<domain>. Un errore di certificato indica che la tua
applicazione non sta terminando correttamente le connessioni TLS.
Registrazione di un record DNS privato per un VPC ALB privato
Nella versione 4.15 o successiva è possibile utilizzare le seguenti annotazioni opzionali per associare un proprio DNS instance che serve un DNS personalizzato zone a un VPC ALB privato. A tal fine, devono essere
impostate entrambe le annotazioni opzionali. Se non vengono specificati, i record DNS di tipo “ A ” relativi alla proprietà “ hostname ” di questo bilanciatore di carico vengono aggiunti alla zona DNS pubblica lb.appdomain.cloud.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "private-dns-crn"- L'
instancee DNS da associare a questo bilanciatore di carico. L'istanza specificata può trovarsi in una regione o in un account diverso, in base ai criteri IAM. Valori possibili: 9 ≤ lunghezza ≤ 512 service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "dns-zone-id"- L'
zonee DNS da associare a questo bilanciatore di carico. La zona specificata può trovarsi in una regione o in un account diverso, in base ai criteri IAM. Valori possibili: 1 ≤ lunghezza ≤ 128, Il valore deve corrispondere all'espressione regolare [1]*[a-z0-9]$
Prima di poter utilizzare questa funzione, è necessario eseguire le seguenti operazioni:
- Creare la zona DNS che può essere vincolata a un bilanciatore di carico
- Abilitare l'autorizzazione da servizio a servizio tra le LB VPC e i DNS Services
- Aggiungere la VPC del cluster alle reti consentite della zona
Per informazioni dettagliate, consultare i documenti Integrazione di un bilanciatore di carico delle applicazioni con IBM Cloud DNS Services e Aggiungi una VPC come rete consentita alla zona DNS.
Esempio:
apiVersion: v1
kind: Service
metadata:
name: myloadbalancer
annotations:
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name: "my-load-balancer"
service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "private"
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "d66662cc-aa23-4fe1-9987-858487a61f45"
spec:
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: 169.60.115.164
...
Annotazioni e specifiche
Esaminare le annotazioni e le specifiche VPC ALB necessarie e facoltative.
Annotazioni e specifiche richieste
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "alb"- Annotazione per creare un VPC ALB. Se non si include
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features, il provisioning di un VPC ALB è predefinito. service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "private"- (Richiesto per gli ALB VPC privati) Annotazione per specificare un servizio che accetta richieste pubbliche o private. Se questa annotazione non è inclusa, viene creato un VPC ALB pubblico.
externalTrafficPolicy- Specificare
Clusterper inoltrare una richiesta a un nodo worker che contiene l'app pod. Questo nodo worker potrebbe trovarsi in una zona diversa. Per impostazione predefinita, questa annotazione è impostata su “Cluster”. - Specificare
Localper impedire l'inoltro del traffico in entrata a un altro nodo. Questa opzione configura anche i controlli di salute di HTTP. - Si noti che per utilizzare l'IP di origine del client originale per gli ALB VPC, è necessario abilitare il protocollo PROXY con l'annotazione
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol".
Annotazioni e specifiche facoltative
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name- Includere un nome unico per rendere persistente il bilanciatore di carico VPC. I bilanciatori di carico VPC persistenti non vengono eliminati quando viene eliminato il cluster a cui appartengono. Per ulteriori informazioni, vedere Bilanciatori di carico VPC persistenti. Questa annotazione può essere impostata solo alla creazione del bilanciatore di carico. Non può essere utilizzato in un'operazione di aggiornamento.
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol"- Abilita il protocollo PROXY. Il bilanciatore di carico passa le informazioni di connessione del client, tra cui l'indirizzo IP del client, l'indirizzo IP del server proxy ed entrambi i numeri di porta, nelle intestazioni delle richieste all'applicazione back-end. Si noti che l'applicazione back-end deve essere configurata per accettare il protocollo PROXY. Ad esempio, è possibile configurare un'applicazione NGINX in modo che accetti il protocollo PROXY seguendo questi passaggi.
service.kubernetes.io/ibm-load-balancer-cloud-provider-zone- Annotazione per specificare una zona VPC a cui è collegato il tuo cluster. Quando si specifica una zona in questa annotazione, si verificano due processi: (1) l'ALB VPC viene distribuito nella stessa sottorete della zona a cui sono connessi
i nodi worker e (2) solo i nodi worker del cluster in questa zona sono configurati per ricevere traffico dall'ALB VPC. Per posizionare il programma di bilanciamento del carico in una zona specifica, devi specificare questa annotazione
quando crei il programma di bilanciamento del carico. Se in seguito si modifica questa annotazione in una zona diversa, i nodi worker di ascolto e di backend vengono aggiornati automaticamente per adattarsi alla nuova zona. Se l'etichetta
dedicated: edgeè impostata sui nodi worker e si specifica questa annotazione, solo i nodi edge della zona specificata sono configurati per ricevere traffico. I nodi periferici presenti in altre zone e i nodi non periferici presenti nella zona specificata non ricevono traffico dal bilanciatore di carico. Per visualizzare le zone, esegui il comandoibmcloud ks zone ls --provider vpc-gen2``. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-subnets- Annotazione per specificare una o più sottoreti su cui il servizio VPC ALB si distribuisce. Se specificata, questa annotazione ha la precedenza sull'annotazione
service.kubernetes.io/ibm-load-balancer-cloud-provider-zone. Senza questa annotazione, le sottoreti che il VPC ALB distribuisce si aggiornano automaticamente per corrispondere alle zone di un cluster se il cluster viene aggiornato da una regione a zona singola a una multizona o viceversa. Si noti che è possibile specificare una sottorete diversa nella stessa VPC rispetto alle sottoreti a cui è collegato il cluster. In questo caso, anche se l'ALB VPC viene distribuito su una sottorete diversa nella stessa VPC, l'ALB VPC può comunque instradare il traffico verso i nodi worker sulle sottoreti del cluster. Per vedere le sottoreti in tutti i gruppi di risorse, eseguireibmcloud oc subnets --provider vpc-gen2 --vpc-id VPC_ID --zone ZONE. Questa annotazione può essere aggiunta o modificata per gli ALB VPC esistenti. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-node-selector- Annotazione per specificare un selettore di etichetta del nodo lavoratore. È possibile configurare nodi worker specifici nel cluster per ricevere il traffico specificando le chiavi di selezione delle etichette. È possibile includere un solo
selettore di etichetta nell'annotazione e il selettore deve essere specificato nel formato
"key=value". Se questa annotazione non è specificata, tutti i nodi worker del cluster sono configurati per ricevere traffico dall'ALB VPC. Questa annotazione ha la precedenza sull'annotazioneservice.kubernetes.io/ibm-load-balancer-cloud-provider-zonee qualsiasi etichettadedicated: edgesui nodi lavoratori viene ignorata. Per limitare il traffico a una zona specifica, si può usare questa annotazione per specificare i nodi worker in quella zona. Si noti che l'impostazione di una nuova etichetta su un nodo worker del cluster non configura automaticamente il nodo worker per ricevere il traffico; è necessario ricreare o aggiornare l'ALB della VPC affinché il nodo worker con la nuova etichetta riceva il traffico. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-protocol- Il protocollo di controllo dello stato di salute sulla risorsa VPC del bilanciatore di carico associata al servizio Kubernetes del bilanciatore di carico. Le opzioni disponibili sono
http,httpsotcp. Di solito, il protocollo di controllo dello stato di salute del VPC LB è determinato dal valore dell'impostazioneexternalTrafficPolicynelle specifiche del servizio del bilanciatore di carico Kubernetes, tuttavia questa annotazione annulla questa logica. Questa annotazione fa sì che non alteri il comportamento di Kubernetes, e di kube-proxy in particolare, rispetto alle varie impostazioni diexternalTrafficPolicy. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-port- La porta dell' TCP e utilizzata per i controlli di integrità. Questa annotazione si applica solo se viene specificato anche
ibm-load-balancer-cloud-provider-vpc-health-check-protocol. - Se il cluster non funziona Secure by Default, potrebbe essere necessario apportare le seguenti modifiche ai gruppi di sicurezza VPC applicati. Se il cluster funziona in modo sicuro per impostazione predefinita, queste modifiche vengono applicate automaticamente.
-
- Se la porta specificata per il servizio " TCP " non rientra nell'intervallo di porte dei nodi " Kubernetes " (30.000-32.767), è necessario modificare il gruppo di sicurezza VPC applicato ai nodi di lavoro del cluster per consentire il traffico in entrata su tale porta.
-
- Se questa annotazione viene applicata a un servizio di bilanciamento del carico di tipo " Kubernetes " associato a un VPC ALB, è necessario modificare le regole in uscita del gruppo di sicurezza assegnato al VPC ALB per consentire il traffico in uscita verso la porta TCP specificata.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-path- Il percorso del controllo di salute URL per i controlli di salute HTTP e HTTPs. Questa annotazione si applica solo se
ibm-load-balancer-cloud-provider-vpc-health-check-protocolè impostato suhttpohttps. Il percorso URL deve essere nel formato di una richiesta di destinazione origin-form. Se questa annotazione non è specificata e l'annotazioneibm-load-balancer-cloud-provider-vpc-health-check-protocolè impostata suhttpohttps, viene applicato il valore predefinito/. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-delay- Il numero di secondi da attendere tra i tentativi di controllo dello stato di salute. Per impostazione predefinita, questo valore è impostato su
5e ha un minimo di2e un massimo di60. Questo valore deve essere maggiore del valoreibm-load-balancer-cloud-provider-vpc-health-check-timeout, che è impostato di default su2. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-timeout- Il numero di secondi di attesa per una risposta a un controllo sanitario. Per impostazione predefinita, questo valore è impostato su
2e ha un minimo di1e un massimo di59. Questo valore deve essere inferiore aibm-load-balancer-cloud-provider-vpc-health-check-delay, che è impostato su5per impostazione predefinita. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-retries- Il numero massimo di tentativi di controllo dello stato di salute per il bilanciatore di carico VPC. Per impostazione predefinita, questo valore è impostato su
2e ha un minimo di1e un massimo di10. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-idle-connection-timeout- Il timeout di connessione inattiva del listener in secondi. Il timeout di inattività predefinito dipende dalle impostazioni dell'account. Di solito, questo valore è
50. Tuttavia, alcuni account in elenco hanno impostazioni di timeout più ampie. Se non si imposta l'annotazione, i bilanciatori di carico utilizzano il timeout impostato nell'account. È possibile specificare esplicitamente il timeout impostando questa annotazione. Il minimo è50. Il valore massimo è7200. service.kubernetes.io/ibm-load-balancer-cloud-provider-dns-name: "example-ingress-domain.<region>.containers.appdomain.cloud"- Versione 4.17 o successive.
- Registra l'indirizzo IP del bilanciatore di carico con il dominio Ingress specificato. Se il dominio specificato non esiste, viene creato un dominio che utilizza il provider gestito
interno IBM (
IBM NS1). Per creare un nuovo dominio, il nome deve essere unico per tutti i domini esistenti (non solo per quelli del cluster). L'eliminazione del servizio di load balancer rimuove l'indirizzo IP dal dominio. Tuttavia, la rimozione dell'annotazione non rimuove l'indirizzo IP dal dominio. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "private-dns-crn"- Versione 4.15 o successive.
- L'
instancee DNS da associare a questo bilanciatore di carico. Per ulteriori informazioni, vedere Registrazione di un record DNS privato. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "dns-zone-id"- Versione 4.15 o successive.
- L'
zonee DNS da associare a questo bilanciatore di carico. Per ulteriori informazioni, vedere Registrazione di un record DNS privato. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-member-quota- Il numero di nodi worker per zona a cui il bilanciatore di carico esegue il percorso. Il valore predefinito è 8. Nel caso di un cluster con nodi di lavoro distribuiti in tre zone, ciò comporta che il bilanciatore di carico indirizzi il traffico verso un totale di 24 nodi di lavoro. Il numero totale di nodi worker in tutte le zone verso cui il bilanciatore di carico esegue il percorso non può superare i 50. Se il cluster ha meno di 50 nodi worker in tutte le zone, specificare 0 per instradare a tutti i nodi worker in una zona.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-security-group- Versione 1.30 o successive.
- Un gruppo di sicurezza gestito dal cliente da aggiungere al bilanciatore di carico VPC. Se non si desidera utilizzare il gruppo di sicurezzaIBM, specificare un gruppo di sicurezza di cui si è proprietari e che si gestisce. Questa opzione rimuove il gruppo di sicurezza IBM e lo sostituisce con il gruppo di sicurezza specificato dall'utente. La rimozione dell'annotazione da un bilanciatore di carico esistente sostituisce il gruppo di sicurezza aggiunto con il gruppo di sicurezza IBM. È possibile aggiungere o rimuovere questa annotazione in qualsiasi momento. L'utente è responsabile della gestione del proprio gruppo di sicurezza e del suo aggiornamento.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-allow-outbound-traffic- Disponibile per i cluster che eseguono Secure by Default. per creare gruppi di sicurezza per ogni indirizzo IP di un ALB associato a una porta esterna specificata
dall'utente. Queste regole vengono create nel gruppo di sicurezza del cluster e si aggiornano automaticamente se l'indirizzo IP del VPC ALB cambia. Specificare le porte esterne valide in un elenco separato da virgole, ad esempio
80,443. In questo esempio, se ogni ALB pubblico associato a ciascun valore di porta esterna ha due indirizzi IP, viene creata una regola in uscita per ogni indirizzo IP, per un totale di 4 nuove regole. È possibile aggiungere o rimuovere questa annotazione in qualsiasi momento. selector- La chiave dell'etichetta (
<selector_key>) e il valore (<selector_value>) che hai utilizzato nella sezione "spec.template.metadata.labels" del file YAML di distribuzione della tua app. Questa etichetta personalizzata identifica tutti i pod su cui viene eseguita la tua applicazione per includerli nel bilanciamento del carico. port- La porta su cui è in ascolto il servizio.
targetPort- La porta su cui il servizio gestisce il traffico. L'applicazione in esecuzione nel pod deve essere in ascolto del traffico in entrata proveniente dall' TCP e su questa porta di destinazione. La porta di destinazione è spesso definita staticamente nell'immagine in esecuzione nel pod dell'applicazione. La porta di destinazione configurata nel pod è diversa dalla porta del nodo per il servizio e potrebbe anche essere diversa dalla porta esterna configurata sul VPC LB.
-
a-z0-9- ↩︎