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.

- 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:
- 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.
- 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:

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. 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:

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:

- 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:

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:
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:

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:

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”:

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

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:
|
1 2 3 4 5 |
$ kubectl delete deploy hello-cert-manager $ kubectl delete svc hello-cert-manager $ kubectl delete ing helloworld-cert |
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:
|
1 |
vi cargo-tracker-worker-ingress.yaml |
Depois disso, proceda da seguinte forma:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cargo-tracker-worker namespace: default annotations: kubernetes.io/ingress.class: nginx-cert cert-manager.io/cluster-issuer: "letsencrypt-prod" kubernetes.io/tls-acme: "true" nginx.ingress.kubernetes.io/affinity: "cookie" nginx.ingress.kubernetes.io/affinity-mode: "persistent" nginx.ingress.kubernetes.io/session-cookie-expires: "172800" nginx.ingress.kubernetes.io/session-cookie-max-age: "172800" spec: tls: - hosts: - cargo-tracker-worker.cloudsigma.website secretName: external-domain-tls rules: - host: cargo-tracker-worker.cloudsigma.website http: paths: - path: / pathType: ImplementationSpecific backend: service: name: cargo-tracker port: number: 80 |
|
1 |
$ kubectl apply -f cargo-tracker-worker-ingress.yaml |
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:

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.

Comentários
Nenhum comentário ainda. Seja o primeiro.