Este início rápido explica-lhe a série de ações que têm de ser concluídas antes de poder implementar a API Speech-to-Text On-Prem. Para mais informações sobre os parâmetros de API configuráveis que são expostos durante a instalação e a configuração, consulte a página Configurações da API.
- Compre um plano.
- Atribua as funções de gestão de identidade e de acesso (IAM) necessárias a uma conta de serviço.
- Instale as ferramentas necessárias.
- Crie um cluster do Kubernetes.
- Pré-configure a API a partir da linha de comandos (opcional, apenas para instalação da CLI).
- Instale o Istio para o equilíbrio de carga do gRPC (opcional).
Configure a faturação
Na página de soluções da Google Cloud Platform, clique em COMPRAR PLANO. Esta ação deve ser realizada por um administrador da conta de faturação. Pode verificá-lo navegando na barra de navegação do lado esquerdo da Google Cloud Platform Console: Faturação -> Gestão de contas e, em seguida, verifique a função/diretor do lado direito. Só tem de o fazer uma vez.
Funções de IAM necessárias
Localize o menu pendente do projeto da Google Cloud Platform no seu painel de controlo:
Na janela de pop-up, pode escolher um projeto existente da Google Cloud Platform ou criar um novo. Depois de selecionar o projeto que quer associar ao Speech-to-Text On-Prem, navegue até ao ícone de menu (três linhas horizontais) no canto superior esquerdo e selecione IAM e administrador --> IAM para ver a lista das contas de serviço associadas a esse projeto.
Atribua as seguintes funções às contas de serviço pertencentes ao projeto da Google Cloud Platform que vai usar durante a instalação. Podem ser atribuídos a uma única conta de serviço ou a várias contas separadas, mas todas as contas têm de pertencer ao mesmo projeto. Para editar as autorizações da conta de serviço, clique no ícone de lápis à direita do nome da conta de serviço. Também pode criar novas contas de serviço clicando no botão +ADICIONAR na parte superior da página IAM na consola da Google Cloud Platform.
Funções de IAM necessárias:
- Visualizador de projetos
- Administrador da conta de faturação (obrigatório para comprar um plano, não obrigatório para a implementação)
- Administrador do Kubernetes Engine (se estiver a implementar no GKE)
- Administrador do cluster do Kubernetes Engine (se estiver a implementar no Anthos)
Ferramentas necessárias
- Instale a CLI do Google Cloud.
- Instale o kubectl.
Crie um cluster do Kubernetes
Certifique-se de que está a usar um cluster do GKE ou do Anthos. Os clusters do Kubernetes estão disponíveis na Google Cloud Platform. Se tiver clusters pré-existentes, pode escolher um na lista apresentada selecionando a caixa no lado esquerdo do nome do cluster:
Se não tiver clusters pré-existentes, é-lhe pedido que crie um. Certifique-se de que os parâmetros do cluster correspondem às recomendações na lista abaixo (os parâmetros predefinidos não são suficientes). Registe o Nome e a Localização do cluster, bem como o nome do projeto do Google Cloud Platform no qual o cluster está implementado.
Recomendações básicas para a configuração de clusters:
- Canal de lançamento: normal.
- O tamanho do conjunto de nós deve ser igual ou superior a $REPLICAS.
- Tipo de máquina do nó: e2-standard-4 (4 vCPU, 16 GB de memória) ou superior.
- Ative o dimensionamento automático
- Ative o Istio se precisar do equilíbrio de carga gRPC (opcional).
- Ative o Kubernetes Engine Monitoring se quiser exportar métricas para o Stackdriver (opcional).
Instale o Istio para o balanceamento de carga gRPC (opcional)
Para dimensionar o Speech-to-Text On-Prem, dependemos de um equilibrador de carga de nível 7 compatível com gRPC. Embora existam várias opções disponíveis, disponibilizamos uma configuração de exemplo do Istio aqui. Tenha em atenção que a estratégia de equilíbrio de carga L3 do serviço Kubernetes predefinido não é suficiente. Pode seguir o guia oficial do Google Cloud ou a página oficial do Istio para instalar o Istio. Se também quiser exportar as métricas, siga os passos 1 e 2 (na secção Configure o seu cluster do Kubernetes abaixo) e, em seguida, execute o comando abaixo:
kubectl get deployment/istio-pilot -n istio-system \
&& kubectl set env deployment/istio-pilot -n istio-system PILOT_HTTP10=1 \
|| kubectl set env deployment/istiod -n istio-system PILOT_HTTP10=1
A flag PILOT_HTTP10=1
permite que a nossa aplicação faça pedidos HTTP 1.0. Isto é fundamental para permitir que a aplicação faça a autenticação no
Stackdriver (através do
servidor de metadados da Google Cloud Platform)
para publicar telemetria.
Pré-configure a API a partir da linha de comandos (opcional)
Se planeia fazer uma instalação baseada na CLI, siga as instruções nesta secção.
Configure o seu ambiente
Configure o cluster do Kubernetes
Defina as variáveis de ambiente PROJECT e NAMESPACE. PROJECT é o ID do projeto da Google Cloud Platform no qual o cluster está implementado. NAMESPACE é o nome do novo espaço de nomes que vai criar no Passo 3 abaixo. Pode introduzir qualquer valor para NAMESPACE, mas "speech" é uma predefinição segura.
export PROJECT=<my-project-id> export CLUSTER_NAME=<name of the cluster> export LOCATION=<location of the cluster> export NAMESPACE=<new name for NAMESPACE>
Obtenha as credenciais do cluster:
gcloud container clusters get-credentials $CLUSTER_NAME --project $PROJECT --zone $LOCATION
Crie o espaço de nomes para o qual a aplicação vai ser implementada e atribua-o ao nome NAMESPACE que criou no passo 1 acima:
kubectl create namespace ${NAMESPACE:?}
Instale o CRD de aplicação, que é necessário para usar as apps do Google Cloud Platform Marketplace:
kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"
Crie um segredo de criação de relatórios. Este valor é usado pela aplicação para comunicar a utilização à Google e é usado para faturação futura. Na página da solução, no separador "Implementar através da linha de comandos", siga apenas as instruções 1 e 2 para gerar e implementar o segredo de relatórios de licenças.
O que se segue?
Saiba como implementar a API Speech-to-Text On-Prem.