Implantar e Configurar StackGres

Você precisará criar um cluster do Oracle Container Engine for Kubernetes, implantar StackGres nele e, em seguida, criar seu banco de dados.

Antes de começar, você precisará configurar sua arquitetura OCI. As instruções a seguir pressupõem que você tenha tudo além do cluster do Kubernetes e do banco de dados prontos.

Criar um Cluster do Kubernetes

Crie uma instância do Oracle Cloud Infrastructure Container Engine for Kubernetes em seu compartimento para a implantação StackGres.

  1. No menu principal da console do OCI, selecione Serviços do Desenvolvedor.
  2. Em Contêineres e Artefatos, selecione Clusters do Kubernetes (OKE).
    Todos os clusters existentes em seu compartimento são listados em uma tabela.
  3. Clique no botão Criar cluster.
  4. Na caixa de diálogo Criar cluster, selecione Criação rápida e clique em Submeter.
    A opção Criação rápida criará todos os recursos de rede necessários para essa implantação, incluindo sub-redes. Se você já tiver configurado sub-redes, poderá usar a opção Criação personalizada.
  5. No assistente Criar cluster (rápido), forneça valores para os seguintes campos e opções e clique em Próximo.
    Por exemplo, estes são alguns valores típicos para uma implantação pequena (3 CPUs):
  6. Na etapa Revisar, a página Recursos a serem criados fornece um resumo das informações de cluster, rede e pool de nós. Revise com cuidado todas as informações exibidas e, se estiverem corretas, clique em Criar cluster.
    A página Criando cluster e recursos de rede associados é mostrada. Cada componente a ser criado é listado com um status atualizado à medida que o processo automatizado é concluído. Normalmente, o processo leva cerca de 15 minutos para ser concluído.
Quando a criação do cluster do Kubernetes estiver concluída, você poderá continuar a instalar o StackGres no cluster.

Instalar StackGres Usando o Cloud Shell

Instale StackGres em seu novo cluster do Kubernetes usando a interface de linha de comando do Oracle Cloud Infrastructure Cloud Shell.

  1. Na Console do OCI, ative a página Detalhes do cluster para seu cluster do Kubernetes. Você precisará das informações mostradas aqui para as etapas a seguir.
  2. Na barra superior da console do OCI, ao lado do menu drop-down Região, clique no ícone de código e selecione Cloud Shell.
    Após alguns instantes, a CLI é aberta. A console e o prompt mostram seu nome de usuário, tenancy, região e pasta home.
  3. Use o comando create-kubeconfig com o valor ID do Cluster mostrado na página Detalhes do cluster e na sua região:
    oci ce cluster create-kubeconfig --cluster-id your_cluster_id --file $HOME/.kube/config --region your_region --token-version 2.0.0 --kube-endpoint PUBLIC_ENDPOINT
  4. Verifique se os nós do Kubernetes foram iniciados corretamente:
    kubectl get nodes
    A saída da console deve listar cada nó com seus endereços IP e o status Pronto.
  5. Verifique se os pods também foram iniciados corretamente:
    kubectl get pods -A
    A saída da console deve listar todos os pods no namespace kube-system como Em Execução.
  6. Adicione o repositório de instalação do StackGres, usando a instalação do pacote:
    helm repo add stackgres-charts https://stackgres.io/downloads/stackgres-k8s/stackgres/helm/
    A saída da console deve indicar que o repositório foi adicionado com sucesso.
  7. Execute a instalação:
    helm install --create-namespace --namespace stackgres stackgres-operator stackgres-charts/stackgres-operator
    A instalação levará cerca de cinco minutos para ser executada.
A console exibirá uma mensagem de que o STATUS está implantado, seguida por uma lista de comandos úteis, incluindo o comando com o URI da UI do Operador StackGres e os comandos get secret para gerar o nome de usuário e a senha do administrador. Copie toda essa saída para um arquivo de texto para referência posterior.

Configurar o Serviço

Configure o serviço StackGres usando o Oracle Cloud Infrastructure Cloud Shell e faça log-in na interface do usuário StackGres.

  1. No Cloud Shell, edite o arquivo de configuração do serviço alterando o campo Tipo de ClusterIP para LoadBalancer:
    kubectl edit services stackgres-restapi -n stackgres
    O console carrega o arquivo de configuração no editor de texto padrão, como vi. Em spec:, localize o campo type: e altere o valor para LoadBalancer. No vi, pressione a tecla Esc e digite :wq para salvar o arquivo.
  2. Obtenha o nome de referência do serviço:
    kubectl get pods -n stackgres –w
    copie o nome do pod stackgres-restapi. Por exemplo, stackgres-restapi-684df1e9b-gx455.
  3. Exponha que o serviço acesse a console web:
    kubectl expose pod your_stackgres-restapi-pod -n stackgres --type LoadBalancer --port 9443 --name admin-console
    A saída da console deve ser service/admin-console exposta.
  4. Obtenha o IP e a porta de acesso para o serviço:
    kubectl get services -n stackgres –w
    A saída da console incluirá uma linha para console de administração. Copie os valores para o IP externo e a porta. Você pode acessar a console usando o url https://<external-ip>:<port>/admin/index.html
  5. Gere um nome de usuário e uma senha para a console usando os comandos get secret fornecidos quando você executou a instalação:

    kubectl get secret -n stackgres stackgres-restapi --template '{{ printf "username = %s\n" (.data.k8sUsername | base64decode) }}'

    kubectl get secret -n stackgres stackgres-restapi --template '{{ printf "password = %s\n" (.data.clearPassword | base64decode) }}'

    Copie o nome do usuário e a senha.
  6. Faça log-in na console StackGres. Navegue até a console usando o URL criado na Etapa 4 e faça log-in usando o nome de usuário e a senha que você gerou na Etapa 5.
  7. Na lista drop-down Selecionar um namespace, selecione o namespace que você criou durante a instalação. Por exemplo, stackgres.
Você pode gerenciar sua instância StackGres na console StackGres.

Criar um Banco de Dados

Crie e acesse um banco de dados no cluster StackGres usando a console StackGres.

  1. Na console StackGres, selecione StackGres Clusters. Em seguida, clique no link criar um novo? na tabela.
  2. No assistente de Criação de Cluster, informe valores para suas instâncias de banco de dados PostgreSQL e clique em Criar Cluster. Por exemplo, para criar três instâncias para um ambiente de produção altamente disponível:
    Quando os clusters são criados, eles são mostrados na console com o status Ativo.
  3. Clique em Exibir Informações de Conexão para ver alguns comandos úteis, incluindo os comandos kubectl para estabelecer conexão com o cliente Postgres psql no Cloud Shell. Por exemplo:
    kubectl -n stackgres exec -ti prod-0 -c postgres-util – psql
Sua implantação do PostgreSQL agora está ativa e em execução no OCI.