Estes passos são específicos da versão incluída do Istio que é incluída por predefinição no "suplemento do GKE" do Knative serving.
Uma vez que a versão incluída do Istio é desinstalada quando executou o processo de desinstalação do "suplemento do GKE" do Knative Serving, os passos nesta página instalam o Cloud Service Mesh no seu cluster e, em seguida, configuram o gateway de entrada.
Antes de começar
Primeiro, tem de rever e garantir que cumpre os requisitos para a atualização.
Os comandos nesta página usam as variáveis de ambiente e o script de migração do passo de preparação da atualização.
É importante que execute cada passo deste processo na ordem especificada.
Vista geral
Em geral, o processo de instalação do Cloud Service Mesh quando migra da versão agrupada do Istio é o mesmo que o processo de execução de uma instalação limpa do Cloud Service Mesh. Neste processo, a versão 1.18 do Cloud Service Mesh é instalada com o plano de controlo no cluster.
Instale a versão 1.18 do Cloud Service Mesh
Use a documentação de instalação do Cloud Service Mesh para instalar o Cloud Service Mesh.
Antes de começar:
Para a migração, a gateway de entrada tem de ser instalada separadamente durante os passos de configuração subsequentes. O script de instalação não instala o gateway de entrada por predefinição.
Opcional: se usar a autoridade de certificação (AC) do Cloud Service Mesh, também tem de incluir a flag
--ca mesh_ca
com o script de instalação do Cloud Service Mesh.
Para instalar o Cloud Service Mesh:
Siga os passos na documentação do Cloud Service Mesh: Instale a versão 1.18 do Cloud Service Mesh
- Exemplo
Segue-se um exemplo do comando predefinido que inclui a flag obrigatória:
./asmcli install \ --project_id ${PROJECT_ID} \ --cluster_name ${CLUSTER_NAME} \ --cluster_location ${CLUSTER_LOCATION} \ --ca mesh_ca \ --output_dir DIR_PATH \ --enable_all
Configure a entrada do Cloud Service Mesh
Nesta secção, o script de migração é usado para
criar o gateway de entrada do Cloud Service Mesh no espaço de nomes gke-system
.
Para a migração, é usado o espaço de nomes gke-system
para que o gateway de entrada seja colocado no mesmo espaço de nomes usado pelo "Istio integrado" removido recentemente. Por conseguinte, os pods de entrada da malha de serviços na nuvem podem assumir o controlo do tráfego sem problemas, sem alterações de configuração necessárias ao serviço de entrada. Por exemplo, não tem de configurar um novo endereço IP externo.
Para criar o gateway de entrada no espaço de nomes
gke-system
, execute o seguinte comando para iniciar o script de migração:./migration-addon.sh --command set-up-asm-ingress
O resultado do terminal durante o processo tem um aspeto semelhante ao seguinte:
Setting up Cloud Service Mesh ingress. Note that the Cloud Service Mesh ingress is not serving traffic at this step. namespace/gke-system labeled deployment.apps/istio-ingressgateway created horizontalpodautoscaler.autoscaling/istio-ingressgateway created role.rbac.authorization.k8s.io/istio-ingressgateway-sds created rolebinding.rbac.authorization.k8s.io/istio-ingressgateway-sds created Cloud Service Mesh ingress is successfully installed.
Verifique se o gateway de entrada
istio-ingrerssgateway
está a ser executado no espaço de nomesgke-system
executando o seguinte comando:kubectl get deployment istio-ingressgateway -n gke-system
Tenha em atenção que o número de recipientes
istio-ingressgateway
é intencionalmente0
. Após instalar o componente de frota de fornecimento do Knative, existe um passo subsequente para migrar todo o tráfego para a entrada do Cloud Service Mesh.
O que se segue?
Reversão
Se precisar de reverter as alterações que fez através dos passos anteriores, pode usar o script de migração para:
- Elimine o gateway de entrada do Cloud Service Mesh.
- Desinstale o Cloud Service Mesh.
Para reverter a configuração e a instalação da malha de serviço na nuvem:
Execute o seguinte comando para iniciar a reversão.
./migration-addon.sh --command rollback-set-up-asm-ingress
O resultado do terminal durante o processo tem um aspeto semelhante ao seguinte:
Deleting Cloud Service Mesh ingress deployment.apps "istio-ingressgateway" deleted horizontalpodautoscaler.autoscaling "istio-ingressgateway" deleted role.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted rolebinding.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted Cloud Service Mesh ingress is successfully deleted.
Para verificar se o gateway de entrada do Cloud Service Mesh foi removido, verifique se o serviço
istio-ingressgateway
já não existe no espaço de nomesgke-system
:kubectl get deployment istio-ingressgateway -n gke-system
Para continuar a reverter todas as alterações ao estado original das suas instalações, reverta o "suplemento do GKE" do Knative Serving.