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

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
  • Traefik v2 Ingress Controller

Traefik v2 Ingress Controller

4 min read

Traefik v2 in Jelastic Kubernetes Cluster Kubernetes Jelastic dapat diinstal dengan ingress controller NGINX, Traefik, atau HAProxy. Dalam tulisan ini, kita akan melihat lebih dekat Traefik dan evolusinya dalam Jelastic Kubernetes Service (Jelastic KS).

Saat ini semua versi Kubernetes Jelastic yang telah dirilis mendukung Traefik v1, namun mulai dari versi Kubernetes 1.21.2, Traefik v2 akan digunakan sebagai gantinya.

Beberapa komponen internal Traefik telah mengalami perubahan konsep yang cukup signifikan dari v1 ke v2. Di bawah ini akan dibahas beberapa perubahan yang dianggap paling penting.

No  Frontends and Backends #

Konsep dasar seperti frontend dan backend telah digantikan dengan kombinasi routers, services, dan middleware. Pada Traefik v1, router dianggap menggantikan peran frontend, sementara service mengambil alih peran backend. Dimana setiap router akan merujuk ke suatu service.

Untuk meningkatkan fleksibilitas dalam memanipulasi permintaan sebelum dikirim ke service, komponen middleware ditambahkan ke router di Traefik v2. Middleware ini dapat dirangkai (chained) bersama untuk menyesuaikan kebutuhan skenario apa pun. Selain itu, setiap router bisa dihubungkan ke instance middleware yang diinginkan.

Middleware #

Terdapat sejumlah middleware yang tersedia pada traefik. Selain untuk melayani ingress tradisional pada permintaan HTTP, beberapa entitas middleware memungkinkan untuk memodifikasi parameter request, header HTTP, ada yang bertugas menangani logika redirect, dan ada juga yang menambahkan fitur autentikasi, dll.

Sebelum permintaan dikirim ke service, permintaan tersebut bisa dimodifikasi terlebih dahulu oleh satu atau lebih middleware yang terpasang pada router.

Beberapa contoh middleware yang digunakan dalam request routing:

  • stripPrefix : Memungkinkan untuk menghapus prefix dari path. Middleware ini digunakan jika backend Kamu hanya melayani path “/”, tetapi Kamu ingin menampilkannya secara eksternal pada prefix tertentu, misalnya “/foo”. Middleware ini merupakan pengganti dari anotasi frontend.rule.type di Traefik v1.
 http:
  middlewares:
    test-stripprefix:
      stripPrefix:
        prefixes:
          - "/foo"

 

  • basicAuth : Digunakan untuk menerapkan otorisasi dasar (Basic Authorization) pada suatu layanan. Middleware ini akan meminta pengguna untuk memasukkan username dan password sebelum dapat mengakses layanan yang dimaksud.
http:
  middlewares:
    test-auth:
      basicAuth:
        users:
          - "user1:$apr1$Kveg6cv0$yJn5mwyfBy7luzZ9Fi1AH0"
          - "user2:$apr1$w70ASLDx$1UJmrFL/lVoltjmAz4UDH/"

Middleware ini adalah alternatif untuk menetapkan kredensial melalui Kubernetes Secrets dan digunakan untuk membatasi akses ke layanan

 

Dan middleware ini juga merupakan pengganti anotasi pada Traefik v1.

traefik.ingress.kubernetes.io/auth-type: "basic".

#

Several Middleware at a Time #

Penggunaan middleware (begitu juga komponen routing lainnya) bersifat opsional. Logika routing bisa menggunakan beberapa middleware sekaligus atau bahkan tanpa middleware sama sekali.

Sebagai contoh, pada Ingress di bawah ini, satu middleware digunakan untuk keperluan otentikasi, dan middleware lainnya untuk menghapus prefix path dari sumber permintaan.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: monitoring-prometheus-alertmanager
namespace: kubernetes-monitoring
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.middlewares: 
kubernetes-monitoring-alert-auth@kubernetescrd, 
kubernetes-monitoring-alert-prefix@kubernetescrd
spec:
rules:
- http:
paths:
- path: /prometheus-alert
pathType: Prefix
backend:
service:
name: monitoring-prometheus-alertmanager
port:
number: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: alert-auth
namespace: kubernetes-monitoring
spec:
basicAuth:
secret: monitoring-prometheus

 

Providers #

Traefik v2 memperkenalkan konsep provider, yaitu komponen infrastruktur yang memberikan informasi terkait routing ke Traefik. Ketika Traefik mendeteksi perubahan, maka ia akan secara otomatis memperbarui rute yang ada. Untuk Kubernetes Ingress Traefik provider menyediakan fungsionalitas kubernetes ingress controller seperti biasanya.

Selain menggunakan Ingress standar, Jelastic Kubernetes Service (Jelastic KS) sekarang juga mendukung IngressRoute, yaitu implementasi Custom Resource Definition (CRD) dari Traefik HTTP router. Implementasi ini meningkatkan aksesibilitas ke cluster Kubernetes tanpa perlu menulis anotasi. Kamu bisa melihat contoh penggunaan IngressRoute di repository Kubernetes milik Jelastic.

Services #

Di antara berbagai fitur lainnya, Traefik v2 mendukung entitas Service khusus yang berfungsi untuk mengatur bagaimana cara mengakses service Kubernetes yang sebenarnya, yaitu service yang akan menangani request masuk pada akhirnya.

http:
  services:
    my-service:
      loadBalancer:
        servers:
        - url: "http://<private-ip-server-1>:<private-port-server-1>/"
        - url: "http://<private-ip-server-2>:<private-port-server-2>/"  

 

Selain itu, Traefik juga menyediakan sekumpulan internal services. Kamu bisa melihat contohnya di file konfigurasi dari repository Jelastic KS, di mana terdapat akses ke dashboard bawaan Traefik v2 melalui IngressRoute yang sudah disediakan.

Berikut ini hanyalah beberapa perubahan utama pada Traefik v2 yang diimplementasikan dalam Jelastic Kubernetes v1.21.2 ke atas. Kamu bisa melihat daftar lengkapnya di dokumentasi resmi terkait transisi dari Traefik v1 ke v2.

Mulailah menggunakan Kubernetes Service yang dapat secara otomatis di-deploy, dilakukan scaling up/down dan di-update menggunakan Jelastic PaaS, serta jangan lupa untuk selalu mengikuti update versi terbaru.

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

Powered by BetterDocs

Daftar Isi
  • No  Frontends and Backends
  • Middleware
  • Several Middleware at a Time
  • Providers
  • Services
© 2022 Jagoan Cloud