The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Dev Services para Kubernetes

O Dev Services para Kubernetes inicia automaticamente um servidor de API do Kubernetes no modo de desenvolvimento e ao executar testes. Portanto, você não precisa iniciar um cluster do Kubernetes manualmente. A aplicação é configurada automaticamente.

Ativar/desativar Dev Services para Kubernetes

O Dev Services para Kubernetes é ativado automaticamente, a menos que:

  • quarkus.kubernetes-client.devservices.enabled esteja definido como false

  • a URL api-server-url esteja configurada

  • um arquivo de configuração Kube válido seja encontrado e quarkus.kubernetes-client.devservices.override-kubeconfig não está definido como true

  • você inclua a dependência quarkus-test-kubernetes-client

O Dev Services para Kubernetes depende do Docker para iniciar o servidor de API. Se o seu ambiente não for compatível com o Docker, você precisará iniciar o cluster do Kubernetes manualmente ou conectar-se a um cluster do Kubernetes já em execução. Você pode configurar o acesso ao cluster do Kubernetes usando um arquivo de configuração do Kube ou as várias propriedades disponíveis na classe KubernetesClientBuildConfig.

Cluster compartilhado

Na maioria das vezes, você precisa compartilhar o cluster entre as aplicações. O Dev Services para Kubernetes implementa um mecanismo de descoberta de serviços para que suas várias aplicações Quarkus em execução no modo de desenvolvimento compartilhem um único cluster.

O Dev Services para Kubernetes inicia o contêiner com o rótulo quarkus-dev-service-kubernetes que é utilizado para identificar o contêiner.

Se precisar de vários clusters (compartilhados), você pode configurar a propriedade de configuração quarkus.kubernetes-client.devservices.service-name e indicar o nome do cluster. Ele procura um contêiner com o nome definido ou inicia um novo contêiner se nenhum for encontrado. O nome padrão do serviço é kubernetes.

O compartilhamento é ativado por padrão no modo de desenvolvimento, mas desativado no modo de teste. Você pode desativar o compartilhamento com quarkus.kubernetes-client.devservices.shared=false .

Configurando o cluster

O Dev Services para Kubernetes oferece três tipos diferentes de cluster do Kubernetes. Cada tipo oferece suporte a diferentes versões da API do Kubernetes. Você pode configurar o tipo e a versão usando as propriedades quarkus.kubernetes-client.devservices.flavor e quarkus.kubernetes-client.devservices.api-version:

quarkus.kubernetes-client.devservices.flavor=api-only # k3s or kind
quarkus.kubernetes-client.devservices.api-version=1.22

'api-only' inicia apenas um Servidor de API Kubernetes. Se você precisa de um cluster Kubernetes totalmente funcional que possa criar Pods, você pode usar k3s ou kind. Observe que ambos requerem que sejam executados em modo privilegiado do Docker.

Se a api-version não estiver definida, a versão mais recente para o tipo fornecido será usada. Caso contrário, a versão deve corresponder a uma versão suportada pelo tipo fornecido.

Conteúdo Relacionado