Langsung ke konten utama

Day 92 : Membuat LoadBalancer dalam kubernetes

Hari ini, saya akan melanjutkan pembelajaran mengenai DevOps, khususnya pada materi Kubernetes. Setelah sebelumnya saya menulis tentang ClusterIP dalam Service Kubernetes, kali ini saya akan membahas langkah-langkah membuat Load Balancer dalam Service Kubernetes. Topik ini sangat menarik karena Load Balancer merupakan elemen penting dalam arsitektur aplikasi modern, terutama untuk memastikan aplikasi dapat diakses secara efisien dan tetap responsif meskipun menerima banyak permintaan.




Konfigurasi Kubernetes

Berikut adalah konfigurasi YAML yang akan kita gunakan:

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx-diaz
spec:
  replicas: 4
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx
          ports:
            - containerPort: 80

---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80


Penjelasan Konfigurasi

  1. ReplicaSet

    • replicas: 4: Menentukan jumlah pod yang akan dijalankan.
    • Label app: nginx: Digunakan untuk mengidentifikasi pod yang terkait dengan Service.
    • Image nginx: Menjalankan aplikasi berbasis web default NGINX pada setiap pod.
  2. Service

    • Tipe LoadBalancer: Mengarahkan trafik dari pengguna ke semua pod secara merata.
    • Port 80: Port akses publik untuk Service.
    • TargetPort 80: Port yang digunakan pada container di dalam pod.

Langkah-Langkah Penggunaan

  1. Simpan File Konfigurasi
    Simpan file YAML di atas dengan nama nginx-loadbalancer.yaml.

  2. Deploy ke Kubernetes
    Jalankan perintah berikut untuk menerapkan konfigurasi:

    kubectl apply -f nginx-loadbalancer.yaml
  3. Verifikasi Deployment

    • Periksa ReplicaSet:

      kubectl get replicasets

      Hasilnya akan menunjukkan ReplicaSet bernama nginx-diaz dengan jumlah replika yang sesuai.

    • Periksa Pods:

      kubectl get pods

      Pastikan terdapat 4 pod yang berjalan dengan nama unik.

    • Periksa Service:

      kubectl get services

Pengalaman dan Pelajaran

Menerapkan konfigurasi ini memberikan pemahaman mendalam tentang bagaimana Kubernetes mengelola trafik aplikasi dengan LoadBalancer. Dengan ReplicaSet, kita memastikan bahwa aplikasi tetap berjalan dengan jumlah pod yang stabil, sementara Service LoadBalancer memastikan trafik diarahkan dengan merata ke setiap pod. Langkah ini sangat relevan untuk membangun aplikasi yang siap digunakan pada skala besar.

Komentar

Postingan populer dari blog ini

Day 109 : Akhir dari Perjalanan PKL: Terima Kasih untuk PT Excellent

Hari ini adalah hari terakhir saya menjalani PKL di PT Excellent. Momen ini menjadi penutup dari perjalanan yang luar biasa penuh pembelajaran, pengalaman, dan kenangan yang tak terlupakan. Saya ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada keluarga besar PT Excellent atas kesempatan, bimbingan, dan kepercayaan yang telah diberikan kepada saya selama saya melaksanakan PKL di sini. Selama PKL, saya mendapatkan banyak pengetahuan baru yang sebelumnya belum pernah saya pelajari. Dari segi teknis, saya belajar banyak tentang teknologi seperti Zimbra, bahasa pemrograman Golang, hingga DevOps hal-hal yang awalnya terasa asing, kini menjadi ilmu yang berharga dan menjadi ilmu baru bagi saya. Namun, pembelajaran saya di PT Excellent tidak hanya terbatas pada aspek teknis. Saya juga belajar tentang kedisiplinan, tanggung jawab, profesionalisme, serta bagaimana pentingnya kolaborasi dalam lingkungan kerja. Terima kasih kepada Mas Ridwan, yang selalu membimbing saya dengan sab...

Day 82 : Membuat image dengan bahasa pemrograman golang

Hari ini, saya melanjutkan perjalanan belajar Docker dengan memanfaatkan Visual Studio Code (VSCode), editor favorit saya. Fokus utama saya adalah memahami cara membuat Docker image menggunakan alur kerja yang terintegrasi dengan VSCode. Proses ini tidak hanya efisien tetapi juga menyenangkan karena VSCode memiliki ekosistem yang kaya, termasuk berbagai ekstensi pendukung yang mempermudah pekerjaan. Mengapa Menggunakan VSCode untuk Docker? VSCode menyediakan lingkungan pengembangan yang lengkap dengan berbagai fitur, seperti: Docker Extension : Mempermudah pengelolaan image, container, dan jaringan Docker langsung dari editor. Terminal Terintegrasi : Menjalankan perintah Docker langsung dari VSCode tanpa perlu beralih aplikasi. Debugging Tools : Membantu melacak masalah aplikasi yang berjalan di dalam container, terutama bagi pengembang Golang. Dengan semua keunggulan ini, VSCode menjadi alat yang sangat mendukung dalam pengembangan berbasis Docker. Langkah-langkah Membuat Docker Image...

Day 64 : Membuat program sederhana go part 7 : Menghitung sistem persamaan dua variabel

Apa itu Sistem Persamaan Linear Dua Variabel (SPLDV)? Sistem persamaan linear dua variabel (SPLDV) adalah kumpulan dua persamaan linear yang melibatkan dua variabel, biasanya dinotasikan dengan x dan y . Tujuan SPLDV adalah mencari nilai x dan y yang memenuhi kedua persamaan tersebut secara bersamaan . Secara umum, bentuk SPLDV adalah: a 1 x + b 1 y = c 1 a_1x + b_1y = c_1 a 1 ​ x + b 1 ​ y = c 1 ​ a 2 x + b 2 y = c 2 a_2x + b_2y = c_2 a 2 ​ x + b 2 ​ y = c 2 ​ Keterangan: a 1 , b 1 , c 1 a_1, b_1, c_1 a 1 ​ , b 1 ​ , c 1 ​ adalah koefisien dan konstanta dari persamaan pertama. a 2 , b 2 , c 2 a_2, b_2, c_2 a 2 ​ , b 2 ​ , c 2 ​ adalah koefisien dan konstanta dari persamaan kedua. x dan y adalah variabel yang dicari solusinya. Contoh SPLDV 2 x + 3 y = 5 2x + 3y = 5 2 x + 3 y = 5 4 x − y = 2 4x - y = 2 4 x − y = 2 Tujuan kita adalah mencari nilai x dan y yang membuat kedua persamaan benar secara bersamaan. Kemungkinan Solusi SPLDV Solusi unik : SPLDV memiliki satu pasangan sol...