Sites

Complementos Gerenciados: Postgres e Redis

The Addons tab lets you attach a managed PostgreSQL database or a managed Redis instance to a site without building or maintaining a server for it. Kapsule provisions it, gives you a connection…

O separador Addons permite-lhe associar uma base de dados PostgreSQL gerida ou uma instância Redis gerida a um site sem construir ou manter um servidor para isso. A Kapsule aprovisiona-a, fornece-lhe uma cadeia de ligação e remove-a de forma limpa quando a elimina.

Onde Vivem os Addons

Abra Websites, clique no site, abra o menu Settings na fita do separador do site e escolha Addons. A página tem o título Managed addons.

Existem duas opções no catálogo:

AddonUtilização típica
PostgreSQLO armazenamento de dados principal para uma aplicação que não utiliza MySQL
RedisColocação em cache, armazenamento de sessão e filas de tarefas em segundo plano

Estes são separados da base de dados MySQL que vem com um site de alojamento padrão. Esse encontra-se no separador Files, depois Database e não necessita de aprovisionamento: veja Connecting To Your Database Over an SSH Tunnel.

Página de addons geridos para um site no KPanel

Solicitação de um Addon

  1. Encontre o addon na secção Add a managed database.
  2. Clique em Add to site.

O pedido é registado imediatamente e o addon aparece em Your addons com um crachá PENDING e a nota Waiting for provisioner. A página atualiza-se a si mesma a cada quinze segundos, pelo que pode deixá-la aberta.

Uma tarefa em segundo plano apanha pedidos pendentes a cada alguns minutos, cria uma base de dados dedicada e um utilizador dedicado para o seu site, e escreve uma cadeia de ligação encriptada. O estado muda então para ACTIVE.

Solicitar ou remover um addon necessita da permissão sites:write. Os membros da equipa de leitura podem ver quais os addons que existem e o seu estado, mas os botões estão ocultos.

Um De Cada, Por Site

Um site pode conter um addon PostgreSQL e um addon Redis. Pedir um segundo do mesmo tipo é recusado com uma mensagem a indicar que já está aprovisionado, e o catálogo oculta uma opção assim que está instalado. Quando ambos estão instalados, a secção do catálogo lê All available addons are installed.

Leitura do Estado

EstadoSignificado
PENDINGSolicitado, em fila para o aprovisionador
PROVISIONINGA ser criado neste momento
ACTIVEPronto a usar
FAILEDO aprovisionamento não foi concluído; a razão é mostrada na linha
DELETEDRemovido, já não está listado

Uma linha FAILED mostra o texto de erro real abaixo dela em vez de uma mensagem genérica. Se a razão não for algo em que possa agir, cite-a textualmente num pedido de suporte: veja Opening a Support Ticket.

Obter a Cadeia de Ligação

Assim que um addon estiver ACTIVE, a sua linha mostra uma cadeia de ligação mascarada com a palavra-passe substituída por pontos, para que possa confirmar o anfitrião e o nome da base de dados à primeira vista sem expor a credencial.

Clique em Copy connection para colocar a cadeia de ligação completa na sua área de transferência. É desencriptada no lado do servidor para esse único pedido e nunca é impressa na página, pelo que as partilhas de ecrã e as capturas de ecrã não a vazam. Todas as revelações são escritas no registo de auditoria do site e aparecem no Site Activity Log.

A cadeia está na forma de URL habitual para cada motor, transportando o anfitrião, porta, utilizador, palavra-passe e nome da base de dados que foram criados para este site.

Utilizá-la na Sua Aplicação

Cole a cadeia de ligação em qualquer lugar onde a sua aplicação leia a sua configuração. Num site Node.js, o local correto para isso é o separador Secrets, sob uma chave como DATABASE_URL ou REDIS_URL, no ambiente production.

Não coloque em código a cadeia de ligação num ficheiro que confirme. Contém uma palavra-passe em direto. Se chegar a um remoto git, tem de ser tratada como vazada, e a única correcção real é eliminar o addon e solicitar um novo, porque a credencial não pode ser rotacionada no local a partir do painel.

Remoção de um Addon

Clique em Delete na linha. O KPanel pede-lhe confirmação e é franco sobre o que acontece: isto remove a base de dados gerida, e os dados não podem ser recuperados.

A linha é marcada como eliminada imediatamente e o aprovisionador remove a base de dados e o utilizador subjacentes na sua próxima passagem. As ligações existentes são terminadas como parte dessa remoção.

Não é feita uma cópia de segurança de um addon gerido após a eliminação, e não há desfazer. Se houver algo nele que queira guardar, despeje-o primeiro com pg_dump ou redis-cli --rdb enquanto o addon ainda está ativo e a cadeia de ligação ainda funciona.

Escolher Entre as Opções

Use PostgreSQL quando a sua aplicação necessita de uma base de dados relacional e foi escrita contra Postgres: restrições fortes, transações, colunas JSON e pesquisa de texto completo que de outro modo teria de adicionar.

Use Redis para coisas que se permite desaparecerem: fragmentos em cache, contadores de limite de taxa, armazenamento de sessão e filas de tarefas. Trate-o como rápido e volátil, não como um sistema de registo.

Use a base de dados MySQL incorporada para WordPress e para qualquer coisa já escrita contra MySQL. Adicionar um addon Postgres a um site WordPress não faz nada útil, porque WordPress não pode comunicar com ele.

Resolução de Problemas

O addon está PENDING há muito tempo. O aprovisionador funciona num calendário em vez de instantaneamente. Deixe a página aberta, já que se atualiza a si mesma, e volte a verificar. Se não se tiver movido após algumas passagens, abra um pedido de suporte com o domínio do site e o tipo de addon.

O aprovisionamento FAILED. Leia o erro na linha. Elimine o addon falhado e solicite-o novamente, o que é seguro: uma linha falhada nunca teve uma base de dados ativa atrás dela.

Copy connection não faz nada. Alguns navegadores bloqueiam escritas na área de transferência quando o separador não tem foco. Clique primeiro na página e depois clique novamente no botão.

A aplicação não consegue conectar. Verifique três coisas por ordem: que o estado do addon é ACTIVE, que copiou a cadeia em vez de a digitar novamente, e que a sua aplicação está a ler o valor que realmente definiu em vez de um obsoleto de uma implementação anterior. Geralmente é necessário um reinício antes de a nova configuração ser utilizada.

As ligações são recusadas após uma reimplementação. Confirme que a cadeia de ligação na sua configuração ainda corresponde à desta página. Eliminar e solicitar novamente um addon cria um novo utilizador e uma nova palavra-passe, pelo que uma cadeia antiga não funcionará.

Por Onde Continuar

Ainda precisa de ajuda?

Envie-nos um email para support@kapsulehost.com ou abra um chat no KPanel.

Abrir KPanel
Complementos Gerenciados: Postgres e Redis