Torna al blog

Esplorando CloudSigma PaaS: come accedere all'applicazione Kubernetes tramite IP pubblico

Esplorando CloudSigma PaaS: come accedere all'applicazione Kubernetes tramite IP pubblico

CloudSigma PaaS consente agli utenti di esporre le proprie applicazioni utilizzando un indirizzo IP pubblico. Questo indirizzo deve essere associato a un nodo dell'ambiente cluster Kubernetes. Ci sono due modi per ottenere questo risultato nell'ambiente CloudSigma PaaS:

  • Un modo consiste nell'associare l'IP pubblico a un bilanciatore di carico dedicato.1-Public IP for Access to Kubernetes Application in Jelastic PaaS
  • Un altro modo consiste nell'associare l'IP pubblico a un nodo Worker di Kubernetes.

In questo tutorial, vi guideremo su come ottenere l'accesso all'applicazione Kubernetes utilizzando uno di questi due approcci.

Configurazione di un bilanciatore di carico dedicato per l'accesso all'applicazione Kubernetes

Per prima cosa, impareremo come configurare un bilanciatore di carico dedicato per l'accesso all'applicazione:

  1. Andate sul CloudSigma Marketplace per individuare e installare il cluster Kubernetes. Quindi, distribuite la vostra applicazione. Come esempio, distribuiremo Jakarta EE Cargo Tracker.
  2. Accanto al vostro cluster Kubernetes, cercate e fate clic su Cambia topologia dell'ambiente. Nella finestra che si apre sullo schermo, aggiungete un nodo Bilanciatore di carico dedicato. Quindi, associate ad esso un indirizzo IP pubblico in questo modo:

2-Public IP Jelastic PaaS

Nel nostro esempio, abbiamo utilizzato il NGINX come nodo di bilanciamento del carico. Sono disponibili diversi altri bilanciatori di carico, tra cui HAProxy, LS Web ADC, e Varnish. Potete scegliere quello che preferite utilizzare.

Al termine della modifica della topologia, le modifiche applicate appariranno così:

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

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

3. Il passo successivo consiste nel creare un record A per un dominio personalizzato. Utilizzerete lo stesso indirizzo IP pubblico utilizzato nei passaggi precedenti. In questo esempio, utilizzeremo cargo-tracker.cloudsigma.website:

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

4. Ora possiamo associare il nostro dominio personalizzato al cluster K8s. Per fare ciò, invieremo una richiesta per emettere un certificato Let’s Encrypt SSL attendibile:

  • Passate il mouse sul bilanciatore di carico e fate clic su Add-On.
  • Trovate e installate Let’s Encrypt Free SSL:

6-Public IP for Access in Jelastic PaaS-02

  • Nella configurazione, inserite il nome del vostro dominio personalizzato e fate clic su Installa. Nel nostro caso, il nome di dominio è il seguente:

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

Finally, we have now made our application that we can access using the custom domain https://cargo-tracker.cloudsigma.website. Abbiamo anche crittografato il traffico sulla nostra applicazione con un certificato SSL Let’s Encrypt valido e attendibile.

Ottenere l'accesso all'applicazione utilizzando l'indirizzo IP pubblico del nodo Worker di Kubernetes

Successivamente, esamineremo l'approccio alternativo che si può adottare per rendere l'applicazione disponibile al di fuori del cluster Kubernetes. In sostanza, impareremo come associare un indirizzo IP pubblico a un nodo worker nel cluster Kubernetes per rendere l'app direttamente accessibile:

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

Continuiamo con lo stesso esempio mostrato in precedenza. Utilizzeremo lo stesso cluster su cui abbiamo distribuito la nostra applicazione Cargo Tracker. Ecco come procedere:

1. Fate clic su Cambia topologia dell'ambiente. Aggiungete l'indirizzo IP pubblico al nodo worker:

9.1-Public IP for Access in Jelastic PaaS

2. Successivamente, create un record A per il vostro dominio personalizzato e mappatelo sull'IP appena aggiunto. Assicuratevi di utilizzare un nome di dominio diverso da quello utilizzato nel capitolo precedente. Ad esempio, utilizzeremo il seguente nome di dominio: cargo-tracker-worker.cloudsigma.website:

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

3. Passate il mouse sul Control Plane o sul nodo Master e fate clic su Add-On. Individuate e installate Certificate Manager. Questo dovrebbe installare un controller cert-manager insieme a un controller di ingresso NGINX con tipo di servizio LoadBalancer. Quest'ultimo contiene l'indirizzo IP associato al vostro nodo worker. Servirà le risorse della classe di ingresso “nginx-cert”:

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

4. Nel campo fornito, inserite il nome di dominio preferito e fate clic su Applica:

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

5. Al momento dell'installazione, l'add-on installa anche un'applicazione di prova chiamata helloworld-cert. Potete semplicemente eliminare le risorse che utilizza con questi comandi:

Questi comandi devono essere inseriti ed eseguiti utilizzando SSH (SFTP) o il Web SSH Gate del Control Plane o del Master Node. Passa il mouse sul nodo e fai clic sull'opzione Web SSH accanto ad esso per accedere al gate.

L'altra opzione consiste nel passare il mouse su Control Plane o Master Node e fare clic su Config. Da qui, vai su SFTP/SSH Gate e segui le istruzioni fornite.

6. Per terminare il traffico SSL dell'applicazione e gestire l'instradamento verso il servizio cargo-tracker, dobbiamo creare una risorsa ingress chiamata cargo-tracker-worker. Diciamo che stiamo usando cargo-tracker-worker-ingress.yaml. Puoi usare un editor come vi per creare un file e poi incollare il seguente codice:

Dopodiché, procedi come segue:

7. Quando crei questo ingress, Certificate Manager emetterà automaticamente un certificato SSL Let’s Encrypt per il tuo nuovo nome di dominio. Concedi al sistema un minuto o due prima di verificare se la tua app è disponibile sul nuovo nome di dominio personalizzato, che è https://cargo-tracker-worker.cloudsigma.website nel nostro caso.

E voilà! Seguendo questi passaggi, hai esposto la tua applicazione utilizzando due approcci diversi. Di conseguenza, vedrai due ingress. Per noi, sono:

  • cargo-tracker

Questo ingress serve il traffico dell'applicazione che passa attraverso l'IP pubblico del tuo load balancer dedicato.

  • cargo-tracker-worker

Questo ingress è impostato per servire il traffico dell'applicazione che fluisce direttamente dall'IP associato al nodo worker K8s.

Ecco come appariranno:

12-Public IP for Access in Jelastic PaaS

In base al tipo di implementazione scelta, avrai bisogno di un solo ingress in produzione. CloudSigma PaaS offre ai suoi utenti l'accesso a una serie di strumenti per eseguire il bilanciamento del carico in base alle esigenze delle loro applicazioni. Sentiti libero di leggere e saperne di più sul bilanciamento del carico sulla piattaforma. Abbiamo anche guide dettagliate sulle basi del bilanciamento del carico con strumenti del calibro di NGINX e HAProxy tra gli altri strumenti disponibili.

Puoi fare una prova con il PaaS di CloudSigma grazie alla nostra prova gratuita di 7 giorni o contattarci se desideri ricevere maggiori dettagli e una demo della piattaforma. 

Prova gratis per 7 giorni

author

Zhenya Mocheva

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.