Executando verificação de segurança...
1

Kubernetes: Como você prosseguiria neste caso?

Tenho um projeto em que meus pods executam uma função constante, então a escalabilidade com a tarefa de restaura-los caso precisem ser atualizados é uma tarefa complexa(eu julgo).

Pensei em usar HPA porém dessa forma não consigo restaurar o cluster em caso de uma atualização, sabendo que para restaurar um cluster, preciso passar uma chave de ambiente CLUSTER_KEY que é a mesma do cluster que foi deletado anteriormente.

Talvez tenha uma forma de fazer isso com HPA, não sei.

O que estou pensando em fazer é uma shell para administar isso, criar clusters, destruir eles e verificar a carga de trabalho que estão executando. Isso para decidir se crio um outro cluster para suprir a carga ou não. E tudo isso seria feito via uma aplicação simples que enviaria comandos para o kubernetes, não contando com HPA, dai pra atualizar eles, eu poderia simplesmente destruir um cluster, e recria-lo com a mesma key.

Ainda não sei qual é a melhor forma de fazer isso. Alguém poderia me ajudar nessa questão?

Carregando publicação patrocinada...
2

@founty, porque você fica destruindo e recriando o cluster ? Não faz sentido.

Eu não sei se entendi direito o seu problema mas do que eu li, me parecer ser uma situação de job (cronjob).

Você pode configurar sua aplicação para inicializar como cronjob e rodar a função que você deseja.

Se o tempo para rodar essa função for muito curto a ponto de um cronjob não fazer sentido, ou seja, o tempo de execução do comando rodar é menor do que o próprio tempo que ele é executado, ai você poderia ir para uma opção de Additional Deployment.

Para dar uma sugestão mais assertiva seria necessaria uma explicação melhor do seu problema, o que está fazendo e os objetivos dessa função.

De qualquer maneira, espero ter ajudado de alguma forma.

1

me refiro ao fato de atualizar um cluster, por exemplo: com uma nova imagem

o cluster fornece trabalho constante que nao pode parar, e caso seja destruido, a solução é passar a mesma chave de ambiente para restaura-lo, dessa forma, a destrução é feita somente para atualizar o cluster que logo em seguida(construido atualizado), recupera seus trabalhos baseado no ambiente. Caso um cluster de erro e caia ou eu precisar atualiza-lo, essa é a unica saida que vejo sem perder os trabalhos que ele está executando

1

Eu concordo com xmaximus, nao tem o porque voce ficar recriando um cluster. Alias ter um cluster kubernetes para rodar apenas uma aplicação é meio over. um POD é diferente de um cluster e a atualização é simples, basta trocar a imagem do deployment que ele mesmo faz o rolling update automaticamente. HPA é para fazer autoscaling aumentar ou diminuir quantidade de instancias da aplicação de acordo com alguma metrica como memoria ou cpu.

Assim, tenta descrever mais o cenario pra gente tentar entender melhor e ver como ajudar. mas se for so pra atualizar a imahem do container/pod isso é relarivamente trivial, mudando a img dentro do deployment. Qlq coisa da uma olhada na doc do k8s que ele explica detalhado esse processo