Instale o ASM
O Apigee hybrid usa a distribuição do Istio fornecida com o Anthos Service Mesh (ASM). Siga estes passos para instalar o ASM no seu cluster.
Versões do ASM compatíveis
Consulte o artigo Apigee Hybrid: plataformas suportadas para ver as versões do ASM suportadas na versão híbrida 1.5.
Execute os passos de configuração e configuração do ASM
Para concluir a instalação do ASM, tem de seguir primeiro os passos de configuração e configuração específicos do ASM na documentação do ASM. Em seguida, tem de voltar aqui para concluir a configuração específica do híbrido antes de aplicar a configuração ao cluster.
As instruções para instalar e configurar o ASM são diferentes consoante a sua plataforma. As plataformas estão divididas nas seguintes categorias:
- GKE: clusters do Google Kubernetes Engine em execução no Google Cloud.
- Fora do Google Cloud: clusters do Anthos em execução em:
- Clusters do Anthos no VMware (GKE On-Prem)
- Anthos em bare metal
- Clusters do Anthos no AWS
- Amazon EKS
- Outras plataformas Kubernetes: clusters em conformidade criados e executados em:
- AKS
- EKS
- OpenShift
GKE
Prepare-se para instalar o ASM
- Verifique as variáveis de ambiente necessárias para os passos seguintes e defina-as, se
necessário:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- Crie um ficheiro de sobreposição com o nome
overlay.yaml
e o seguinte conteúdo:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
apigee-runtime
é o valor predefinido para o seletor de nós. Este é oapigee-runtime
node pool que criou no Passo 1: crie um cluster. Se estiver a usar um seletor de nós diferente ou não estiver a usar nenhum, altere ou omita a propriedadenodeSelector
.- STATIC_IP é o endereço IP do seu balanceador de carga. Se não tiver definido nenhuma,
omita a propriedade
loadBalancerIP
, mas mantenha as propriedadestype
eports
.
- Siga as instruções para se preparar para instalar o ASM:
- Instale o
asmcli
e todas as ferramentas necessárias, como o git, o kubectl e o jq, seguindo as instruções em Instale as ferramentas necessárias. - Continue com o passo para conceder autorizações de administrador do cluster e pare. Não execute o passo "Validar projeto e cluster".
- Instale o ASM com funcionalidades opcionais.
Especifique o gateway de entrada antigo com
--option legacy-default-ingressgateway
. por exemplo:./asmcli install \ --verbose \ --project_id $PROJECT_ID \ --cluster_name $CLUSTER_NAME \ --cluster_location $CLUSTER_LOCATION \ --output_dir dir_path \ --custom_overlay overlay.yaml \ --enable_all \ --option legacy-default-ingressgateway
- dir_path é o diretório de saída onde quer que
asmcli
configure a instalação do ASM, incluindo todos os subdiretórios. - overlay.yaml é o ficheiro de sobreposição que criou nos passos anteriores.
Use estas definições quando seguir as instruções em Instalar com funcionalidades opcionais.
- dir_path é o diretório de saída onde quer que
Resolução de problemas
Se encontrar um erro que se refere a gcloud container hub memberships register
,
pode ter excedido o número máximo de clusters registados no GKE Hub. Por exemplo:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Experimente os seguintes passos para corrigir este erro e, em seguida, execute novamente o comando asmcli install
:
- Apresente as subscrições do GKE Hub para o seu projeto:
gcloud container hub memberships list --project=$PROJECT_ID
- Elimine as associações do GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Para mais informações sobre os limites do GKE Hub, consulte o artigo Quotas e limites.
Fora do Google Cloud
Estas instruções destinam-se à instalação e configuração do ASM para instâncias híbridas do Apigee que usam o Anthos para serem executadas em:
- Clusters do Anthos no VMware (GKE On-Prem)
- Anthos em bare metal
- Clusters do Anthos no AWS
- Amazon EKS
Prepare-se para instalar o ASM
- Verifique as variáveis de ambiente necessárias para os passos seguintes e defina-as, se
necessário:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- Crie um ficheiro de sobreposição com o nome
overlay.yaml
e o seguinte conteúdo:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
apigee-runtime
é o valor predefinido para o seletor de nós. Este é oapigee-runtime
node pool que criou no Passo 1: crie um cluster. Se estiver a usar um seletor de nós diferente ou não estiver a usar nenhum, altere ou omita a propriedadenodeSelector
.- STATIC_IP é o endereço IP do seu balanceador de carga. Se não tiver definido nenhuma,
omita a propriedade
loadBalancerIP
, mas mantenha as propriedadestype
eports
.
- Siga as instruções para se preparar para instalar o ASM:
- Instale o
asmcli
e todas as ferramentas necessárias, como o git, o kubectl e o jq, seguindo as instruções em Instale as ferramentas necessárias. - Continue com o passo para conceder autorizações de administrador do cluster e pare. Não execute o passo "Validar projeto e cluster".
- Instale o ASM com funcionalidades opcionais.
Especifique o gateway de entrada antigo com
--option legacy-default-ingressgateway
. por exemplo:./asmcli install \ --verbose \ --project_id $PROJECT_ID \ --cluster_name $CLUSTER_NAME \ --cluster_location $CLUSTER_LOCATION \ --output_dir dir_path \ --custom_overlay overlay.yaml \ --enable_all \ --option legacy-default-ingressgateway
- dir_path é o diretório de saída onde quer que
asmcli
configure a instalação do ASM, incluindo todos os subdiretórios. - overlay.yaml é o ficheiro de sobreposição que criou nos passos anteriores.
Use estas definições quando seguir as instruções em Instalar com funcionalidades opcionais.
- dir_path é o diretório de saída onde quer que
Resolução de problemas
Se encontrar um erro que se refere a gcloud container hub memberships register
,
pode ter excedido o número máximo de clusters registados no GKE Hub. Por exemplo:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Experimente os seguintes passos para corrigir este erro e, em seguida, execute novamente o comando asmcli install
:
- Apresente as subscrições do GKE Hub para o seu projeto:
gcloud container hub memberships list --project=$PROJECT_ID
- Elimine as associações do GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Para mais informações sobre os limites do GKE Hub, consulte o artigo Quotas e limites.
GKE noutras plataformas
Estas instruções destinam-se à instalação e configuração do ASM para instâncias híbridas do Apigee que usam o Anthos para serem executadas em:
- GKE on-prem (Anthos)
- Anthos em bare metal
- GKE na AWS
Leia atentamente os passos seguintes antes de começar. Vamos pedir-lhe que execute alguns dos passos indicados na documentação do ASM e, em seguida, volte a esta página para concluir a instalação.
- Transfira e descomprima
istioctl
de acordo com as instruções na documentação do ASM: Transferir o ficheiro de instalação. - Consoante a autoridade de certificação que planeia usar, instale o ASM seguindo as
instruções numa das seguintes secções:
- Usar a CA de malha: Instalar o Anthos Service Mesh com a CA de malha
- Fornecer os seus próprios certificados com a AC do Istio: Instalar o Anthos Service Mesh com a AC do Istio
- Configure o webhook de validação com as instruções em Configurar o webhook de validação.
- Verifique os componentes do plano de controlo com as instruções em
Verificar
os componentes do plano de controlo.
Não continue com "Injetar proxies sidecar".
Outras plataformas Kubernetes
AKS
Configure e transfira o ASM
Leia atentamente os passos seguintes antes de começar. Vamos pedir-lhe que execute alguns dos passos indicados na documentação do ASM e, em seguida, volte aqui para concluir a instalação.
Este guia explica como fazer uma instalação limpa da versão do Anthos Service Mesh (ASM) 1.26.0-asm.11 em clusters anexados do Anthos. Use este guia para instalar o Anthos Service Mesh nos seguintes ambientes:
- Amazon Elastic Kubernetes Service (Amazon EKS) no Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) no Kubernetes
- Red Hat OpenShift
A preparar a instalação do Anthos Service Mesh
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests/profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-osx.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests/profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-win.zip
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests\profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório \bin ao seu PATH:
set PATH=%CD%\bin:%PATH%
- Agora que o ASM Istio está instalado, verifique a versão do
istioctl
:istioctl version
- Crie um espaço de nomes denominado istio-system para os componentes do plano de controlo:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Instalar o Anthos Service Mesh
- Instale o Anthos Service Mesh com
istioctl
através do perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1260-11"
O argumento
--set revision
adiciona uma etiqueta de revisão no formatoistio.io/rev=asm-1260-11
ao istiod. A etiqueta de revisão é usada pelo webhook do injetor de sidecar automático para associar sidecars injetados a uma revisão específica do istiod. Para ativar a injeção automática de sidecar para um espaço de nomes, tem de etiquetá-lo com uma revisão que corresponda à etiqueta no istiod. - Verifique se os pods
istiod
estão a ser executados comkubectl get pods
:kubectl get pods -n istio-system
O resultado deve ter um aspeto semelhante ao seguinte:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1260-11-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1260-11-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Confirme se a instalação foi concluída:
kubectl get svc -n istio-system
O resultado deve ter um aspeto semelhante ao seguinte:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1260-11 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configure o webhook de validação
Quando instala o Anthos Service Mesh, define uma etiqueta de revisão no istiod. Tem de definir a mesma revisão no webhook de validação.
- Crie um ficheiro denominado
istiod-service.yaml
com o seguinte conteúdo:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1260-11 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1260-11 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Use
kubectl
para aplicar a configuração do webhook de validação:kubectl apply -f istiod-service.yaml
- Verifique se a configuração foi aplicada:
kubectl get svc -n istio-system
A resposta deve ser semelhante à seguinte:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
EKS
Configure e transfira o ASM
Leia atentamente os passos seguintes antes de começar. Vamos pedir-lhe que execute alguns dos passos indicados na documentação do ASM e, em seguida, volte aqui para concluir a instalação.
Este guia explica como fazer uma instalação limpa da versão do Anthos Service Mesh (ASM) 1.26.0-asm.11 em clusters anexados do Anthos. Use este guia para instalar o Anthos Service Mesh nos seguintes ambientes:
- Amazon Elastic Kubernetes Service (Amazon EKS) no Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) no Kubernetes
- Red Hat OpenShift
A preparar a instalação do Anthos Service Mesh
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests/profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-osx.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests/profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-win.zip
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests\profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório \bin ao seu PATH:
set PATH=%CD%\bin:%PATH%
- Agora que o ASM Istio está instalado, verifique a versão do
istioctl
:istioctl version
- Crie um espaço de nomes denominado istio-system para os componentes do plano de controlo:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Instalar o Anthos Service Mesh
- Instale o Anthos Service Mesh com
istioctl
através do perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1260-11"
O argumento
--set revision
adiciona uma etiqueta de revisão no formatoistio.io/rev=asm-1260-11
ao istiod. A etiqueta de revisão é usada pelo webhook do injetor de sidecar automático para associar sidecars injetados a uma revisão específica do istiod. Para ativar a injeção automática de sidecar para um espaço de nomes, tem de etiquetá-lo com uma revisão que corresponda à etiqueta no istiod. - Verifique se os pods
istiod
estão a ser executados comkubectl get pods
:kubectl get pods -n istio-system
O resultado deve ter um aspeto semelhante ao seguinte:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1260-11-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1260-11-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Confirme se a instalação foi concluída:
kubectl get svc -n istio-system
O resultado deve ter um aspeto semelhante ao seguinte:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1260-11 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configure o webhook de validação
Quando instala o Anthos Service Mesh, define uma etiqueta de revisão no istiod. Tem de definir a mesma revisão no webhook de validação.
- Crie um ficheiro denominado
istiod-service.yaml
com o seguinte conteúdo:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1260-11 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1260-11 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Use
kubectl
para aplicar a configuração do webhook de validação:kubectl apply -f istiod-service.yaml
- Verifique se a configuração foi aplicada:
kubectl get svc -n istio-system
A resposta deve ser semelhante à seguinte:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
OpenShift
Configure e transfira o ASM
Leia atentamente os passos seguintes antes de começar. Vamos pedir-lhe que execute alguns dos passos indicados na documentação do ASM e, em seguida, volte aqui para concluir a instalação.
Este guia explica como fazer uma instalação limpa da versão do Anthos Service Mesh (ASM) 1.26.0-asm.11 em clusters anexados do Anthos. Use este guia para instalar o Anthos Service Mesh nos seguintes ambientes:
- Amazon Elastic Kubernetes Service (Amazon EKS) no Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) no Kubernetes
- Red Hat OpenShift
A preparar a instalação do Anthos Service Mesh
- Conceda a restrição de contexto de segurança (SCC)
anyuid
ao istio-system com o seguinte comandooc
:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests/profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Conceda a restrição de contexto de segurança (SCC)
anyuid
ao istio-system com o seguinte comandooc
:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-osx.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests/profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Conceda a restrição de contexto de segurança (SCC)
anyuid
ao istio-system com o seguinte comando da CLI do OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Transfira o ficheiro de instalação do Anthos Service Mesh para o diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
- Transfira o ficheiro de assinatura e use o openssl para validar a assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do ficheiro para qualquer localização no seu sistema de ficheiros. Por exemplo,
para extrair os conteúdos para o diretório de trabalho atual:
tar xzf istio-1.26.0-asm.11-win.zip
O comando cria um diretório de instalação no seu diretório de trabalho atual denominado
istio-1.26.0-asm.11
que contém:- Exemplos de aplicações no diretório
samples
. - A ferramenta de linha de comandos
istioctl
que usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh encontram-se no diretório
manifests\profiles
.
- Exemplos de aplicações no diretório
- Certifique-se de que está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.26.0-asm.11
- Para maior comodidade, adicione as ferramentas no diretório \bin ao seu PATH:
set PATH=%CD%\bin:%PATH%
- Agora que o ASM Istio está instalado, verifique a versão do
istioctl
:istioctl version
- Crie um espaço de nomes denominado istio-system para os componentes do plano de controlo:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Instalar o Anthos Service Mesh
- Instale o Anthos Service Mesh com
istioctl
através do perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1260-11"
O argumento
--set revision
adiciona uma etiqueta de revisão no formatoistio.io/rev=asm-1260-11
ao istiod. A etiqueta de revisão é usada pelo webhook do injetor de sidecar automático para associar sidecars injetados a uma revisão específica do istiod. Para ativar a injeção automática de sidecar para um espaço de nomes, tem de etiquetá-lo com uma revisão que corresponda à etiqueta no istiod. - Verifique se os pods
istiod
estão a ser executados comkubectl get pods
:kubectl get pods -n istio-system
O resultado deve ter um aspeto semelhante ao seguinte:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1260-11-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1260-11-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Confirme se a instalação foi concluída:
kubectl get svc -n istio-system
O resultado deve ter um aspeto semelhante ao seguinte:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1260-11 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configure o webhook de validação
Quando instala o Anthos Service Mesh, define uma etiqueta de revisão no istiod. Tem de definir a mesma revisão no webhook de validação.
- Crie um ficheiro denominado
istiod-service.yaml
com o seguinte conteúdo:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1260-11 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1260-11 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Use
kubectl
para aplicar a configuração do webhook de validação:kubectl apply -f istiod-service.yaml
- Verifique se a configuração foi aplicada:
kubectl get svc -n istio-system
A resposta deve ser semelhante à seguinte:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
Personalizar a instalação do ASM
A instalação do ASM que acabou de fazer é uma instalação mínima, suficiente para testar e usar o Apigee hybrid para exemplos de utilização básicos. Para informações sobre como abordar exemplos de utilização mais avançados, como adicionar, remover ou modificar números de porta do equilibrador de carga, consulte Ativar funcionalidades opcionais.
Resumo
Agora, tem o cert-manager e o ASM instalados e está pronto para instalar a ferramenta de linha de comandos do Apigee hybrid na sua máquina local.
1 2 3 (NEXT) Passo 4: instale o apigeectl 5 6 7 8 9