Skip to content
Jagoan Cloud Docs
  • Solutions
    • Server Ujian Online
    • Scalable WordPress
  • Products
    • Jagoan Cloud PaaS
      • Pricing
    • Cloud Backup
    • VPS Windows
    • Business Mail
    • SSL Certificate
  • Login App
Popular Search settingsshphpdockerdomain

Rapor Digital Madrasah

  • Cara Instalasi RDM

Panduan Dasar

  • Cara Memasang SSL di Jagoan Cloud
  • Mengubah domain Jagoan Cloud ke Domain Sendiri
  • Cara Menambahkan IP Public

Moodle

  • Cara Login ke Server Moodle di Jagoan Cloud
  • Cara Login ke Aplikasi Moodle di Jagoan Cloud
  • Cara Menggunakan Domain Pribadi untuk Aplikasi Moodle

Quick Start

  • Getting Started
  • Dashboard Guide
  • Welcome Tutorial
  • Software Stack Versions

Platform Overview

  • What is Platform-as-a-Service
  • Concept and Terminology
  • What are System Containers
  • What are Application Containers
  • Isolated Containers
  • What is Auto-Clustering
  • Cloudlet

Containers

  • Container Types
  • Container Image Requirements
  • Connect to Custom Container
  • Custom Container SSH Access
  • Private Registry Inside PaaS
  • Building Custom Containers

Environment Management

  • HTTP Headers
  • Clone Environment

Application Settings

  • Configuration File Manager
  • Managing Timezone Settings

Development Tools

  • FTP/FTPS Support

Account and Pricing

  • Account Registration
  • Account Types
  • Account Statuses
  • Account Password Reset
  • Quotas System
  • Two Factor Authentication
  • Personal Access Token
  • Upgrade and Refill Account
  • Pricing Model Overview

Architecture Overview

  • Cluster Overview
  • Cluster Orchestrator

Container Deployment

  • Certified Containers Deployment
  • Custom Containers Deployment
  • Docker Engine Deployment

Container Redeploy

  • Redeploy Overview
  • Preserve Data

Container Configuration

  • Configuration Tools
  • Container Environment Variables
  • Container Linking
  • Container Volumes
  • Container Ports
  • Container Run Configuration

Environment Variables

  • Java Options and Arguments
  • Default Environment Variables
  • Custom Environment Variables

Environment Groups

  • Overview
  • Group Creation
  • Navigation Between Groups
  • Group Management
  • Environment Isolations

Scaling and Clustering

  • Automatic Vertical Scaling
  • Horizontal Scaling
  • Automatic Horizontal Scaling
  • Data Synchronization
  • File Synchronization in Cluster
  • Auto-Clustering of Instances

Built-In Monitoring

  • Log Files
  • Statistics
  • Load Alerts

SSH

  • Generate SSH Key
  • Add SSH Key
  • SSH Access

Resource Charging

  • Pricing FAQ
  • Charged Resources
  • Monitoring Consumed Resource

Kubernetes

  • GitLab CI/CD Integration
  • Cluster Automated Upgrade
  • Public IP for Access to Kubernetes
  • Traefik v2 Ingress Controller

Kubernetes Cluster

  • Kubernetes Overview
  • System Requirements
  • Cluster Installation
  • Cluster Versions

Managing Kubernetes

  • Cluster Access
  • Access Controll
  • Cluster Troubleshooting
  • Cluster Upgrade
  • Velero Backup

Kubernetes Scalability

  • Vertical Scalling
  • Horizontal Scalling

Application Deployment

  • Helm Integration
  • YAML Deployments
  • Internal Networking
  • Exposing Services
  • Creating Ingresses

Persistent Data

  • Volume Provisioner
  • Persistent Volume Claim
  • Custom Storage

Domain Name Management

  • Swap Domain
  • Multiple Domain for PHP
  • Container DNS Hostnames

External Access to Applications

  • Shared Load Balancer
  • Public IP
  • Container Firewall
  • Endpoints

Traffic Distributor

  • Traffic Distributor Overview
  • Routing Methods
  • Traffic Distributor Installation
  • Traffic Distributor Integration
  • Use Case

SSL

  • Secure Socket Layer
  • Built-In SSL
  • Custom SSL
  • Custom SSL via SLB

Scheduling Configuration

  • Setting Up Cronjob
View Categories
  • Docs
  • Panduan Penggunaan Layanan & Platform Jagoan Cloud
  • Jagoan Cloud PaaS
  • Kubernetes
  • Public IP for Access to Kubernetes

Public IP for Access to Kubernetes

2 min read

Dalam postingan ini, kami ingin menunjukkan cara mengekspos aplikasi melalui alamat IP publik yang terpasang pada salah satu node di lingkungan Kubernetes cluster pada Jelastic PaaS. Hal ini dapat dilakukan dengan dua cara berikut ini.

Dedicated Load Balancer for Application Access #

1. Pertama-tama, instal Kubernetes cluster dari Jelastic Marketplace dan lakukan deployment aplikasi. Sebagai contoh, di sini digunakan aplikasi Jakarta EE Cargo Tracker.

2. Klik Change Environment Topology di sebelah Kubernetes cluster Kamu. Pada jendela yang terbuka, tambahkan Dedicated Load Balancer node dan pasangkan alamat IP publik pada LB tersebut.

Di sini kami menggunakan load balancer NGINX, namun Kamu bisa memilih opsi lain yang tersedia (seperti HAProxy, LS Web ADC, atau Varnish). Setelah topologi diubah, tampilannya seharusnya akan seperti berikut:

3. Setelah itu, buat A record untuk custom domain menggunakan alamat IP yang telah ditambahkan pada langkah sebelumnya. Contohnya: cargo-tracker.jele.website.

4. Sekarang Kamu bisa menghubungkan custom domain ke K8s cluster dan mengirim permintaan untuk menerbitkan sertifikat SSL terpercaya dari Let’s Encrypt guna mengamankan lalu lintas aplikasi.

  • Buka bagian Add-Ons pada node load balancer, lalu cari Let’s Encrypt Free SSL.

  • Masukkan custom domain name yang sudah Kamu tentukan sebelumnya, lalu terapkan pengaturannya.

Sekarang aplikasi Cargo Tracker sudah dapat diakses menggunakan custom domain name https://cargo-tracker.jele.website, dan seluruh trafiknya telah dienkripsi menggunakan sertifikat SSL sah dari Let’s Encrypt.

Kubernetes Worker Node Public IP Address for Application Access #

Mari kita lihat cara lain untuk membuat aplikasi dapat diakses dari luar Kubernetes cluster. Inti dari metode ini adalah menjadikan aplikasi langsung dapat diakses melalui alamat IP publik yang terpasang pada salah satu worker node.

Mari kita lanjutkan pada cluster yang sama dengan aplikasi Cargo Tracker yang sudah dideploy.

1. Klik Change Environment Topology, lalu tambahkan alamat IP publik ke worker node

2. Buat A record untuk domain kustom yang mengarah ke alamat IP publik yang baru ditambahkan. Gunakan nama domain yang berbeda dari yang digunakan pada langkah sebelumnya. Contohnya: cargo-tracker-worker.jele.website.

3. Selanjutnya, buka menu add-ons di Control Plane node dan instal Certificate Manager. Selain cert-manager controller, proses ini juga akan menginstal NGINX ingress controller dengan jenis layanan LoadBalancer. Ingress ini akan menggunakan IP yang terpasang pada worker node, dan akan menangani resource dari kelas ingress bernama “nginx-cert”

4. Masukkan nama domain kustom yang telah Kamu buat, lalu aplikasikan dengan klik button Apply.

5. Setelah proses instalasi selesai, add-on tersebut akan memasang aplikasi uji coba bernama helloworld-cert. Mari kita hapus resource yang digunakan aplikasi tersebut dengan perintah berikut:

kubectl delete deploy hello-cert-manager
kubectl delete svc hello-cert-manager
kubectl delete ing helloworld-cert

6. Terakhir, buat resource Ingress bernama cargo-tracker-worker yang akan melakukan terminasi SSL (mengelola lalu lintas HTTPS) dan menangani routing ke service cargo-tracker. Berikut contoh file konfigurasi cargo-tracker-worker-ingress.yaml:

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.jele.website
    secretName: external-domain-tls
  rules:
  - host: cargo-tracker-worker.jele.website
    http:
      paths:
      - path: /
        pathType: ImplementationSpecific
        backend:
          service: 
            name: cargo-tracker
            port: 
              number: 80
kubectl apply -f cargo-tracker-worker-ingress.yaml

7. Setelah membuat resource ingress, sertifikat SSL dari Let’s Encrypt akan secara otomatis diterbitkan untuk nama domain tersebut menggunakan Certificate Manager. Tunggu beberapa saat dan periksa ketersediaan aplikasi melalui nama domain khusus tadi : https://cargo-tracker-worker.jele.website.

Selamat! Kamu telah berhasil mengekspos aplikasimu dengan dua cara berbeda, sehingga sekarang Kamu seharusnya melihat dua ingress:

  • cargo-tracker : Melayani lalu lintas aplikasi yang mengalir melalui alamat IP publik dari load balancer khusus
  • cargo-tracker-worker : Melayani lalu lintas aplikasi yang langsung mengalir melalui alamat IP publik yang terpasang pada node pekerja (worker) Kubernetes

Tentunya dalam lingkungan produksi, Kamu hanya memerlukan satu ingress saja, tergantung pada implementasi yang dipilih. Jelajahi hosting Kubernetes yang mudah dan dapat diskalakan bersama Jagoan Cloud.

What are your Feelings

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on August 14, 2025
Traefik v2 Ingress ControllerCluster Automated Upgrade

Powered by BetterDocs

Daftar Isi
  • Dedicated Load Balancer for Application Access
  • Kubernetes Worker Node Public IP Address for Application Access
© 2022 Jagoan Cloud