Como atualizar com segurança um servidor Kubernetes existente sem configurações originais

Como atualizar com segurança um servidor Kubernetes existente sem configurações originais

Recebi um cluster Kubernetes sem arquivos de configuração e não fui configurado com o helm. O autor disse que acabou de criar tudo a partir da linha cmd. É um cluster pequeno/novo para um único servidor API com um controlador de entrada nginx. Conheço o suficiente sobre Kubernetes e consegui adicionar um novo servidor web, mas agora preciso me aprofundar e atualizar as configurações existentes. Especificamente, quero ativar as métricas do prometheus no controlador nginx, mas não quero quebrar nada.

Existe uma maneira padrão de recuperar as configurações existentes (implantações, serviços, etc.) do cluster, fazer modificações e aplicá-las? Ou existe uma maneira de corrigir atualizações em partes individuais da configuração existente sem precisar criar um novo arquivo yaml?

Entendo que posso obter a configuração atual com algo assim:

kubectl get services -n nginx -o yaml

Essa saída possui campos adicionais como CreationTimestamp, uid, etc, que suponho que preciso remover. Ou posso simplesmente salvar a saída exatamente como está em um arquivo yaml, fazer minhas modificações para ativar o prometheus e, em seguida, aplicar a configuração de volta ao controlador? Irá ignorar os campos criados pelo kube? Existe uma abordagem diferente que eu deveria considerar?

Em segundo lugar, devo armazenar essas configurações em um repositório ou é assim que as coisas são feitas?

Responder1

Parece que você tem quase tudo que precisa; existem apenas algumas pequenas considerações:

  • kubectl -n <ns> get <CRD> -o yamlfornecerá a saída com alguns identificadores somente leitura, que você não pode redefinir mesmo que eles mantenham seus valores, portanto, eles não são adequados para mantê-los como arquivos simples.
  • usarkubectl edit instead
  • se você deve mantê-los em qualquer VCS que desejar ou apenas fazer modificações na hora - cabe inteiramente a você decidir; qualquer tentativa de discutir isso provavelmente acenderá uma chama.

informação relacionada