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
  • Application Deployment
  • Exposing Services

Exposing Services

1 min read

Kubernetes Cluster : Exposing Services #

Meskipun komponen dalam aplikasimu dapat saling berkomunikasi menggunakan nama service melalui jaringan internal, koneksi dari luar tetap memerlukan konfigurasi tambahan.

Kubernetes mendukung tiga jenis service untuk membangun koneksi internal maupun eksternal ke aplikasi, yaitu :

  • ClusterIP
  • NodePort
  • LoadBalancer

Cluster IP #

Layanan ClusterIP adalah jenis service default di Kubernetes. Layanan ini memungkinkan aplikasi diakses oleh aplikasi lain di dalam cluster Kubernetes, namun tidak menyediakan akses dari luar cluster.

Berikut ini contoh service ClusterIP sederhana :

kind: Service
apiVersion: v1
metadata:
name: nginx1
namespace: test
spec:
type: ClusterIP
selector:
app: nginx
ports:
- port: 80

 

NodePort #

Cara paling dasar untuk membuat koneksi dari luar ke sebuah service adalah dengan mengeksposnya melalui NodePort secara langsung. Seperti namanya, tipe service ini membuka port tertentu di setiap node, dan lalu lintas apa pun yang dikirim ke port ini akan diteruskan ke service Kamu. Secara default, nodePort akan dipilih secara acak dari rentang 30000–32767.

 


📝 NOTE
Metode ini memiliki beberapa kekurangan yang perlu dipertimbangkan saat mengkonfigurasi Kubernetes Cluster (satu service per port, rentang port yang terbatas, dll.). Akibatnya, tipe service NodePort biasanya hanya digunakan untuk demo atau aplikasi sementara lainnya. Namun, untuk produksi biasanya dibutuhkan konfigurasi yang lebih kompleks menggunakan Ingress dan opsi service LoadBalancer.

 

Berikut adalah contoh konfigurasi service dengan tipe NodePort:

kind: Service
apiVersion: v1
metadata:
  name: nginx1
  namespace: test
  labels:
    run: nginx
spec:
  type: NodePort
  selector:
    run: nginx
  ports:
    - port: 80
      targetPort: 80


Jika diperlukan, Kamu bisa memilih nodePort tertentu untuk service kamu. Misalnya, konfigurasi berikut digunakan untuk mengarahkan koneksi dari port 30984:

ports:
    - port: 80
      targetPort: 80
      nodePort: 30984

 

Jika IP publik telah terpasang pada node pekerja (worker nodes) Kubernetes, maka tidak diperlukan konfigurasi tambahan.

Namun, jika belum, port yang telah ditentukan sebelumnya (nodePort) perlu diekspos dari sisi platform. Berikut langkah-langkahnya:

  1. Buka Settings > Endpoints pada lingkungan Kubernetes kamu > Klik Add.
  2. Isi data berikut pada jendela yang muncul:
    • Node: pilih salah satu node pekerja dari daftar.
    • Name: masukkan nama endpoint sesuai keinginan.
    • Private Port: isi dengan nilai nodePort yang telah kamu tentukan sebelumnya.
    • Protocol: pilih opsi TCP.

endpoint to expose kubernetes service

Klik Add untuk mengonfirmasi. Proses ini mungkin memerlukan waktu hingga beberapa menit agar platform berhasil mengekspos port tersebut dan mengarahkan permintaan (request) ke service NodePort yang sudah kamu konfigurasi.

Load Balancer #

Tipe service LoadBalancer adalah cara yang paling umum digunakan untuk menyediakan akses layanan di Internet. Jenis ini membutuhkan IP publik yang terpasang pada salah satu worker node.

Perlu Kamu ingat bahwa dengan tipe LoadBalancer, seluruh lalu lintas (traffic) akan langsung diteruskan ke layanan tanpa adanya proses filtering, routing, atau mekanisme pengamanan lainnya. Parameter port dalam konfigurasi ini adalah port dari Internet yang masuk, sedangkan targetPort adalah port tujuan di sisi aplikasi.

Sebagai contoh:

kind: Service
apiVersion: v1
metadata:
  name: nginx1
  namespace: test
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
    - port: 80
      targetPort: 8080

What are your Feelings

Share This Article :

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

How can we help?

Updated on July 30, 2025
Internal NetworkingCreating Ingresses

Powered by BetterDocs

Daftar Isi
  • Kubernetes Cluster : Exposing Services
  • Cluster IP
  • NodePort
  • Load Balancer
© 2022 Jagoan Cloud