Editar, escalar, reiniciar e apagar
Nos planos Pro e Team, o Kubepier altera o cluster. No Free, tudo fica em modo leitura: na web, os botões aparecem com cadeado; no desktop, a partir da 2.4.0, também, com um aviso para assinar (até a 2.3.0, as ações não aparecem no Free).
O que faz
| Ação | Como funciona |
|---|---|
| Editar YAML | Substitui o objeto pelo YAML editado (PUT), devolvendo a anotação last-applied-configuration que a tela esconde. |
| Escalar | Muda as réplicas pelo subrecurso scale. |
| Reiniciar | Como kubectl rollout restart: carimba o template do pod com restartedAt. |
| Apagar | Apaga o objeto. Em pod, o controlador cria outro. |
O que é aceito
- Web, editar: os tipos do menu da web, menos Secret. O YAML precisa ser do mesmo objeto (mesmo tipo, nome e namespace).
- Web, escalar: Deployments, StatefulSets, ReplicaSets e ReplicationControllers, de 0 a 1000 réplicas.
- Web, reiniciar: Deployments, StatefulSets e DaemonSets.
- Web, apagar: os tipos do menu da web, menos namespaces e nós.
- Desktop: os menus do Freelens para cada tipo, inclusive recursos customizados e disparar um CronJob.
O que não é aceito
- Web: editar Secret (os valores não chegam ao navegador e o YAML editado apagaria os dados).
- Web: YAML inválido, ou de outro objeto.
- Web: gravar por cima de uma mudança feita por outra pessoa enquanto você editava: o Kubernetes recusa (409) e você recarrega.
- Web: escalar acima de 1000 réplicas ou abaixo de 0; apagar namespace ou nó.
- Web: editar ou apagar instâncias de recursos customizados (só leitura na web).
- Membro (na web; no desktop, a partir da 2.7.0) e qualquer pessoa no Free.
Confirmações
- Web: reiniciar pede confirmação; apagar pede que você digite o nome do recurso.
- Desktop: reiniciar e apagar pedem confirmação; a partir da 2.7.0, apagar, forçar e finalizar pedem o nome digitado.
- Editar e escalar aplicam ao salvar.
Auditoria
- Web: cada tentativa, com sucesso ou não, vai para a auditoria da organização, no banco: quem, quando, cluster, tipo, namespace, nome, ação e o erro, se houve.
- Desktop: aplicar, editar, escalar, reiniciar e apagar vão para o arquivo kubepier-audit.log, na pasta de dados do app, com quem, quando, cluster, tipo, namespace, nome e se deu certo. Cordon, uncordon e drain registram que o comando foi enviado, não o resultado.
- Nunca o manifesto, o YAML editado nem o patch.
Permissões necessárias do seu lado
| Ação | Permissão do Kubernetes (RBAC) |
|---|---|
| Editar | get e update no recurso |
| Escalar | patch no subrecurso scale (deployments/scale, statefulsets/scale…) |
| Reiniciar | patch no recurso |
| Apagar | delete no recurso |
A ação usa a permissão da credencial do cluster (web) ou do seu kubeconfig (desktop). Se ela não pode, o Kubernetes recusa e a tela mostra o erro.
Erros comuns
- Botão com cadeado: a organização está no Free ou você é membro. No desktop, a partir da 2.4.0, a ação abre um aviso para assinar; até a 2.3.0, ela não aparece no Free.
- 409 ao salvar: alguém mudou o objeto; recarregue e edite de novo.
- 422 ou "YAML inválido": o YAML não passou na validação; a mensagem diz o campo.
- 403: a credencial não tem o verbo da tabela acima.