Instalar ASM
A Apigee híbrida usa a distribuição do Istio fornecida com o Anthos Service Mesh (ASM). Siga estas etapas para instalar o ASM no cluster.
Versões compatíveis do ASM
Consulte Plataformas compatíveis da Apigee híbrida para ver as versões do ASM compatíveis com a versão híbrida 1.5.
Realizar etapas de configuração do ASM
Para concluir a instalação do ASM, você precisa seguir as etapas de instalação e configuração específicas na documentação do ASM. Em seguida, volte aqui para concluir a configuração híbrida antes de aplicar a configuração ao cluster.
As instruções para instalar e configurar o ASM variam de acordo com a plataforma. As plataformas são divididas nas seguintes categorias:
- GKE: clusters do Google Kubernetes Engine em execução no Google Cloud.
- Fora do Google Cloud: os clusters do Anthos são executados em:
- Clusters do Anthos no VMware (GKE On-Prem)
- Anthos em bare metal
- Clusters do Anthos no AWS
- Amazon EKS
- Outras plataformas do Kubernetes: clusters compatíveis criados e em execução em:
- AKS
- EKS
- OpenShift
GKE
Preparar para instalar o ASM
- Verifique as variáveis de ambiente necessárias para as etapas a seguir e defina-as se for necessário:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- Crie um arquivo de sobreposição chamado
overlay.yaml
com 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 padrão do seletor de nós. Este é o pool de nósapigee-runtime
criado na Etapa 1: criar um cluster. Se você estiver usando um seletor de nós diferente ou não estiver usando um, altere ou omita a propriedadenodeSelector
.- STATIC_IP é o endereço IP do balanceador de carga. Se você não definiu um,
omita a propriedade
loadBalancerIP
, mas mantenha as propriedadestype
eports
.
- Siga as instruções para se preparar para a instalação do ASM:
- Instale
asmcli
e qualquer ferramenta necessária, como git, kubectl e jq, seguindo as instruções em Instalar ferramentas necessárias. - Prossiga para a etapa Conceder permissões de administrador do cluster e pare. Não execute a etapa "Validar projeto e cluster".
- Instale o ASM com recursos opcionais.
Especifique o gateway de entrada legado 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 em que você quer que
asmcli
configure a instalação do ASM, incluindo todos os subdiretórios. - overlay.yaml é o arquivo de sobreposição criado nas etapas anteriores.
Use essas configurações ao seguir as instruções em Instalar com recursos opcionais.
- dir_path é o diretório de saída em que você quer que
Solução de problemas
Se você encontrar um erro em gcloud container hub memberships register
,
talvez tenha excedido o número máximo de clusters registrados com o GKE Hub. Por exemplo:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Siga as etapas a seguir para corrigir o erro e execute asmcli install
novamente:
- Liste as assinaturas do GKE Hub do seu projeto:
gcloud container hub memberships list --project=$PROJECT_ID
- Exclua as assinaturas do GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Para mais informações sobre os limites do GKE Hub, consulte Cotas e limites.
Fora do Google Cloud
Estas instruções são para instalar e configurar o ASM para instâncias híbridas da Apigee usando o Anthos para execução em:
- Clusters do Anthos no VMware (GKE On-Prem)
- Anthos em bare metal
- Clusters do Anthos no AWS
- Amazon EKS
Preparar para instalar o ASM
- Verifique as variáveis de ambiente necessárias para as etapas a seguir e defina-as se for necessário:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- Crie um arquivo de sobreposição chamado
overlay.yaml
com 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 padrão do seletor de nós. Este é o pool de nósapigee-runtime
criado na Etapa 1: criar um cluster. Se você estiver usando um seletor de nós diferente ou não estiver usando um, altere ou omita a propriedadenodeSelector
.- STATIC_IP é o endereço IP do balanceador de carga. Se você não definiu um,
omita a propriedade
loadBalancerIP
, mas mantenha as propriedadestype
eports
.
- Siga as instruções para se preparar para a instalação do ASM:
- Instale
asmcli
e qualquer ferramenta necessária, como git, kubectl e jq, seguindo as instruções em Instalar ferramentas necessárias. - Prossiga para a etapa Conceder permissões de administrador do cluster e pare. Não execute a etapa "Validar projeto e cluster".
- Instale o ASM com recursos opcionais.
Especifique o gateway de entrada legado 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 em que você quer que
asmcli
configure a instalação do ASM, incluindo todos os subdiretórios. - overlay.yaml é o arquivo de sobreposição criado nas etapas anteriores.
Use essas configurações ao seguir as instruções em Instalar com recursos opcionais.
- dir_path é o diretório de saída em que você quer que
Solução de problemas
Se você encontrar um erro em gcloud container hub memberships register
,
talvez tenha excedido o número máximo de clusters registrados com o GKE Hub. Por exemplo:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Siga as etapas a seguir para corrigir o erro e execute asmcli install
novamente:
- Liste as assinaturas do GKE Hub do seu projeto:
gcloud container hub memberships list --project=$PROJECT_ID
- Exclua as assinaturas do GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Para mais informações sobre os limites do GKE Hub, consulte Cotas e limites.
GKE em outras plataformas
Estas instruções são para instalar e configurar o ASM para instâncias híbridas da Apigee usando o Anthos para execução em:
- GKE On-Prem (Anthos)
- Anthos em bare metal
- GKE na AWS
Leia as etapas a seguir com atenção antes de começar. Solicitaremos que você realize algumas das etapas listadas na documentação do ASM, depois volte aqui para concluir a instalação.
- Faça o download e descompacte
istioctl
de acordo com as instruções na documentação do ASM: Como fazer o download do arquivo de instalação. - Dependendo da autoridade de certificação que você planeja usar, instale o ASM seguindo as
instruções em uma das seguintes seções:
- Como usar o Mesh CA: como instalar o Anthos Service Mesh com o Mesh CA
- Como fornecer seus próprios certificados com a CA do Istio: Como instalar o Anthos Service Mesh com a CA do Istio
- Configure o webhook de validação com as instruções em Como configurar o webhook de validação.
- Verifique os componentes do plano de controle com as instruções em
Como verificar
os componentes do plano de controle.
Não continue com "Injetando proxies secundários".
Outras plataformas do Kubernetes
AKS
Configure e faça o download do ASM
Leia as etapas a seguir com atenção antes de começar. Solicitaremos que você realize algumas das etapas listadas na documentação do ASM, depois volte aqui para concluir a instalação.
Neste guia, explicamos como fazer uma instalação limpa da versão 1.12.9-asm.3 do Anthos Service Mesh (ASM) em clusters anexados ao 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
Como preparar a instalação do Anthos Service Mesh
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-win.zip
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests\profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório \bin ao seu PATH:
set PATH=%CD%\bin:%PATH%
- Agora que o ASM Istio está instalado, verifique a versão de
istioctl
:istioctl version
- Crie um namespace chamado istio-system para os componentes do plano de controle:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Como instalar o Anthos Service Mesh
- Instale o Anthos Service Mesh com
istioctl
usando o perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
O argumento
--set revision
adiciona um rótulo de revisão no formatoistio.io/rev=asm-1129-3
a istiod. O rótulo de revisão é usado pelo webhook do injetor automático de sidecar para associar os sidecars injetados a uma revisão istiod específica. Para ativar a injeção automática de sidecar para um namespace, você precisa rotulá-lo com uma revisão que corresponda ao rótulo em istiod. - Verifique se os pods
istiod
estão em execução comkubectl get pods
:kubectl get pods -n istio-system
A resposta será semelhante a esta:
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-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifique se a instalação foi concluída:
kubectl get svc -n istio-system
A resposta será semelhante a esta:
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-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configurar o webhook de validação
Ao instalar o Anthos Service Mesh, você define um rótulo de revisão em istiod. Você precisa definir a mesma revisão no webhook de validação.
- Crie um arquivo chamado
istiod-service.yaml
com o conteúdo a seguir.apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 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-1129-3 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 de validação do webhook:kubectl apply -f istiod-service.yaml
- Verifique se a configuração foi aplicada:
kubectl get svc -n istio-system
A resposta será semelhante a:
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 faça o download do ASM
Leia as etapas a seguir com atenção antes de começar. Solicitaremos que você realize algumas das etapas listadas na documentação do ASM, depois volte aqui para concluir a instalação.
Neste guia, explicamos como fazer uma instalação limpa da versão 1.12.9-asm.3 do Anthos Service Mesh (ASM) em clusters anexados ao 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
Como preparar a instalação do Anthos Service Mesh
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-win.zip
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests\profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório \bin ao seu PATH:
set PATH=%CD%\bin:%PATH%
- Agora que o ASM Istio está instalado, verifique a versão de
istioctl
:istioctl version
- Crie um namespace chamado istio-system para os componentes do plano de controle:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Como instalar o Anthos Service Mesh
- Instale o Anthos Service Mesh com
istioctl
usando o perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
O argumento
--set revision
adiciona um rótulo de revisão no formatoistio.io/rev=asm-1129-3
a istiod. O rótulo de revisão é usado pelo webhook do injetor automático de sidecar para associar os sidecars injetados a uma revisão istiod específica. Para ativar a injeção automática de sidecar para um namespace, você precisa rotulá-lo com uma revisão que corresponda ao rótulo em istiod. - Verifique se os pods
istiod
estão em execução comkubectl get pods
:kubectl get pods -n istio-system
A resposta será semelhante a esta:
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-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifique se a instalação foi concluída:
kubectl get svc -n istio-system
A resposta será semelhante a esta:
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-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configurar o webhook de validação
Ao instalar o Anthos Service Mesh, você define um rótulo de revisão em istiod. Você precisa definir a mesma revisão no webhook de validação.
- Crie um arquivo chamado
istiod-service.yaml
com o conteúdo a seguir.apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 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-1129-3 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 de validação do webhook:kubectl apply -f istiod-service.yaml
- Verifique se a configuração foi aplicada:
kubectl get svc -n istio-system
A resposta será semelhante a:
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 faça o download do ASM
Leia as etapas a seguir com atenção antes de começar. Solicitaremos que você realize algumas das etapas listadas na documentação do ASM, depois volte aqui para concluir a instalação.
Neste guia, explicamos como fazer uma instalação limpa da versão 1.12.9-asm.3 do Anthos Service Mesh (ASM) em clusters anexados ao 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
Como preparar a instalação do Anthos Service Mesh
- Conceda a restrição de contexto de segurança (SCC, na sigla em inglês)
anyuid
ao istio-system com o seguinte comandooc
:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Conceda a restrição de contexto de segurança (SCC, na sigla em inglês)
anyuid
ao istio-system com o seguinte comandooc
:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Conceda a restrição de contexto de segurança
anyuid
(SCC) ao istio-system com o seguinte comando da CLI do OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-win.zip
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests\profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório \bin ao seu PATH:
set PATH=%CD%\bin:%PATH%
- Agora que o ASM Istio está instalado, verifique a versão de
istioctl
:istioctl version
- Crie um namespace chamado istio-system para os componentes do plano de controle:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Como instalar o Anthos Service Mesh
- Instale o Anthos Service Mesh com
istioctl
usando o perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
O argumento
--set revision
adiciona um rótulo de revisão no formatoistio.io/rev=asm-1129-3
a istiod. O rótulo de revisão é usado pelo webhook do injetor automático de sidecar para associar os sidecars injetados a uma revisão istiod específica. Para ativar a injeção automática de sidecar para um namespace, você precisa rotulá-lo com uma revisão que corresponda ao rótulo em istiod. - Verifique se os pods
istiod
estão em execução comkubectl get pods
:kubectl get pods -n istio-system
A resposta será semelhante a esta:
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-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifique se a instalação foi concluída:
kubectl get svc -n istio-system
A resposta será semelhante a esta:
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-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configurar o webhook de validação
Ao instalar o Anthos Service Mesh, você define um rótulo de revisão em istiod. Você precisa definir a mesma revisão no webhook de validação.
- Crie um arquivo chamado
istiod-service.yaml
com o conteúdo a seguir.apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 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-1129-3 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 de validação do webhook:kubectl apply -f istiod-service.yaml
- Verifique se a configuração foi aplicada:
kubectl get svc -n istio-system
A resposta será semelhante a:
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
Como personalizar a instalação do ASM
A instalação do ASM que você acabou de executar é uma instalação mínima, suficiente para testar e usar a Apigee híbrida para casos de uso básicos. Para informações sobre como lidar com casos de uso mais avançados, como adicionar, remover ou modificar números de porta do balanceador de carga, consulte Como ativar recursos opcionais.
Resumo
Agora, o gerenciador de certificados e o ASM estão instalados e é possível instalar a ferramenta de linha de comando da Apigee híbrida na máquina local.
1 2 3 (A SEGUIR) Etapa 4: instalar a apigeectl 5 6 7 8 9