Specifica API del Gateway applicativo per contenitori per Kubernetes

Pacchetti

Il pacchetto v1 è la versione v1 dell'API.

alb.networking.azure.io/v1

Questo documento definisce ognuno dei tipi di risorsa per alb.networking.azure.io/v1.

Tipi di risorsa:

AffinityType (alias string)

(Compare in:SessionAffinity)

AffinityType definisce il tipo di affinità per il servizio

valore Descrizione

"application-cookie"

AffinityTypeApplicationCookie è un tipo di affinità di sessione per un cookie di applicazione

"managed-cookie"

AffinityTypeManagedCookie è un tipo di affinità di sessione per un cookie gestito

AlbConditionReason (alias string)

AlbConditionReason definisce il set di motivi che spiegano perché un tipo di condizione particolare viene generato dalla risorsa Gateway applicativo per contenitori.

valore Descrizione

"Accepted"

AlbReasonAccepted indica che la risorsa Gateway applicativo per contenitori viene accettata dal controller.

"Pronto"

AlbReasonDeploymentReady indica lo stato di distribuzione delle risorse del Gateway applicativo per contenitori.

"InProgress"

AlbReasonInProgress indica se la risorsa Gateway applicativo per contenitori è in corso di creazione, aggiornamento o eliminazione.

AlbConditionType (alias string)

AlbConditionType è un tipo di condizione associata a una risorsa Gateway applicativo per contenitori. Questo tipo deve essere usato con il campo AlbStatus.Conditions.

valore Descrizione

"Accepted"

AlbConditionTypeAccepted indica se la risorsa Gateway applicativo per contenitori viene accettata dal controller.

"Deployment"

AlbConditionTypeDeployment indica lo stato di distribuzione della risorsa Gateway applicativo per contenitori.

AlbSpec

(Compare in:ApplicationLoadBalancer)

AlbSpec definisce le specifiche per la risorsa Gateway applicativo per contenitori.

Campo Descrizione
associations
[]string

Le associazioni sono ID della risorsa subnet a cui viene associata la risorsa Gateway applicativo per contenitori.

AlbStatus

(Compare in:ApplicationLoadBalancer)

AlbStatus definisce lo stato osservato della risorsa Gateway applicativo per contenitori.

Campo Descrizione
conditions
[]Kubernetes meta/v1.Condition
(opzionale)

I tipi di condizione noti sono:

  • “Accettato”
  • “Pronto”

ApplicationLoadBalancer

ApplicationLoadBalancer è lo schema per la risorsa Gateway applicativo per contenitori.

Campo Descrizione
metadata
Kubernetes meta/v1.ObjectMeta
(opzionale)

Metadati dell'oggetto’.

Fare riferimento alla documentazione dell'API Kubernetes per i campi del campo metadata.
spec
AlbSpec

Spec è la specifica per la risorsa Gateway applicativo per contenitori.



associations
[]string

Le associazioni sono ID della risorsa subnet a cui viene associata la risorsa Gateway applicativo per contenitori.

status
AlbStatus

Status definisce lo stato corrente della risorsa Gateway applicativo per contenitori.

BackendTLSPolicy

BackendTLSPolicy è lo schema per l'API BackendTLSPolicys.

Campo Descrizione
metadata
Kubernetes meta/v1.ObjectMeta
(opzionale)

Metadati dell'oggetto’.

Fare riferimento alla documentazione dell'API Kubernetes per i campi del campo metadata.
spec
BackendTLSPolicySpec

Spec è la specifica BackendTLSPolicy.



targetRef
CustomTargetRef

TargetRef identifica un oggetto API a cui applicare i criteri.

override
BackendTLSPolicyConfig
(opzionale)

Override definisce la configurazione dei criteri che deve eseguire l'override della configurazione dei criteri collegata sotto la risorsa di destinazione nella gerarchia.

Nota: l'override non è attualmente supportato e genera un errore di convalida. Il supporto per override verrà aggiunto in una versione futura.

default
BackendTLSPolicyConfig
(opzionale)

Default definisce la configurazione predefinita dei criteri per la risorsa di destinazione.

status
BackendTLSPolicyStatus

Status definisce lo stato corrente di BackendTLSPolicy.

BackendTLSPolicyConditionReason (alias string)

BackendTLSPolicyConditionReason definisce il set di motivi che spiegano perché viene generato un particolare tipo di condizione BackendTLSPolicy.

valore Descrizione

"Accepted"

BackendTLSPolicyReasonAccepted viene usato per impostare BackendTLSPolicyConditionReason su Accepted quando la configurazione specificata per BackendTLSPolicy è corretta

"InvalidBackendTLSPolicy"

BackendTLSPolicyReasonInvalid è il motivo per cui BackendTLSPolicy non è Accepted

"InvalidCertificateRef"

BackendTLSPolicyReasonInvalidCertificateRef viene usato in presenza di un riferimento a un certificato non valido

"InvalidGroup"

BackendTLSPolicyReasonInvalidGroup viene usato quando il gruppo non è valido

"InvalidKind"

BackendTLSPolicyReasonInvalidKind viene usato quando il tipo/gruppo non è valido

"InvalidName"

BackendTLSPolicyReasonInvalidName viene usato quando il nome non è valido

"InvalidSecret"

BackendTLSPolicyReasonInvalidSecret viene usato quando il segreto non è valido

"InvalidService"

BackendTLSPolicyReasonInvalidService viene usato quando il servizio non è valido

"NoTargetReference"

BackendTLSPolicyReasonNoTargetReference viene usato quando non è presente alcun riferimento di destinazione

"OverrideNotSupported"

BackendTLSPolicyReasonOverrideNotSupported viene usato quando l'override non è supportato

"RefNotPermitted"

BackendTLSPolicyReasonRefNotPermitted viene usato quando il riferimento non è consentito

"SectionNamesNotPermitted"

BackendTLSPolicyReasonSectionNamesNotPermitted viene usato quando i nomi delle sezioni non sono consentiti

BackendTLSPolicyConditionType (alias string)

BackendTLSPolicyConditionType è un tipo di condizione associata a BackendTLSPolicy. Questo tipo deve essere usato con il campo BackendTLSPolicyStatus.Conditions.

valore Descrizione

"Accepted"

BackendTLSPolicyConditionAccepted viene usato per impostare BackendTLSPolicyConditionType su Accepted

"ResolvedRefs"

BackendTLSPolicyConditionResolvedRefs viene usato per impostare BackendTLSPolicyCondition su ResolvedRefs

BackendTLSPolicyConfig

(Compare in:BackendTLSPolicySpec)

BackendTLSPolicyConfig definisce la specifica dei criteri per i criteri TLS back-end.

Campo Descrizione
CommonTLSPolicy
CommonTLSPolicy

(I membri di CommonTLSPolicy sono incorporati in questo tipo.)

sni
string
(opzionale)

Sni è il nome del server da usare per la connessione TLS al back-end.

ports
[]BackendTLSPolicyPort

Ports specifica l'elenco di porte in cui vengono applicati i criteri.

clientCertificateRef
API del gateway .SecretObjectReference
(opzionale)

ClientCertificateRef è il riferimento al certificato client da usare per la connessione TLS al back-end.

BackendTLSPolicyPort

(Compare in:BackendTLSPolicyConfig)

BackendTLSPolicyPort definisce la porta da usare per la connessione TLS al back-end

Campo Descrizione
port
int

Port è la porta da usare per la connessione TLS al back-end

BackendTLSPolicySpec

(Compare in:BackendTLSPolicy)

BackendTLSPolicySpec definisce lo stato desiderato di BackendTLSPolicy.

Campo Descrizione
targetRef
CustomTargetRef

TargetRef identifica un oggetto API a cui applicare i criteri.

override
BackendTLSPolicyConfig
(opzionale)

Override definisce la configurazione dei criteri che deve eseguire l'override della configurazione dei criteri collegata sotto la risorsa di destinazione nella gerarchia.

Nota: l'override non è attualmente supportato e genera un errore di convalida. Il supporto per override verrà aggiunto in una versione futura.

default
BackendTLSPolicyConfig
(opzionale)

Default definisce la configurazione predefinita dei criteri per la risorsa di destinazione.

BackendTLSPolicyStatus

(Compare in:BackendTLSPolicy)

BackendTLSPolicyStatus definisce lo stato osservato di BackendTLSPolicy.

Campo Descrizione
conditions
[]Kubernetes meta/v1.Condition
(opzionale)

Conditions descrive le condizioni correnti di BackendTLSPolicy.

Le implementazioni devono esprimere le condizioni BackendTLSPolicy usando preferibilmente le costanti BackendTLSPolicyConditionType e BackendTLSPolicyConditionReason in modo che gli operatori e gli strumenti possano convergere su un vocabolario comune per descrivere lo stato di BackendTLSPolicy.

I tipi di condizione noti sono:

  • “Accettato”

CommonTLSPolicy

(Compare in:BackendTLSPolicyConfig)

CommonTLSPolicy è lo schema per l'API CommonTLSPolicy.

Campo Descrizione
verify
CommonTLSPolicyVerify
(opzionale)

Verificare che siano disponibili le opzioni per verificare il certificato peer.

CommonTLSPolicyVerify

(Compare in:CommonTLSPolicy)

CommonTLSPolicyVerify definisce lo schema per l'API CommonTLSPolicyVerify.

Campo Descrizione
caCertificateRef
API del gateway .SecretObjectReference

CaCertificateRef è il certificato della CA usato per verificare il certificato peer.

subjectAltName
string
(opzionale)

SubjectAltName è il nome alternativo del soggetto usato per verificare il certificato peer.

CustomTargetRef

(Compare in:BackendTLSPolicySpec, FrontendTLSPolicySpec, HealthCheckPolicySpec, RoutePolicySpec )

CustomTargetRef è un riferimento a una risorsa personalizzata che non fa parte dell'API di base di Kubernetes.

Campo Descrizione
NamespacedPolicyTargetReference
API gateway alpha2.NamespacedPolicyTargetReference

(I membri di NamespacedPolicyTargetReference sono incorporati in questo tipo.)

sectionNames
[]string
(opzionale)

SectionNames è il nome della sezione all'interno della risorsa di destinazione. Se non specificato, questo targetRef è destinato all'intera risorsa. Nelle risorse seguenti, SectionNames viene interpretato come segue:

  • Gateway: Nome listener
  • Servizio: Nome porta

Se SectionNames viene specificato, ma non esiste nell’oggetto di destinazione, il criterio non viene associato e l'implementazione dei criteri registrerà una condizione ResolvedRefs o una condizione simile nello stato dei criteri.

FrontendTLSPolicy

FrontendTLSPolicy è lo schema per l'API FrontendTLSPolicy

Campo Descrizione
metadata
Kubernetes meta/v1.ObjectMeta
(opzionale)

Metadati dell'oggetto’.

Fare riferimento alla documentazione dell'API Kubernetes per i campi del campo metadata.
spec
FrontendTLSPolicySpec

Spec è la specifica FrontendTLSPolicy.



targetRef
CustomTargetRef

TargetRef identifica un oggetto API a cui applicare i criteri.

default
FrontendTLSPolicyConfig
(opzionale)

Default definisce la configurazione predefinita dei criteri per la risorsa di destinazione.

override
FrontendTLSPolicyConfig
(opzionale)

Override definisce la configurazione dei criteri che deve eseguire l'override della configurazione dei criteri collegata sotto la risorsa di destinazione nella gerarchia.

Nota: l'override non è attualmente supportato e genera un errore di convalida. Il supporto per override verrà aggiunto in una versione futura.

status
FrontendTLSPolicyStatus

Status definisce lo stato corrente di FrontendTLSPolicy.

FrontendTLSPolicyConditionReason (alias string)

FrontendTLSPolicyConditionReason definisce il set di motivi che spiegano perché viene stato generato un particolare tipo di condizione FrontendTLSPolicy.

valore Descrizione

"Accepted"

FrontendTLSPolicyReasonAccepted viene usato per impostare FrontendTLSPolicyConditionReason su Accepted quando la configurazione specificata per FrontendTLSPolicy è corretta

"InvalidFrontendTLSPolicy"

FrontendTLSPolicyReasonInvalid è il motivo per cui FrontendTLSPolicy non è Accepted

"InvalidCertificateRef"

FrontendTLSPolicyReasonInvalidCertificateRef viene usato in presenza di un riferimento a un certificato non valido

"InvalidDefault"

FrontendTLSPolicyReasonInvalidDefault viene usato quando il valore predefinito non è valido

"InvalidGateway"

FrontendTLSPolicyReasonInvalidGateway viene usato quando il gateway non è valido

"InvalidGroup"

FrontendTLSPolicyReasonInvalidGroup viene usato quando il gruppo non è valido

"InvalidKind"

FrontendTLSPolicyReasonInvalidKind viene usato quando il tipo/gruppo non è valido

"InvalidName"

FrontendTLSPolicyReasonInvalidName viene usato quando il nome non è valido

"InvalidPolicyName"

FrontendTLSPolicyReasonInvalidPolicyName viene usato quando il nome del criterio non è valido

"InvalidPolicyType"

FrontendTLSPolicyReasonInvalidPolicyType viene usato quando il tipo di criterio non è valido

"InvalidTargetReference"

FrontendTLSPolicyReasonInvalidTargetReference viene usato quando il riferimento di destinazione non è valido

"NoTargetReference"

FrontendTLSPolicyReasonNoTargetReference viene usato quando non è presente alcun riferimento di destinazione

"OverrideNotSupported"

FrontendTLSPolicyReasonOverrideNotSupported viene usato quando l'override non è supportato

"RefNotPermitted"

FrontendTLSPolicyReasonRefNotPermitted viene usato quando il riferimento non è consentito

"SectionNamesNotPermitted"

FrontendTLSPolicyReasonSectionNamesNotPermitted viene usato quando i nomi delle sezioni non sono consentiti

FrontendTLSPolicyConditionType (alias string)

FrontendTLSPolicyConditionType è un tipo di condizione associata a FrontendTLSPolicy. Questo tipo deve essere usato con il campo FrontendTLSPolicyStatus.Conditions.

valore Descrizione

"Accepted"

FrontendTLSPolicyConditionAccepted viene usato per impostare FrontendTLSPolicyCondition su Accepted

"ResolvedRefs"

FrontendTLSPolicyConditionResolvedRefs viene usato per impostare FrontendTLSPolicyCondition su ResolvedRefs

FrontendTLSPolicyConfig

(Compare in:FrontendTLSPolicySpec)

FrontendTLSPolicyConfig definisce la specifica dei criteri per i criteri TLS front-end.

Campo Descrizione
verify
MTLSPolicyVerify
(opzionale)

Verificare che siano disponibili le opzioni per verificare il certificato peer.

policyType
PolicyType
(opzionale)

Type è il tipo del criterio.

FrontendTLSPolicySpec

(Compare in:FrontendTLSPolicy)

FrontendTLSPolicySpec definisce lo stato desiderato di FrontendTLSPolicy

Campo Descrizione
targetRef
CustomTargetRef

TargetRef identifica un oggetto API a cui applicare i criteri.

default
FrontendTLSPolicyConfig
(opzionale)

Default definisce la configurazione predefinita dei criteri per la risorsa di destinazione.

override
FrontendTLSPolicyConfig
(opzionale)

Override definisce la configurazione dei criteri che deve eseguire l'override della configurazione dei criteri collegata sotto la risorsa di destinazione nella gerarchia.

Nota: l'override non è attualmente supportato e genera un errore di convalida. Il supporto per override verrà aggiunto in una versione futura.

FrontendTLSPolicyStatus

(Compare in:FrontendTLSPolicy)

FrontendTLSPolicyStatus definisce lo stato osservato di FrontendTLSPolicy.

Campo Descrizione
conditions
[]Kubernetes meta/v1.Condition
(opzionale)

Le condizioni descrivono le condizioni correnti di FrontendTLSPolicy.

Le implementazioni devono esprimere le condizioni FrontendTLSPolicy usando preferibilmente le costanti FrontendTLSPolicyConditionType e FrontendTLSPolicyConditionReason in modo che gli operatori e gli strumenti possano convergere su un vocabolario comune per descrivere lo stato di FrontendTLSPolicy.

I tipi di condizione noti sono:

  • “Accettato”

FrontendTLSPolicyType (alias string)

(Compare in:PolicyType)

FrontendTLSPolicyType è il tipo dei criteri TLS front-end.

valore Descrizione

"predefined"

PredefinedFrontendTLSPolicyType è il tipo dei criteri TLS front-end predefiniti.

FrontendTLSPolicyTypeName (string alias)

(Compare in:PolicyType)

FrontendTLSPolicyTypeName è il nome dei criteri TLS front-end.

valore Descrizione

"2023-06"

PredefinedPolicy202306 è il nome dei criteri TLS front-end predefiniti per il criterio “2023-06”.

"2023-06-S"

PredefinedPolicy202306Strict è il nome dei criteri TLS front-end predefiniti per il criterio “2023-06-S”. Si tratta di una versione rigorosa del criterio “2023-06”.

GRPCSpecifiers

(Compare in:HealthCheckPolicyConfig)

GRPCSpecifiers definisce lo schema per GRPC HealthCheck.

Campo Descrizione
authority
string
(opzionale)

L'autorità, se presente, viene usata come valore dell'intestazione Authority nel controllo integrità.

service
string
(opzionale)

Il servizio consente la configurazione di un controllo integrità registrato con un nome di servizio diverso.

HTTPHeader

(Compare in:HeaderFilter)

HTTPHeader rappresenta un nome e un valore di intestazione HTTP definiti da RFC 7230.

Campo Descrizione
name
HTTPHeaderName

Name è il nome dell'intestazione HTTP per cui trovare la corrispondenza. La corrispondenza dei nomi non DEVE prevedere alcuna distinzione tra maiuscole e minuscole. (Vedere https://tools.ietf.org/html/rfc7230#section-3.2).

Se più voci specificano nomi di intestazione equivalenti, la prima voce con un nome equivalente DEVE essere considerata per la corrispondenza. Le voci successive con un nome di intestazione equivalente DEVONO essere ignorate. Poiché non viene applicata alcuna distinzione tra maiuscole e minuscole per i nomi di intestazione, “foo” e “Foo” vengono considerati equivalenti.

value
string

Value è il valore dell'intestazione HTTP per cui trovare una corrispondenza.

HTTPHeaderName (alias string)

(Compare in:HTTPHeader)

HTTPHeaderName è il nome di un'intestazione HTTP.

I valori validi includono:

  • “Autorizzazione”
  • “Set-Cookie”

I valori non validi includono:

  • ”:metodo” - “:” è un carattere non valido. Ciò significa che le pseudo intestazioni HTTP/2 non sono attualmente supportate da questo tipo.
  • ”/invalid” - “/ ” è un carattere non valido

HTTPMatch

(Compare in:HTTPSpecifiers)

HTTPMatch definisce i matcher HTTP da usare per i controlli HealthCheck.

Campo Descrizione
body
string
(opzionale)

Body definisce i matcher del corpo HTTP da usare per i controlli HealthCheck.

statusCodes
[]StatusCodes
(opzionale)

StatusCodes definisce i matcher del codice di stato HTTP da usare per i controlli HealthCheck.

HTTPPathModifier

(Compare in:Redirect, URLRewriteFilter)

HTTPPathModifier definisce la configurazione per i modificatori di percorso.

Campo Descrizione
type
HTTPPathModifierType

Type definisce il tipo di modificatore di percorso. È possibile che vengano aggiunti più tipi in una versione futura dell'API.

I valori possono essere aggiunti a questo enumerazione. In tal caso, le implementazioni devono garantire che i valori sconosciuti non causino un arresto anomalo.

In questa situazione, in presenza di valori sconosciuti l'implementazione deve impostare la condizione Accepted per la regola su false

replaceFullPath
string
(opzionale)

ReplaceFullPath specifica il valore con cui sostituire il percorso completo di una richiesta durante una riscrittura o un reindirizzamento.

replacePrefixMatch
string
(opzionale)

ReplacePrefixMatch specifica il valore con cui sostituire la corrispondenza del prefisso di una richiesta durante una riscrittura o un reindirizzamento. Ad esempio, una richiesta a “/foo/bar” con una corrispondenza del prefisso di “/foo” e un valore ReplacePrefixMatch di “/xyz” verrebbe modificata in “/xyz/bar”.

Ciò coincide con il comportamento del tipo di corrispondenza PathPrefix. La corrispondenza viene trovata per elementi di percorso completi. Un elemento del percorso fa riferimento all'elenco di etichette nel percorso delimitate dal separatore /. Un eventuale carattere / specificato alla fine viene ignorato. Ad esempio, i percorsi /abc, /abc/ e /abc/def corrispondono tutti al prefisso /abc, diversamente dal percorso /abcd.

ReplacePrefixMatch è compatibile solo con HTTPRouteMatch PathPrefix. L'uso di qualsiasi altro tipo HTTPRouteMatch nella stessa HTTPRouteRule comporta l'impostazione nell'implementazione della condizione Accepted per la route su status: False.

Percorso della richiesta Corrispondenza prefisso Prefisso sostitutivo Percorso modificato
/foo/bar /foo /xyz /xyz/bar
/foo/bar /foo /xyz/ /xyz/bar
/foo/bar /foo/ /xyz /xyz/bar
/foo/bar /foo/ /xyz/ /xyz/bar
/foo /foo /xyz /xyz
/foo/ /foo /xyz /xyz/
/foo/bar /foo /bar
/foo/ /foo /
/foo /foo /
/foo/ /foo / /
/foo /foo / /

HTTPPathModifierType (alias string)

(Compare in:HTTPPathModifier)

HTTPPathModifierType definisce il tipo di reindirizzamento o riscrittura del percorso.

valore Descrizione

"ReplaceFullPath"

FullPathHTTPPathModifier sostituisce il percorso completo con il valore specificato.

"ReplacePrefixMatch"

PrefixMatchHTTPPathModifier sostituisce qualsiasi percorso di prefisso con il valore di sostituzione. Ad esempio, un percorso con una corrispondenza del prefisso di “/foo” e una sostituzione ReplacePrefixMatch di “/bar” sostituisce “/foo” con “/bar” nelle richieste corrispondenti.

Ciò coincide con il comportamento del tipo di corrispondenza PathPrefix. La corrispondenza viene trovata per elementi di percorso completi. Un elemento del percorso fa riferimento all'elenco di etichette nel percorso delimitate dal separatore /. Un eventuale carattere / specificato alla fine viene ignorato. Ad esempio, i percorsi /abc, /abc/ e /abc/def corrispondono tutti al prefisso /abc, diversamente dal percorso /abcd.

HTTPSpecifiers

(Compare in:HealthCheckPolicyConfig)

HTTPSpecifiers definisce lo schema per la specifica del controllo HealthCheck HTTP.

Campo Descrizione
host
string
(opzionale)

Host è il valore dell'intestazione host da usare per i controlli HealthCheck.

path
string
(opzionale)

Path è il percorso da usare per i controlli HealthCheck.

match
HTTPMatch
(opzionale)

Match definisce i matcher HTTP da usare per i controlli HealthCheck.

HeaderFilter

(Compare in:IngressRewrites)

HeaderFilter definisce un filtro che modifica le intestazioni di una richiesta o una risposta HTTP. È consentita una sola azione per un determinato nome di intestazione. I filtri che specificano più azioni dello stesso tipo o di tipo diverso per un solo nome di intestazione non sono validi e vengono rifiutati. La configurazione per impostare o aggiungere più valori per un'intestazione deve usare la formattazione del valore dell'intestazione RFC 7230, separando ogni valore con una virgola.

Campo Descrizione
set
[]HTTPHeader
(opzionale)

Set sovrascrive la richiesta con l'intestazione specificata (name, value) prima dell'azione.

Input: GET /foo HTTP/1.1 my-header: foo

Config: set: - name: “my-header” value: “bar”

Output: GET /foo HTTP/1.1 my-header: bar

add
[]HTTPHeader
(opzionale)

Add aggiunge le intestazioni (name, value) specificate alla richiesta prima dell'azione. L'aggiunta viene eseguita per tutti i valori esistenti associati al nome dell'intestazione.

Input: GET /foo HTTP/1.1 my-header: foo

Config: add: - name: “my-header” value: “bar,baz”

Output: GET /foo HTTP/1.1 my-header: foo,bar,baz

remove
[]string
(opzionale)

Rimuovere le intestazioni specificate dalla richiesta HTTP prima dell'azione. Il valore di Remove è un elenco di nomi di intestazione HTTP. I nomi delle intestazioni non fanno distinzione tra maiuscole e minuscole (vedere https://datatracker.ietf.org/doc/html/rfc2616#section-4.2).

Input: GET /foo HTTP/1.1 my-header1: foo my-header2: bar my-header3: baz

Config: remove: [“my-header1”, “my-header3”]

Output: GET /foo HTTP/1.1 my-header2: bar

HeaderName (alias string)

HeaderName è il nome di un'intestazione o di un parametro di query.

HealthCheckPolicy

HealthCheckPolicy è lo schema per l'API HealthCheckPolicy.

Campo Descrizione
metadata
Kubernetes meta/v1.ObjectMeta
(opzionale)

Metadati dell'oggetto’.

Fare riferimento alla documentazione dell'API Kubernetes per i campi del campo metadata.
spec
HealthCheckPolicySpec

Spec è la specifica HealthCheckPolicy.



targetRef
CustomTargetRef

TargetRef identifica un oggetto API a cui applicare i criteri.

override
HealthCheckPolicyConfig
(opzionale)

Override definisce la configurazione dei criteri che deve eseguire l'override della configurazione dei criteri collegata sotto la risorsa di destinazione nella gerarchia.

Nota: l'override non è attualmente supportato e genererà un errore di convalida. Il supporto per override verrà aggiunto in una versione futura.

default
HealthCheckPolicyConfig
(opzionale)

Default definisce la configurazione predefinita dei criteri per la risorsa di destinazione.

status
HealthCheckPolicyStatus

Status definisce lo stato corrente di HealthCheckPolicy.

HealthCheckPolicyConditionReason (alias string)

HealthCheckPolicyConditionReason definisce il set di motivi che spiegano perché viene generato un particolare tipo di condizione HealthCheckPolicy.

valore Descrizione

"BackendTLSPolicyNotFound"

BackendTLSPolicyConditionNotFound viene usato quando BackendTLSPolicy non viene trovato per il servizio.

"Accepted"

HealthCheckPolicyReasonAccepted viene usato per impostare HealthCheckPolicyConditionReason su Accepted. Quando HealthCheckPolicy specificato è configurato correttamente.

"InvalidHealthCheckPolicy"

HealthCheckPolicyReasonInvalid è il motivo per cui HealthCheckPolicy non è Accepted.

"InvalidGroup"

HealthCheckPolicyReasonInvalidGroup viene usato quando il gruppo non è valido.

"InvalidKind"

HealthCheckPolicyReasonInvalidKind viene usato quando il tipo/gruppo non è valido.

"InvalidName"

HealthCheckPolicyReasonInvalidName viene usato quando il nome non è valido.

"InvalidPort"

HealthCheckPolicyReasonInvalidPort viene usato quando la porta non è valida.

"InvalidService"

HealthCheckPolicyReasonInvalidService viene usato quando il servizio non è valido.

"NoTargetReference"

HealthCheckPolicyReasonNoTargetReference viene usato quando non è presente alcun riferimento di destinazione.

"OverrideNotSupported"

HealthCheckPolicyReasonOverrideNotSupported viene usato quando l'override non è supportato.

"RefNotPermitted"

HealthCheckPolicyReasonRefNotPermitted viene usato quando il riferimento non è consentito.

"SectionNamesNotPermitted"

HealthCheckPolicyReasonSectionNamesNotPermitted viene usato quando i nomi delle sezioni non sono consentiti.

HealthCheckPolicyConditionType (alias string)

HealthCheckPolicyConditionType è un tipo di condizione associata a HealthCheckPolicy. Questo tipo deve essere usato con il campo HealthCheckPolicyStatus.Conditions.

valore Descrizione

"Accepted"

HealthCheckPolicyConditionAccepted viene usato per impostare HealthCheckPolicyConditionType su Accepted.

"ResolvedRefs"

HealthCheckPolicyConditionResolvedRefs viene usato per impostare HealthCheckPolicyCondition su ResolvedRefs.

HealthCheckPolicyConfig

(Compare in:HealthCheckPolicySpec)

HealthCheckPolicyConfig definisce lo schema per la specifica del controllo HealthCheck.

Campo Descrizione
interval
Kubernetes meta/v1.Duration
(opzionale)

Interval è il numero di secondi tra i controlli HealthCheck.

timeout
Kubernetes meta/v1.Duration
(opzionale)

Timeout è il numero di secondi dopo il quale il controllo HealthCheck viene considerato non riuscito.

port
int32
(opzionale)

Port è la porta da usare per i controlli HealthCheck.

unhealthyThreshold
int32
(opzionale)

UnhealthyThreshold è il numero di controlli HealthCheck consecutivi non riusciti.

healthyThreshold
int32
(opzionale)

HealthyThreshold è il numero di controlli HealthCheck consecutivi riusciti.

useTLS
bool
(opzionale)

UseTLS indica se il controllo integrità deve imporre TLS. Per impostazione predefinita, il controllo integrità userà lo stesso protocollo del servizio se per il controllo integrità viene usata la stessa porta. Se la porta è diversa, il controllo integrità sarà in testo non crittografato.

http
HTTPSpecifiers
(opzionale)

HTTP definisce la specifica del vincolo HTTP per il controllo HealthCheck di una risorsa di destinazione.

grpc
GRPCSpecifiers

GRPC configura un gRPC v1 HealthCheck (https://github.com/grpc/grpc-proto/blob/master/grpc/health/v1/health.proto) sulla risorsa di destinazione.

HealthCheckPolicySpec

(Compare in:HealthCheckPolicy)

HealthCheckPolicySpec definisce lo stato desiderato di HealthCheckPolicy.

Campo Descrizione
targetRef
CustomTargetRef

TargetRef identifica un oggetto API a cui applicare i criteri.

override
HealthCheckPolicyConfig
(opzionale)

Override definisce la configurazione dei criteri che deve eseguire l'override della configurazione dei criteri collegata sotto la risorsa di destinazione nella gerarchia.

Nota: l'override non è attualmente supportato e genererà un errore di convalida. Il supporto per override verrà aggiunto in una versione futura.

default
HealthCheckPolicyConfig
(opzionale)

Default definisce la configurazione predefinita dei criteri per la risorsa di destinazione.

HealthCheckPolicyStatus

(Compare in:HealthCheckPolicy)

HealthCheckPolicyStatus definisce lo stato osservato di HealthCheckPolicy.

Campo Descrizione
conditions
[]Kubernetes meta/v1.Condition
(opzionale)

Conditions descrive le condizioni correnti di HealthCheckPolicy.

Le implementazioni devono esprimere le condizioni HealthCheckPolicy usando preferibilmente le costanti HealthCheckPolicyConditionType e HealthCheckPolicyConditionReason in modo che gli operatori e gli strumenti possano convergere su un vocabolario comune per descrivere lo stato di HealthCheckPolicy.

I tipi di condizione noti sono:

  • “Accettato”

IngressBackendPort

(Compare in:IngressBackendSettings)

IngressBackendPort descrive una porta in un back-end. Deve essere definito un solo nome/numero.

Campo Descrizione
port
int32
(opzionale)

Port indica la porta nel servizio back-end

name
string
(opzionale)

Name deve fare riferimento a un nome su una porta nel servizio back-end

protocol
Protocol

Protocol deve essere uno dei valori “HTTP” o “HTTPS”

IngressBackendSettingStatus

(Compare in:IngressExtensionStatus)

IngressBackendSettingStatus descrive lo stato di BackendSetting

Campo Descrizione
service
string

Service identifica il valore di BackendSetting descritto da questo stato

validationErrors
[]string
(opzionale)

Errors è un elenco di errori relativi a questa impostazione

valid
bool

Valid indica che non sono presenti errori di convalida in questo BackendSetting

IngressBackendSettings

(Compare in:IngressExtensionSpec)

IngressBackendSettings offre opzioni di configurazione estese per un servizio back-end

Campo Descrizione
service
string

Service è il nome di un servizio back-end a cui si applica questa configurazione

ports
[]IngressBackendPort
(opzionale)

È possibile usare ports per indicare se il servizio back-end è in ascolto su HTTP o HTTPS

trustedRootCertificate
string
(opzionale)

È possibile usare TrustedRootCertificate per fornire un certificato che il gateway può considerare attendibile per le comunicazioni con il back-end su una porta specificata come HTTPS

sessionAffinity
SessionAffinity
(opzionale)

SessionAffinity consente di assegnare in modo coerente le richieste client allo stesso back-end

timeouts
IngressTimeouts
(opzionale)

I timeout definiscono un set di parametri di timeout da applicare a un ingresso

IngressExtension

IngressExtension è lo schema per l'API IngressExtension

Campo Descrizione
metadata
Kubernetes meta/v1.ObjectMeta
(opzionale)

Metadati dell'oggetto’.

Fare riferimento alla documentazione dell'API Kubernetes per i campi del campo metadata.
spec
IngressExtensionSpec

Spec è la specifica IngressExtension.



rules
[]IngressRuleSetting
(opzionale)

Rules definisce le regole per ogni host

backendSettings
[]IngressBackendSettings
(opzionale)

BackendSettings definisce un set di opzioni di configurazione per i back-end del servizio Ingress

status
IngressExtensionStatus

IngressExtensionConditionReason (alias string)

IngressExtensionConditionReason definisce il set di motivi che spiegano perché viene generato un particolare tipo di condizione IngressExtension.

valore Descrizione

"Accepted"

IngressExtensionReasonAccepted viene usato per impostare IngressExtensionConditionAccepted su Accepted

"HasValidationErrors"

IngressExtensionReasonHasErrors indica che sono presenti alcuni errori di convalida

"NoValidationErrors"

IngressExtensionReasonNoErrors indica che non sono presenti errori di convalida

"PartiallyAcceptedWithErrors"

IngressExtensionReasonPartiallyAccepted viene usato per impostare IngressExtensionConditionAccepted su Accepted, ma con errori di convalida non irreversibili

IngressExtensionConditionType (alias string)

IngressExtensionConditionType è un tipo di condizione associata a un oggetto IngressExtension. Questo tipo deve essere usato con il campo IngressExtensionStatus.Conditions.

valore Descrizione

"Accepted"

IngressExtensionConditionAccepted indica se l'oggetto IngressExtension viene accettato (riconciliato) dal controller

"Errors"

IngressExtensionConditionErrors indica se sono presenti errori di convalida o compilazione nell'estensione

IngressExtensionSpec

(Compare in:IngressExtension)

IngressExtensionSpec definisce la configurazione desiderata di IngressExtension

Campo Descrizione
rules
[]IngressRuleSetting
(opzionale)

Rules definisce le regole per ogni host

backendSettings
[]IngressBackendSettings
(opzionale)

BackendSettings definisce un set di opzioni di configurazione per i back-end del servizio Ingress

IngressExtensionStatus

(Compare in:IngressExtension)

IngressExtensionStatus descrive lo stato corrente di IngressExtension

Campo Descrizione
rules
[]IngressRuleStatus
(opzionale)

Rules include informazioni dettagliate sullo stato relative a ogni regola

backendSettings
[]IngressBackendSettingStatus
(opzionale)

BackendSettings include informazioni dettagliate sullo stato relative a ogni BackendSettings

conditions
[]Kubernetes meta/v1.Condition
(opzionale)

Conditions descrive le condizioni correnti di IngressExtension. I tipi di condizione noti sono:

  • “Accettato”
  • “Errori”

IngressRewrites

(Compare in:IngressRuleSetting)

IngressRewrites fornisce le varie riscritture supportate per una regola

Campo Descrizione
type
RewriteType

Type identifica il tipo di riscrittura

requestHeaderModifier
HeaderFilter
(opzionale)

RequestHeaderModifier definisce uno schema che modifica le intestazioni delle richieste.

responseHeaderModifier
HeaderFilter
(opzionale)

RequestHeaderModifier definisce uno schema che modifica le intestazioni delle risposte.

urlRewrite
URLRewriteFilter
(opzionale)

URLRewrite definisce uno schema che modifica una richiesta durante l'inoltro.

IngressRuleSetting

(Compare in:IngressExtensionSpec)

IngressRuleSetting offre opzioni di configurazione per le regole

Campo Descrizione
host
string

L'host viene usato per trovare corrispondenze con le regole di ingresso con lo stesso nome host, allo scopo di identificare le regole che influiscono su queste impostazioni

additionalHostnames
[]string
(opzionale)

AdditionalHostnames specifica più nomi host su cui restare in ascolto

rewrites
[]IngressRewrites
(opzionale)

Rewrites definisce le riscritture per la regola

requestRedirect
Redirect
(opzionale)

RequestRedirect definisce il comportamento di reindirizzamento per la regola

IngressRuleStatus

(Compare in:IngressExtensionStatus)

IngressRuleStatus descrive lo stato di una regola

Campo Descrizione
host
string

Host identifica la regola descritta da questo stato

validationErrors
[]string
(opzionale)

Errors è un elenco di errori relativi a questa impostazione

valid
bool
(opzionale)

Valid indica che non sono presenti errori di convalida per questa regola

IngressTimeouts

(Compare in:IngressBackendSettings)

È possibile usare IngressTimeouts per configurare le proprietà di timeout per un ingresso

Campo Descrizione
requestTimeout
Kubernetes meta/v1.Duration
(opzionale)

RequestTimeout definisce il timeout usato dal servizio di bilanciamento del carico durante l'inoltro delle richieste a un servizio back-end

MTLSPolicyVerify

(Compare in:FrontendTLSPolicyConfig)

MTLSPolicyVerify definisce lo schema per l'API MTLSPolicyVerify.

Campo Descrizione
caCertificateRef
API del gateway .SecretObjectReference

CaCertificateRef è il certificato della CA usato per verificare il certificato peer.

subjectAltNames
[]string
(opzionale)

SubjectAltNames è l'elenco di nomi alternativi del soggetto usati per verificare il certificato peer.

PolicyType

(Compare in:FrontendTLSPolicyConfig)

PolicyType è il tipo di criterio.

Campo Descrizione
name
FrontendTLSPolicyTypeName

Name è il nome del criterio.

type
FrontendTLSPolicyType

PredefinedFrontendTLSPolicyType è il tipo dei criteri TLS front-end predefiniti.

PortNumber (alias int32)

(Compare in:Redirect)

PortNumber definisce una porta di rete.

PreciseHostname (alias string)

(Compare in:Redirect, URLRewriteFilter)

PreciseHostname è il nome di dominio completo di un host di rete. Corrisponde alla definizione RFC 1123 di un nome host con un’eccezione degna di nota, ovvero che gli indirizzi IP numerici non sono consentiti.

Per RFC1035 e RFC1123, un'etichetta deve essere costituita da caratteri alfanumerici minuscoli o ‘-’ e deve iniziare e terminare con un carattere alfanumerico. Non sono consentiti altri segni di punteggiatura.

Protocol (alias string)

(Compare in:IngressBackendPort)

Protocol definisce il protocollo usato per determinate proprietà. I valori validi per Protocol sono:

  • HTTP
  • HTTPS
  • TCP
valore Descrizione

"HTTP"

ProtocolHTTP implica che il servizio usi HTTP.

"HTTPS"

ProtocolHTTPS implica che il servizio usi HTTPS.

"TCP"

ProtocolTCP implica che il servizio usi TCP normale.

reindirizzamento

(Compare in:IngressRuleSetting)

Redirect definisce un filtro che reindirizza una richiesta. NON DEVE essere usato nella stessa regola che include anche un URLRewriteFilter.

Campo Descrizione
scheme
string
(opzionale)

Scheme è lo schema da usare nel valore dell'intestazione Location nella risposta. Se vuoto, viene usato lo schema della richiesta.

hostname
PreciseHostname
(opzionale)

Hostname è il nome host da usare nel valore dell'intestazione Location nella risposta. Se vuoto, viene usato il nome host nell'intestazione Host della richiesta.

path
HTTPPathModifier
(opzionale)

Path definisce i parametri usati per modificare il percorso della richiesta in ingresso. Il percorso modificato viene quindi usato per costruire l'intestazione Location. Se vuoto, il percorso della richiesta viene usato così come è.

port
PortNumber
(opzionale)

Port è la porta da usare nel valore dell'intestazione Location nella risposta.

Se non viene specificata alcuna porta, la porta di reindirizzamento DEVE essere derivata usando le regole seguenti:

  • Se lo schema di reindirizzamento non è vuoto, la porta di reindirizzamento DEVE essere la porta nota associata allo schema di reindirizzamento. In particolare “http” per la porta 80 e “https” per la porta 443. Se lo schema di reindirizzamento non dispone di una porta nota, DEVE essere usata la porta del listener del gateway.
  • Se lo schema di reindirizzamento è vuoto, la porta di reindirizzamento DEVE essere la porta del listener del gateway.

Le implementazioni NON DEVONO aggiungere il numero di porta nell'intestazione ‘Location’ nei casi seguenti:

  • Intestazione Location che usa HTTP (indipendentemente dal fatto che sia determinato tramite il protocollo del listener o il campo Scheme) e la porta 80.
  • Intestazione Location che usa HTTPS (indipendentemente dal fatto che sia determinato tramite il protocollo del listener o il campo Scheme) e la porta 443.
statusCode
int
(opzionale)

StatusCode è il codice di stato HTTP da usare nella risposta.

Si noti che potrebbero essere aggiunti altri valori a questa enumerazione. Le implementazioni devono garantire che i valori sconosciuti non causino un arresto anomalo.

RewriteType (alias string)

(Compare in:IngressRewrites)

RewriteType identifica il tipo di riscrittura

valore Descrizione

"RequestHeaderModifier"

È possibile usare RequestHeaderModifier per aggiungere o rimuovere un'intestazione HTTP da una richiesta HTTP prima che venga inviata alla destinazione upstream.

"ResponseHeaderModifier"

È possibile usare ResponseHeaderModifier per aggiungere o rimuovere un'intestazione HTTP da una risposta HTTP prima che venga inviata al client.

"URLRewrite"

È possibile usare URLRewrite per modificare una richiesta durante l'inoltro.

RoutePolicy

RoutePolicy è lo schema per l'API RoutePolicy.

Campo Descrizione
metadata
Kubernetes meta/v1.ObjectMeta
(opzionale)

Metadati dell'oggetto’.

Fare riferimento alla documentazione dell'API Kubernetes per i campi del campo metadata.
spec
RoutePolicySpec

Spec è la specifica RoutePolicy.



targetRef
CustomTargetRef

TargetRef identifica un oggetto API a cui applicare i criteri.

override
RoutePolicyConfig
(opzionale)

Override definisce la configurazione dei criteri che deve eseguire l'override della configurazione dei criteri collegata sotto la risorsa di destinazione nella gerarchia.

Nota: l'override non è attualmente supportato e genera un errore di convalida. Il supporto per override verrà aggiunto in una versione futura.

default
RoutePolicyConfig
(opzionale)

Default definisce la configurazione predefinita dei criteri per la risorsa di destinazione.

status
RoutePolicyStatus

Status definisce lo stato corrente di RoutePolicy.

RoutePolicyConditionReason (alias string)

RoutePolicyConditionReason definisce il set di motivi che spiegano perché viene generato un particolare tipo di condizione RoutePolicy.

valore Descrizione

"Accepted"

RoutePolicyReasonAccepted viene usato per impostare RoutePolicyConditionReason su Accepted quando la configurazione specificata per RoutePolicy è corretta

"InvalidRoutePolicy"

RoutePolicyReasonInvalid è il motivo per cui RoutePolicy non è Accepted

"InvalidGRPCRoute"

RoutePolicyReasonInvalidGRPCRoute viene usato quando GRPCRoute non è valido

"InvalidGroup"

RoutePolicyReasonInvalidGroup viene usato quando il gruppo non è valido

"InvalidHTTPRoute"

RoutePolicyReasonInvalidHTTPRoute viene usato quando HTTPRoute non è valido

"InvalidKind"

RoutePolicyReasonInvalidKind viene usato quando il tipo/gruppo non è valido

"InvalidName"

RoutePolicyReasonInvalidName viene usato quando il nome non è valido

"NoTargetReference"

RoutePolicyReasonNoTargetReference viene usato quando non è presente alcun riferimento di destinazione

"OverrideNotSupported"

RoutePolicyReasonOverrideNotSupported viene usato quando l'override non è supportato

"RefNotPermitted"

RoutePolicyReasonRefNotPermitted viene usato quando il riferimento non è consentito

"SectionNamesNotPermitted"

RoutePolicyReasonSectionNamesNotPermitted viene usato quando i nomi delle sezioni non sono consentiti

RoutePolicyConditionType (alias string)

RoutePolicyConditionType è un tipo di condizione associata a RoutePolicy. Questo tipo deve essere usato con il campo RoutePolicyStatus.Conditions.

valore Descrizione

"Accepted"

RoutePolicyConditionAccepted viene usato per impostare RoutePolicyConditionType su Accepted

"ResolvedRefs"

RoutePolicyConditionResolvedRefs viene usato per impostare RoutePolicyCondition su ResolvedRefs

RoutePolicyConfig

(Compare in:RoutePolicySpec)

RoutePolicyConfig definisce lo schema per la specifica RoutePolicy. In questo modo è possibile specificare gli attributi seguenti: * Timeouts * SessionAffinity

Campo Descrizione
timeouts
RouteTimeouts
(opzionale)

Timeouts definisce i timeout personalizzati per la risorsa di destinazione.

sessionAffinity
SessionAffinity

SessionAffinity definisce lo schema per la specifica dell'affinità di sessione

RoutePolicySpec

(Compare in:RoutePolicy)

RoutePolicySpec definisce lo stato desiderato di RoutePolicy.

Campo Descrizione
targetRef
CustomTargetRef

TargetRef identifica un oggetto API a cui applicare i criteri.

override
RoutePolicyConfig
(opzionale)

Override definisce la configurazione dei criteri che deve eseguire l'override della configurazione dei criteri collegata sotto la risorsa di destinazione nella gerarchia.

Nota: l'override non è attualmente supportato e genera un errore di convalida. Il supporto per override verrà aggiunto in una versione futura.

default
RoutePolicyConfig
(opzionale)

Default definisce la configurazione predefinita dei criteri per la risorsa di destinazione.

RoutePolicyStatus

(Compare in:RoutePolicy)

RoutePolicyStatus definisce lo stato osservato di RoutePolicy.

Campo Descrizione
conditions
[]Kubernetes meta/v1.Condition
(opzionale)

Conditions descrive le condizioni correnti di RoutePolicy.

Le implementazioni devono esprimere le condizioni RoutePolicy usando preferibilmente le costanti RoutePolicyConditionType e RoutePolicyConditionReason in modo che gli operatori e gli strumenti possano convergere su un vocabolario comune per descrivere lo stato di RoutePolicy.

I tipi di condizione noti sono:

  • “Accettato”

RouteTimeouts

(Compare in:RoutePolicyConfig)

RouteTimeouts definisce lo schema per la specifica dei timeout.

Campo Descrizione
routeTimeout
Kubernetes meta/v1.Duration
(opzionale)

RouteTimeout è il timeout per la route.

SessionAffinity

(Compare in:IngressBackendSettings, RoutePolicyConfig)

SessionAffinity definisce lo schema per la specifica dell'affinità di sessione.

Campo Descrizione
affinityType
AffinityType
cookieName
string
(opzionale)
cookieDuration
Kubernetes meta/v1.Duration
(opzionale)

StatusCodes

(Compare in:HTTPMatch)

StatusCodes definisce i matcher del codice di stato HTTP da usare per i controlli HealthCheck.

Campo Descrizione
start
int32
(opzionale)

Start definisce l'inizio dell'intervallo di codici di stato da usare per i controlli HealthCheck. L'intervallo è inclusivo.

end
int32
(opzionale)

End definisce la fine dell'intervallo di codici di stato da usare per i controlli HealthCheck. L'intervallo è inclusivo.

URLRewriteFilter

(Compare in:IngressRewrites)

URLRewriteFilter definisce un filtro che modifica una richiesta durante l'inoltro. È possibile usare al massimo uno di questi filtri in una regola. NON DEVE essere usato nella stessa regola con sslRedirect.

Campo Descrizione
hostname
PreciseHostname
(opzionale)

Hostname è il valore da usare per sostituire il valore dell'intestazione host durante l'inoltro.

path
HTTPPathModifier
(opzionale)

Path definisce una riscrittura del percorso.