Upgrade
Kubernetes
As operações do Kubernetes no dia 2 usam a CLI
helm na sua estação de trabalho. Somente o init inclui um cliente Helm integrado; portanto, instale o helm antes do primeiro upgrade.init:
v inicial (o chart X.Y.Z corresponde à tag vX.Y.Z). O chart publicado já aponta para a imagem pública de contêiner, portanto instalações e upgrades simples não exigem valores de imagem. Para inspecionar os valores padrão do chart, execute helm show values clicklink-connector --repo https://releases.clicklink.clickhouse.com/charts. O executor é executado como uma única réplica com a estratégia Recreate, de modo que um upgrade o desconecta brevemente. Consulte quando o connector está offline para saber o que acontece com os comandos nessa janela.
Uma instalação a partir de uma referência direta ao chart (oci://, uma URL ou um arquivo ou diretório local) não tem um repositório em relação ao qual possa ser resolvida. Em vez disso, execute novamente helm upgrade clicklink-connector <same-chart-reference> na nova versão. Executar novamente o init com uma CLI mais recente também produz o mesmo resultado, mas exige um ponto de entrada: --handoff se você manteve o pacote ou um novo token de inscrição com --force após a limpeza documentada. O helm upgrade acima é o procedimento usual (consulte reexecuções e recuperação).
VM Linux
Execute novamente o instalador no host. Ele baixa e verifica o lançamento mais recente como fez durante o onboarding. Ele cria um backup do binário anterior, instala as systemd units atuais e preserva seus padrões de mascaramento ativos e o arquivo de ambiente. Em seguida, reinicie os daemons:--version vX.Y.Z ao comando de instalação.
Saúde
Cada daemon disponibiliza um endpoint/livez em sua porta de saúde. O indicador de saúde é o campo JSON status no corpo da resposta, não o código de status HTTP. As métricas do Prometheus são disponibilizadas em /metrics na mesma porta; não há uma porta de métricas separada. Portas padrão em ambos os destinos:
O executor também disponibiliza sua API de comandos local em
127.0.0.1:9999. Ela não possui autenticação própria e nunca é exposta fora do host ou do pod do Kubernetes; os comandos de serviço do clicklink clctl a acessam localmente.
Quando as sessões de suporte estão habilitadas, o gateway também escuta na porta 8443: TLS autossinado em uma VM, HTTP local ao pod por meio de kubectl port-forward ou uma Entrada com terminação TLS no Kubernetes.
Em uma VM, execute toda a suíte de verificações a qualquer momento:
2 se alguma verificação falhar.
Certificados
O connector renova seu próprio certificado de cliente. O scraper, o solucionador de problemas e o executor verificam o certificado final a cada 12 horas e o renovam quando restam 10 dias. A renovação retorna um certificado final com validade de 30 dias pelo canal existente autenticado por mTLS e HMAC, portanto nenhuma ação do operador é necessária. No Kubernetes, o daemon grava o certificado final renovado novamente no Secretclicklink-mtls; em uma VM, ele o grava em /etc/clicklink/tls/.
Para verificar a data de expiração atual:
Rotação de credenciais
Credenciais da API (HMAC)
Solicite um novo token de inscrição à sua equipe de conta e execute novamente o comandoinit original com --enroll e --force. Mantenha todas as flags específicas do destino usadas na primeira instalação (--target-namespace, --values e quaisquer flags de espelhamento, como --chart, --chart-repo ou --chart-version), pois --force prepara novamente a configuração preservada. O modo managed é herdado da configuração que está sendo substituída, portanto --managed é opcional aqui. Em uma instalação padrão:
init apenas habilita e inicia unidades que ainda não estão em execução, portanto reinicie os daemons após a rotação:
init cria previamente os Secrets rotacionados clicklink-hmac e clicklink-mtls; o chart não os renderiza. Sua annotation de checksum não os abrange, portanto os pods em execução continuam usando as credenciais com as quais foram iniciados. Reinicie todos os componentes após a rotação:
Para rotação não assistida, quando o provisionamento SQL exige uma senha, o stdin recebe ambos os segredos nesta ordem: o token na primeira linha e a senha na segunda. A leitura do token consome exatamente uma linha.
Usuários do ClickHouse
Reprovisione os usuários somente leitura do connector em cada instância que você mesmo registrou. No Kubernetes, execute os comandos a partir da sua estação de trabalho.--apply-ch-grants reaplica os grants regenerados no pod para que as novas credenciais cheguem ao ClickHouse; se o usuário admin tiver uma senha, adicione --ch-admin-password-stdin e forneça-a por pipe:
--ch-user-via cr:
--ch-user-via cr e as flags de seleção do pod do Kubernetes a qualquer uma das opções; consulte a referência da CLI.
Certificado do cliente
A renovação é automática (consulte certificados). Para substituir imediatamente um certificado ainda válido, executeinit novamente com --force. Em seguida, reinicie cada componente para que os daemons apresentem o novo certificado final: no Kubernetes, conforme descrito em credenciais de API; em uma VM, as três unidades.
Reexecuções e recuperação
As reexecuções deinit são convergentes; portanto, executar novamente o mesmo comando é sempre a primeira medida. Sem --force, um /etc/clicklink/config.yaml (VM) ou uma sobreposição clicklink-values.yaml (Kubernetes) existente é mantido, e uma chave de cliente existente é reutilizada; o init substitui as credenciais e a cadeia de CA atomicamente. Os comandos de recuperação exibidos pela CLI após uma falha parcial podem ser repetidos com segurança.
--force substitui a configuração ou sobreposição mantida, regenera a chave de cliente e substitui um certificado do cliente ainda válido. Ele nunca gera um novo UUID de cluster, de modo que a identidade do connector é preservada. A postura do modo managed da configuração substituída é mantida em reexecuções não assistidas e oferecida como padrão em um terminal, a menos que você passe --managed ou --no-managed.
Se a assinatura do certificado falhar após o staging ou se o endpoint de assinatura retornar 409 porque já existe um certificado ainda válido, não será necessário um novo token nem uma segunda emissão. Conclua a instalação com os materiais assinados já presentes no disco:
/etc/clicklink e gerencia os serviços). No Kubernetes, a CLI imprime o formato completo, incluindo --target helm, --target-namespace e --values; use o comando impresso como está.
Connector offline. Enquanto o connector está fora do ar ou inacessível, os serviços que ele gerencia continuam em execução. O ClickHouse operator no seu cluster os mantém ativos, e o executor não está no data path. Mudanças de ciclo de vida exigem o executor conectado, portanto nenhuma é aplicada até que ele se reconecte. Ao reiniciar, o executor recupera do seu banco de dados de comandos aqueles que estavam em andamento. Um comando que o ClickHouse Cloud entrega novamente é respondido a partir do resultado registrado; somente um comando que falhou é executado de novo. Para os comandos de ciclo de vida enquanto nenhum executor está conectado, consulte quando o connector está offline.
Desinstalar
VM Linux
Ouninstall.sh é incluído no tarball do lançamento. Se não houver um tarball extraído no host, busque e extraia um (consulte download e verificação manuais). Execute o uninstall.sh no diretório extraído:
clicklink-scraper, clicklink-troubleshooter e clicklink-executor e remove as unidades do systemd e o binário. Preserva os itens a seguir, para que uma reinstalação posterior reutilize a configuração existente:
/etc/clicklink, incluindo os access bundles do executor em/etc/clicklink/access/executor/var/lib/clicklink, incluindo o banco de dados de comandosexecutor.dbdo executor e o registry de serviços/var/log/clicklink- o usuário
clicklink
clicklink-system; exclua-o quando nada mais o utilizar.
Kubernetes
helm.sh/resource-policy: keep, portanto a desinstalação o preserva, junto com o banco de dados de comandos e o registry de serviços nele contidos. Os Secrets criados pelo init, o Secret do platform bundle gravado pelo platform approve e o ConfigMap do registry de serviços mantido pelo executor também não pertencem ao chart e sobrevivem à desinstalação. Exclua-os explicitamente. Inclua o par de Secret de acesso e ServiceAccount de cada instance que você mesmo registrou e de cada serviço gerenciado para o qual você provisionou o solucionador de problemas (nomeado a partir do serviço). O --ignore-not-found cobre objetos que nunca chegaram a ser criados, como o Secret do platform bundle antes da primeira aprovação:
init aplicou o grant cluster-wide do executor, não o chart. Remova-o como admin do cluster assim que não restar nenhum serviço gerenciado:
A camada de plataforma
Desinstalar o connector não remove a camada de plataforma. Os espaços de nomes e as cargas de trabalho da plataforma, o RBACpcm-platform e os objetos de admission instalados pelas suas aprovações permanecem no cluster, assim como todos os serviços gerenciados. Exclua primeiro os serviços; consulte excluir um serviço. Em um cluster de teste sem serviços, o comando clicklink clctl platform reset desinstala os lançamentos da plataforma. As CustomResourceDefinitions, o RBAC e a StorageClass que ele deixa para trás precisam ser excluídos manualmente; consulte redefinir um cluster de teste. Fora de um cluster de teste, defina um plano de remoção junto à sua equipe de conta antes de mexer na camada de plataforma.
Usuários do ClickHouse
A desinstalação em qualquer um dos destinos mantém os usuários provisionados como somente leitura nas instâncias que você mesmo registrou. Exclua-os como administrador em cada instância (adicione seu--ch-user-suffix aos nomes, caso tenha definido um):