0Pricing
Kubernetes Basics · Pelajaran

Ingress untuk Akses Eksternal

Konfigurasikan Ingress untuk mengelola akses eksternal ke service, menyediakan perutean HTTP/S dan penyeimbangan beban.

Ingress untuk Akses Eksternal adalah pelajaran Kubernetes Basics gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kubernetes Basics, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kubernetes Basics mencakup 4 pelajaran total.

Melampaui NodePort & LoadBalancer

Kita telah mempelajari berbagai jenis Layanan Kubernetes seperti NodePort dan LoadBalancer untuk mengekspos aplikasi ke luar.

Meskipun berguna, keduanya dapat menjadi merepotkan saat mengelola kebutuhan akses eksternal yang kompleks, terutama ketika Anda perlu menampung banyak aplikasi atau API pada satu alamat IP dengan aturan perutean tertentu.

Di sinilah Ingress berperan, dengan menawarkan solusi yang lebih kuat dan fleksibel.

Memperkenalkan Ingress Kubernetes

Ingress adalah objek API Kubernetes yang mengelola akses eksternal ke Layanan dalam klaster, terutama untuk lalu lintas HTTP dan HTTPS.

  • Ingress bertindak sebagai satu titik masuk untuk permintaan eksternal.
  • Ingress memungkinkan perutean HTTP/S berdasarkan nama host atau jalur URL.
  • Ingress juga dapat menyediakan fitur seperti penghentian SSL/TLS dan penyeimbangan beban.

Anggaplah Ingress sebagai pengendali lalu lintas cerdas yang mengarahkan lalu lintas web ke Layanan internal yang tepat.

Pengendali Ingress

Resource Ingress itu sendiri hanyalah sekumpulan aturan; resource ini tidak menangani lalu lintas secara langsung. Agar Ingress berfungsi, Anda memerlukan Pengendali Ingress yang berjalan di klaster.

Pengendali Ingress memantau resource Ingress dan mengonfigurasi penyeimbang beban eksternal (atau proksi balik) sesuai dengan aturan yang ditentukan.

Pengendali Ingress yang populer antara lain Nginx, Traefik, serta pengendali khusus cloud seperti GCE Ingress untuk Google Cloud atau AWS Load Balancer Controller.

Cara Kerja Aturan Ingress

Ingress mendefinisikan aturan yang memetakan permintaan eksternal masuk ke Layanan backend tertentu dalam klaster. Aturan ini biasanya menentukan:

  • Host: Nama domain (misalnya, www.my-app.com).
  • Path: Jalur URL (misalnya, /api, /blog).
  • Layanan Backend: Layanan Kubernetes dan porta yang menjadi tujuan penerusan lalu lintas.

Pengendali Ingress mengevaluasi aturan ini untuk setiap permintaan masuk guna menentukan tujuan yang tepat.

Menyusun YAML Ingress

Seperti resource Kubernetes lainnya, Ingress didefinisikan menggunakan manifes YAML. Berikut struktur dasar yang menunjukkan kolom-kolom penting:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-app-ingress
spec:
  rules:
  - host: myapp.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-web-service
            port:
              number: 80

Ingress Sederhana Berbasis Jalur

Mari buat resource Ingress yang merutekan semua lalu lintas untuk jalur akar (/) dari myapp.example.com ke Layanan bernama my-web-service pada porta 80.

Pastikan Deployment dan Layanan bernama my-web-service sudah berjalan di klaster sebelum menerapkan Ingress ini.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: basic-app-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: myapp.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-web-service
            port:
              number: 80

Menerapkan Ingress Anda

Untuk menerapkan resource Ingress, simpan YAML ke sebuah file (misalnya, basic-ingress.yaml) lalu gunakan kubectl apply:

kubectl apply -f basic-ingress.yaml

Anda dapat memeriksa status Ingress dengan kubectl get ingress. Pengendali Ingress kemudian akan mengonfigurasi penyeimbang beban eksternal berdasarkan aturan tersebut.

Untuk melakukan pengujian, biasanya Anda perlu memperbarui file /etc/hosts lokal (atau DNS) agar myapp.example.com mengarah ke alamat IP eksternal Pengendali Ingress.

Contoh Perutean Berbasis Host

Ingress sangat cocok untuk menampung beberapa aplikasi pada satu alamat IP eksternal dengan menggunakan nama host yang berbeda. Di sini, app1.example.com dirutekan ke service-app1, sedangkan app2.example.com dirutekan ke service-app2.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: host-routing-ingress
spec:
  rules:
  - host: app1.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: service-app1
            port:
              number: 80
  - host: app2.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: service-app2
            port:
              number: 80

Beberapa Jalur, Satu Host

Anda juga dapat merutekan jalur URL yang berbeda pada nama host yang sama ke Layanan backend yang berbeda. Cara ini ideal untuk arsitektur layanan mikro atau bagian-bagian berbeda dari satu aplikasi.

Misalnya, permintaan ke api.example.com/users diarahkan ke users-service, sedangkan permintaan ke api.example.com/products diarahkan ke products-service.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: path-routing-ingress
spec:
  rules:
  - host: api.example.com
    http:
      paths:
      - path: /users
        pathType: Prefix
        backend:
          service:
            name: users-service
            port:
              number: 80
      - path: /products
        pathType: Prefix
        backend:
          service:
            name: products-service
            port:
              number: 80

Pemeriksaan Tujuan Ingress

Manakah dari pilihan berikut yang merupakan manfaat utama penggunaan Ingress Kubernetes?

Ringkasan: Ingress untuk Perutean Cerdas

Bagus! Anda telah mempelajari Ingress Kubernetes, komponen penting untuk mengelola cara pengguna eksternal berinteraksi dengan aplikasi Anda.

  • Ingress menyediakan perutean HTTP/S yang fleksibel berdasarkan nama host dan jalur URL.
  • Ingress memerlukan Pengendali Ingress (seperti Nginx) untuk mengamati aturan Ingress dan mengonfigurasi perutean.
  • Ingress menyederhanakan proses mengekspos beberapa Layanan melalui satu alamat IP eksternal sehingga klaster menjadi lebih efisien dan mudah dikelola.

Menguasai Ingress adalah kunci untuk membangun aplikasi cloud-native yang tangguh dan mudah diakses!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Ingress untuk Akses Eksternal” gratis?

Ya — teks lengkap “Ingress untuk Akses Eksternal” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kubernetes Basics, upgrade ke CoddyKit PRO. Kursus Kubernetes Basics mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Ingress untuk Akses Eksternal”?

Konfigurasikan Ingress untuk mengelola akses eksternal ke service, menyediakan perutean HTTP/S dan penyeimbangan beban. Kamu berlatih Kubernetes Basics dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kubernetes Basics?

Tidak diperlukan pengalaman sebelumnya. Kubernetes Basics di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Ingress untuk Akses Eksternal” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kubernetes Basics ini?

Ya. Setiap pelajaran Kubernetes Basics menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuka Akses Aplikasi dengan Service
  2. Jenis Service: ClusterIP, NodePort, LoadBalancer
  3. Ingress untuk Akses Eksternal
  4. DNS dan Penemuan Layanan
← Kembali ke Kubernetes Basics