Voltar ao blog

Explorando o CloudSigma PaaS: Como Acessar uma Aplicação Kubernetes via IP Público

Explorando o CloudSigma PaaS: Como Acessar uma Aplicação Kubernetes via IP Público

CloudSigma PaaS permite aos usuários expor suas aplicações usando um endereço IP público. Este endereço precisa ser anexado a um nó do cluster Kubernetes ambiente. Existem duas maneiras de conseguir isso no ambiente CloudSigma PaaS:

  • Uma maneira é anexar o IP público a um balanceador de carga dedicado.1-Public IP for Access to Kubernetes Application in Jelastic PaaS
  • Outra maneira é anexar o IP público a um nó Worker do Kubernetes.

Neste tutorial, nós o guiaremos sobre como obter acesso à aplicação Kubernetes usando qualquer uma dessas abordagens.

Configurando um Balanceador de Carga Dedicado para Acesso à Aplicação Kubernetes

Primeiro, aprenderemos como configurar um balanceador de carga dedicado para acesso à aplicação:

  1. Acesse o CloudSigma Marketplace para localizar e instalar o cluster Kubernetes. Em seguida, implante sua aplicação. Como exemplo, implantaremos o Jakarta EE Cargo Tracker.
  2. Ao lado do seu cluster Kubernetes, encontre e clique em Alterar Topologia do Ambiente. Na janela que se abre na sua tela, adicione um nó de Balanceador de Carga Dedicado. Em seguida, anexe um endereço IP público a ele assim:

2-Public IP Jelastic PaaS

No nosso exemplo, usamos o NGINX nó de balanceador de carga. Existem vários outros balanceadores de carga disponíveis, incluindo HAProxy, LS Web ADC, e Varnish. Você pode escolher o que preferir usar.

Quando terminar de modificar a topologia, as alterações aplicadas serão parecidas com isto:

3-Public IP for Access to Kubernetes Application in Jelastic PaaS

4-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. O próximo passo é criar um registro A para um domínio personalizado. Você usará o mesmo endereço IP público que usou nas etapas anteriores. Neste exemplo, usaremos cargo-tracker.cloudsigma.website:

5-Public IP for Access to Kubernetes Application in Jelastic PaaS

4. Agora podemos anexar nosso domínio personalizado ao cluster K8s. Para fazer isso, enviaremos uma solicitação para emitir um certificado Let’s Encrypt SSL confiável:

  • Passe o mouse sobre o Balanceador de Carga e clique em Add-Ons.
  • Encontre e Instale Let’s Encrypt Free SSL:

6-Public IP for Access in Jelastic PaaS-02

  • Na configuração, insira o nome do seu domínio personalizado e, em seguida, clique em Instalar. No nosso caso, o nome de domínio é o seguinte:

7-Public IP for Access to Kubernetes Application in Jelastic PaaS-

Finalmente, agora criamos nossa aplicação que podemos acessar usando o domínio personalizado https://cargo-tracker.cloudsigma.website. Também criptografamos o tráfego em nossa aplicação com um certificado SSL Let’s Encrypt válido e confiável.

Obtendo Acesso à Aplicação Usando o Endereço IP Público do Nó Worker do Kubernetes

A seguir, veremos a abordagem alternativa que você pode adotar para disponibilizar a aplicação fora do cluster Kubernetes. Essencialmente, aprenderemos como anexar um endereço IP público a um nó worker no cluster Kubernetes para tornar o aplicativo diretamente acessível:

8-Public IP for Access to Kubernetes Application in Jelastic PaaS

Vamos continuar com o mesmo exemplo que mostramos anteriormente. Usaremos o mesmo cluster no qual implantamos nossa aplicação Cargo Tracker. Veja como proceder:

1. Clique em Alterar Topologia do Ambiente. Adicione o endereço IP público ao nó worker:

9.1-Public IP for Access in Jelastic PaaS

2. Em seguida, crie um registro A para o seu domínio personalizado e mapeie-o para o IP que você acabou de adicionar. Certifique-se de usar um nome de domínio diferente daquele usado no capítulo anterior. Por exemplo, usaremos o seguinte nome de domínio: cargo-tracker-worker.cloudsigma.website:

9.2-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. Passe o mouse sobre o Control Plane ou nó Master e clique em Add-Ons. Localize e instale o Certificate Manager. Isso deve instalar um controlador cert-manager junto com um controlador de ingresso NGINX com o tipo de serviço LoadBalancer. Este último contém o endereço IP que está associado ao seu nó worker. Ele servirá os recursos da classe de ingresso “nginx-cert”:

10-Public IP for Access to Kubernetes Application in Jelastic PaaS-01

4. No campo fornecido, insira o nome de domínio de sua preferência e clique em Aplicar:

11-Public IP for Access to Kubernetes Application in Jelastic PaaS

5. No momento da instalação, o add-on também instala uma aplicação de teste chamada helloworld-cert. Você pode simplesmente excluir os recursos que ela usa com estes comandos:

Esses comandos devem ser inseridos e executados usando SSH (SFTP) ou o Web SSH Gate do Control Plane ou Master Node. Passe o mouse sobre o nó e clique na Web SSH opção ao lado para acessar o gate.

A outra opção é passar o mouse sobre o Control Plane ou Master Node e clicar em Config. A partir daqui, vá para o SFTP/SSH Gate e siga as instruções fornecidas.

6. Para encerrar o tráfego SSL da aplicação e gerenciar o roteamento para o serviço cargo-tracker, precisamos criar um recurso ingress chamado cargo-tracker-worker. Digamos que estamos usando cargo-tracker-worker-ingress.yaml. Você pode usar um editor como o vi para criar um arquivo e depois colar o seguinte código:

Depois disso,  proceda da seguinte forma:

7. Quando você criar este ingress, o Certificate Manager emitirá automaticamente um certificado SSL Let’s Encrypt para o seu novo nome de domínio. Dê ao sistema um ou dois minutos antes de verificar se o seu aplicativo está disponível no novo nome de domínio personalizado, que é https://cargo-tracker-worker.cloudsigma.website no nosso caso.

E voilà! Ao seguir estes passos, você expôs sua aplicação usando duas abordagens diferentes. Como resultado, você verá dois ingresses. Para nós, eles são:

  • cargo-tracker

Este ingress atende ao tráfego da aplicação que chega através do IP público do seu balanceador de carga dedicado.

  • cargo-tracker-worker

Este ingress está configurado para atender ao tráfego da aplicação que flui diretamente do IP associado ao nó worker do K8s.

É assim que eles aparecerão:

12-Public IP for Access in Jelastic PaaS

Com base no tipo de implementação que você escolher, precisará de apenas um ingress em produção. O CloudSigma PaaS dá aos seus usuários acesso a uma série de ferramentas para realizar balanceamento de carga conforme necessário pelas suas aplicações. Sinta-se à vontade para ler e aprender mais sobre balanceamento de carga na plataforma. Também temos guias detalhados sobre o básico de balanceamento de carga com ferramentas como NGINX e HAProxy entre outras ferramentas disponíveis.

Você pode experimentar o CloudSigma’s PaaS com o nosso teste gratuito de 7 dias ou entrar em contato conosco se quiser que forneçamos mais detalhes e uma demonstração da plataforma. 

Experimente grátis por 7 dias

author

Zhenya Mocheva

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.