Berbagi teknologi

Jenis dan penggunaan Layanan yang diekspos di k8s

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Deskripsi
Di Kubernetes, ada beberapa cara berbeda untuk mengekspos layanan ke traffic eksternal. Mode ini ditentukan dengan menentukan bidang spec.type layanan.
2. Penjelasan rinci
1. ClusterIP
Definisi: Tipe default, layanan hanya dapat diakses di dalam cluster.
Fungsi: Mengekspos layanan melalui alamat IP internal cluster.
Contoh:

spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 8080
  • 1
  • 2
  • 3
  • 4
  • 5

2.NodePort
Definisi: Buka port tinggi (biasanya 30000-32767) pada setiap node untuk memungkinkan lalu lintas eksternal mengakses layanan.
Fungsi: Akses layanan melalui alamat IP dan nodePort dari node mana pun.
Contoh:

spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 8080
      nodePort: 30007
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3. Penyeimbang Beban

Definisi: Penyeimbang beban yang disediakan oleh platform cloud memberikan alamat IP eksternal ke layanan.
Fungsi: Akses layanan melalui alamat IP ini, cocok untuk situasi di mana penyeimbangan beban lalu lintas eksternal diperlukan.
Contoh:

spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 8080
  selector:
    app: my-app
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4. Nama Eksternal

Definisi: Memetakan layanan ke nama domain eksternal (seperti layanan database).
Fungsi: Akses layanan melalui nama domain eksternal yang ditentukan, bukan melalui IP internal cluster atau IP node.
Contoh:

spec:
  type: ExternalName
  externalName: example.com
  • 1
  • 2
  • 3

2. Ringkasan
ClusterIP: Jenis layanan default, hanya dapat diakses di dalam cluster.
NodePort: Buka port pada setiap node untuk mengizinkan lalu lintas eksternal mengakses layanan.
LoadBalancer: Penyeimbang beban yang disediakan oleh platform cloud mengalokasikan alamat IP eksternal, yang cocok untuk situasi di mana penyeimbangan beban diperlukan.
ExternalName: Memetakan layanan ke nama domain eksternal, cocok untuk skenario yang memerlukan akses ke layanan eksternal.