Referência da API Cloud Run
Esta página fornece uma referência para as APIs usadas para configurar a malha de serviços na nuvem para cargas de trabalho do Cloud Run.
API Cloud Run
API v1
O Cloud Service Mesh está ativado através de uma anotação ao nível da revisão. O valor desta anotação é o nome da malha de apoio do cluster do Istio do Cloud Service Mesh.
Anotação | Valor |
---|---|
run.googleapis.com/mesh | projects/PROJECT/locations/global/meshes/MESH |
API v2
O Cloud Service Mesh é ativado através do campo serviceMesh
no recurso Service
API Istio do Cloud Service Mesh
API VirtualService
Nome do campo | Tipo | Descrição do campo |
---|---|---|
gateways | String [] | Se os gateways incluírem uma "malha externa", o serviço virtual aplica-se apenas a cargas de trabalho não pertencentes ao GKE. Se "mesh" for especificado juntamente com "external-mesh", o serviço virtual aplica-se a cargas de trabalho do GKE e não do GKE. |
exportTo | de string | Tendo em conta que as cargas de trabalho não GKE não têm o conceito de um espaço de nomes, os serviços virtuais "external-mesh" ignoram o campo exportTo. No entanto, continuam a funcionar para serviços virtuais que tenham "mesh" ou gateways, e continuam a funcionar conforme esperado para cargas de trabalho do GKE. |
httpRoute.HTTPMatchRequest.SourceLabels | map<string, string=""></string,> | Será ignorado para serviços virtuais "external-mesh". No entanto, continuam a funcionar para serviços virtuais que tenham "mesh" ou gateways, e continuam a funcionar conforme esperado para cargas de trabalho do GKE. |
httpRoute.HTTPMatchRequest.SourceNamespace | de string | Será ignorado para serviços virtuais "external-mesh". No entanto, continuam a funcionar para serviços virtuais que tenham "mesh" ou gateways, e continuam a funcionar conforme esperado para cargas de trabalho do GKE. |
httpRoute.HTTPMatchRequest.Gateways | string[] | Será ignorado para serviços virtuais "external-mesh". No entanto, continuam a funcionar para serviços virtuais que tenham "mesh" ou gateways, e continuam a funcionar conforme esperado para cargas de trabalho do GKE. |
tls | tlsRoute[] | Será ignorado para serviços virtuais "external-mesh". No entanto, continuam a funcionar para serviços virtuais que tenham "mesh" ou gateways, e continuam a funcionar conforme esperado para cargas de trabalho do GKE. |
tcp | tcpRoute[] | Será ignorado para o serviço virtual de malha externa. No entanto, continuam a funcionar para serviços virtuais que tenham "mesh" ou gateways, e continuam a funcionar conforme esperado para cargas de trabalho do GKE. |
Istio Auto MTLS e nomenclatura segura
Atualmente, o Cloud Service Mesh suporta o Istio MutualTLS automático e a denominação segura para pedidos entre serviços do GKE.
Para a pré-visualização, as cargas de trabalho não GKE que comunicam com cargas de trabalho/serviços GKE não usam o MTLS automático do Istio nem a nomenclatura segura. O tráfego vai estar em texto simples. Certifique-se de que os serviços do GKE têm uma política de MTLS permissiva (que é a predefinição da API Istio) que aceita tráfego MTLS de cargas de trabalho do GKE e texto simples de cargas de trabalho não pertencentes ao GKE.
Use o seguinte comando para verificar se a PeerAuthentication está no modo permissivo:
# list PeerAuthentication resources in a namespace
# If no PeerAuthentication resource exists in the namespace,
# then it's PERMISSIVE mode (Istio API default)
kubectl get PeerAuthentication -n $NAMESPACE
# for each of the above run the following command
kubectl get PeerAuthentication $PEER-AUTHN -n $NAMESPACE
# Expected Output is as follows:
# MTLS Mode must be PERMISSIVE.
# If the output says STRICT, then please update the policy to PERMISSIVE.
apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
name: $PEER-AUTHN
namespace: $NAMESPACE
spec:
mtls:
mode: PERMISSIVE
Telemetria MeshConfig
O Cloud Service Mesh suporta a API de telemetria MeshConfig para ativar e desativar o Cloud Logging e o Cloud Monitoring para cargas de trabalho do GKE. Isto também funciona de forma semelhante para cargas de trabalho não pertencentes ao GKE.
Regra de destino
Para a pré-visualização, a segmentação de DestinationRule
dos serviços virtuais "external-mesh" será suportada, exceto nos seguintes campos: trafficPolicy.tls
Sidecar API
A API Sidecar não é aplicável a cargas de trabalho não GKE. As cargas de trabalho não GKE vão poder ver todos os serviços virtuais com âmbito "external-mesh" sem serem filtrados por regras de visibilidade do Sidecar.
API Security – Política de autorização, política de autenticação de pedidos
Estas não se aplicam a cargas de trabalho não GKE que atuam como clientes que enviam tráfego de saída. Continuam a aplicar-se a cargas de trabalho do GKE que recebem tráfego de entrada.
GCPBackend API
Nome do campo | Tipo | Descrição do campo |
---|---|---|
GCPBackend | struct | Esquema para o recurso GCPBackend. |
TypeMeta | metav1.TypeMeta | Estrutura incorporada para armazenar informações de metadados, como o tipo e a versão da API. |
ObjectMeta | metav1.ObjectMeta | Estrutura incorporada para armazenar informações de metadados, como nome, espaço de nomes, etiquetas, anotações, etc. |
Especificação | GCPBackendSpec | Especificação do recurso GCPBackend, que define o respetivo estado pretendido. |
GCPBackendSpec | struct | Define o estado pretendido do GRPCRoute. |
CloudRun | *CloudRunBackend | Define um back-end em execução no Cloud Run (opcional). |
CloudRunBackend | struct | Identifica um serviço em execução no Cloud Run. |
Serviço | de string | Nome do serviço do Cloud Run. Tem de ter entre 1 e 49 carateres, seguir um padrão específico e consistir apenas em letras minúsculas, hífenes e números. |
Regiões | []Região | Regiões do serviço do Cloud Run. Tem de indicar exatamente uma região. |
Projeto | de string | ID do projeto do serviço do Cloud Run. A predefinição é o mesmo projeto que o cluster do GKE. Tem de ter entre 6 e 30 carateres e seguir um padrão específico. Atualmente, o serviço do Cloud Run e o cluster do GKE têm de estar no mesmo projeto. |
GCPBackendList | struct | Contém uma lista de GCPBackends. |
Itens | ]*GCPBackend | Matriz de ponteiros GCPBackend que representa a lista de recursos GCPBackend. |
ListMeta | metav1.ListMeta | Estrutura incorporada para armazenar informações de metadados de listas, como a versão do recurso e o token de continuação para paginação. |