• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Cara Membuat ConfigMap di Kubernetes

Last Updated on 20 July 2021 By tommy Leave a Comment

Untuk menyimpan konfigurasi, selain volume kita bisa menggunakan ConfigMap. ConfigMap memiliki batas maksimal file sebesar 1 MB, sejak Kubernetes 1.19 menjadi read-only by default. Ada banyak contoh penggunaan ConfigMap, beberapa diantaranya:
1. Konfigurasi Database
2. Secret (Vault)
3. Environment variable

Sebagai contoh pembelajaran, kita akan mengganti konfigurasi nginx yang berada di /etc/nginx/nginx.conf dengan configMap yang kita buat
Buat file nginx-configmap.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: aplikasi-belanja
spec:
  containers:
    - name: nginx
      image: nginx
      volumeMounts:
        - name: nginx-config
          mountPath: /etc/nginx/nginx.conf
          subPath: nginx.conf
          readOnly: true
  volumes:
    - name: nginx-config
      configMap: 
        name: nginx-config
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-config
data:
  nginx.conf: |
    user  nginx;
    worker_processes  auto;
    worker_rlimit_nofile 10000;
 
    error_log  /var/log/nginx/error.log notice;
    pid        /var/run/nginx.pid;
 
    events {
        worker_connections 10000;
        use epoll;
        multi_accept on;
    }
 
    http {
        include /etc/nginx/mime.types;
        default_type  application/octet-stream;
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
 
        access_log  /var/log/nginx/access.log  main;
        sendfile        on;
        keepalive_timeout  65;
        include /etc/nginx/conf.d/*.conf;
    }

konfigurasi diatas dibagi menjadi dua bagian, 1 POD yang menjalankan nginx, satu lagi configMap yang akan mengganti /etc/nginx/nginx.conf. Yang perlu diperhatikan adalah penggunaan subPath, tanpa menggunakan subPath kubernetes akan menghapus semua isi folder /etc/nginx/nginx.conf atau apapun folder yang di mount, karena kita hanya butuh mengganti 1 file, bisa digunakan dengan subPath jadi kita tidak perlu build docker dan inject konfigurasinya dari folder yang dimapping.

Contoh kasus lain yang bisa digunakan adalah sewaktu deploy Laravel ke kubernetes, dikarenakan .env laravel tidak bisa digunakan dari folder lain, cara ini adalah yang paling masuk akal sebagai solusinya.

Deploy konfigurasi tersebut

kubectl deploy -f nginx-configmap.yaml

Cek nginx.conf yang baru di deploy

kubectl exec nginx -- cat /etc/nginx/nginx.conf

Cek status pod nginx

kubectl get pod nginx
# output
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          6m23s

Cek response nginx

kubectl exec nginx -- curl -s -I localhost
# output
HTTP/1.1 200 OK
Server: nginx/1.21.1
Date: Tue, 20 Jul 2021 09:33:17 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 06 Jul 2021 14:59:17 GMT
Connection: keep-alive
ETag: "60e46fc5-264"
Accept-Ranges: bytes

Tulisan menarik lainnya

  • Cara Lain Membuat Combobox atau Dropbox di Laravel 5

    Di tulisan sebelumnya Membuat Combobox atau Dropbox di Laravel 5, adalah menggunakan fungsi bawaan Laravel…

  • Membuat Reverse Proxy Nginx di Debian 8

    Tujuan reverse proxy ini adalah agar kita bisa mengakses situs-situs dari domain/IP kita sendiri. Kegunaan…

  • Membuat Drop Down/Combobox di CodeIgniter

    Membuat Combobox atau Drop Down box di CodeIgniter sungguh mudah, fleksibel dan cepat. Pertama kita…

  • Cara Cancel Subscription di PayPal

    Login ke PayPal terlebih dahulu, setelah login klik profile Klik pada tab My Money, lalu…

Filed Under: Linux

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Solusi AWS CLI SSL VALIDATION failed
  • Monitoring Kubernetes Cluster dengan Prometheus
  • Solusi Playwright Firefox version `GLIBCXX_3.4.30′ not found (required by /lib64/libicuuc.so.69)
  • Cara Upgrade Fedora 35 ke Fedora 36
  • Ekstrak Gzip File dan Ambil Total dengan Python

Komentar

  • Xpud on Script PHP untuk Mengambil History Lagu Shoutcast v2.5
  • Jrenx on Membuat Bot Telegram Sederhana dengan PHP
  • Sella on Kemana Menghilangnya Saldo BCA 50 ribu
  • Rian on Mengganti Halaman Error Laravel
  • Suchie on Kemana Menghilangnya Saldo BCA 50 ribu

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1m views
  • Password Terbaru ZTE F609 Indihome 781.5k views
  • Password Superadmin Huawei HG8245A 294.5k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 267.9k views
  • Cara Setting Wireless ZTE F609 Indihome 251k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 165.4k views
  • Akses UseeTV Indihome via Wireless ZTE F609 154.8k views
  • Cara Reset Password ZTE F609 Indihome 146k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 135.4k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 109k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java