8000 Akoflow Client - Auto Installer de Cluster no Google Cloud · Issue #5 · UFFeScience/akoflow · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Akoflow Client - Auto Installer de Cluster no Google Cloud #5
Open
@ovvesley

Description

@ovvesley

O Akoflow Client deve ser expandido para incluir uma funcionalidade adicional no namespace akoflow install on gke. Essa funcionalidade permitirá:

  1. Verificação de Credenciais: Validar as credenciais fornecidas do Google Cloud Platform (GCP), garantindo que possuem os acessos necessários para operar recursos do Google Kubernetes Engine (GKE).
  2. Criação e Gerenciamento de Clusters: Verificar se o cluster especificado já existe. Caso contrário, criar um novo cluster no GKE.
  3. Deploy do Akoflow Engine: Após a criação do cluster, realizar automaticamente a instalação do Akoflow Engine e retornar o IP público da aplicação para o cliente.

Requisitos

  1. Namespace Dedicado:

    • Todos os comandos e parâmetros dessa funcionalidade devem ser agrupados no namespace akoflow install on gke.
    • No futuro, esse namespace será estendido para suportar outros provedores de nuvem (AWS, Azure, etc.).
  2. Verificação de Credenciais:

    • Validar as credenciais do GCP.
    • Garantir que as permissões necessárias estão presentes para criar e gerenciar clusters no GKE.
  3. Verificação e Criação de Cluster:

    • Conferir se o cluster já existe.
    • Caso não exista, criar um novo cluster com as configurações fornecidas.
  4. Deploy e Instalação do Akoflow Engine:

    • Realizar o deploy do Akoflow Engine no cluster recém-criado.
    • Monitorar o processo até a conclusão e retornar o IP público do serviço.
  5. Design Escalável:

    • A solução deve ser modular e extensível, pronta para suportar novos provedores de nuvem no futuro.

Entregáveis

  • Implementação de uma nova funcionalidade no Akoflow Client dentro do namespace akoflow install on gke.
  • Validação e retorno detalhado de todas as etapas, incluindo logs do processo de instalação.
  • Preparação do código para suportar múltiplos provedores de nuvem com mínimo esforço de adaptação.

O Akoflow Client deverá permitir o fornecimento das credenciais do Google Cloud através de um arquivo JSON, utilizando o seguinte formato de comando:

akoflow install on gke --credentials=file.json

Esse arquivo JSON corresponderá a uma Service Account com todos os acessos necessários para criação e gerenciamento de clusters no GKE.

Detalhes Técnicos

  1. Formato do Comando:

    • O parâmetro --credentials será utilizado para especificar o caminho do arquivo JSON contendo as credenciais da Service Account.
    • Exemplo: akoflow install on gke --credentials=/path/to/service-account.json
  2. Validação de Credenciais:

    • O Akoflow Client deverá validar se o arquivo JSON fornecido contém uma Service Account válida.
    • Verificar se as permissões necessárias estão presentes para criar clusters no GKE.
  3. Gerenciamento de Acessos (Futuro):

    • Futuramente, o Akoflow Client poderá incluir uma funcionalidade para gerenciar e verificar todos os acessos necessários diretamente, alertando o usuário sobre permissões ausentes ou incorretas.

Além de fornecer as credenciais, o Akoflow Client deverá permitir a definição de detalhes específicos sobre o cluster e os nodes que serão criados. Os parâmetros necessários e as opções padrão para a criação do cluster serão descritos abaixo.

Parâmetros para Configuração do Cluster

  1. Nome do Cluster

    • Parâmetro: --cluster-name
    • Descrição: Define o nome do cluster que será criado.
    • Exemplo: --cluster-name=akoflow-cluster
  2. Número de Máquinas

    • Parâmetro: --num-nodes
    • Descrição: Define a quantidade de máquinas (nodes) que o cluster terá.
    • Exemplo: --num-nodes=3
  3. Tipo de Máquina

  4. Zona do Cluster

    • Parâmetro: --zone
    • Descrição: Especifica a zona onde o cluster será criado.
    • Exemplo: --zone=us-central1-a

Comando Exemplo

akoflow install on gke --credentials=file.json --cluster-name=akoflow-cluster --num-nodes=3 --machine-type=e2-medium --zone=us-central1-a

Comportamento Padrão

  • Node Pool Padrão:
    • O Akoflow Client sempre criará um Node Pool inicial com os parâmetros definidos pelo usuário.
    • O cluster será configurado com os nodes especificados no comando.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0