Tech With Ngurah Bagus
Tech With Ngurah Bagus
Published on 2026-01-06 / 43 Visits
0
0

Mengganti Sertifikat Ingress Default di OKD Menggunakan step-ca

Setelah pada tutorial sebelumnya kita membahas tentang provisioning OKD Single Node (SNO) dan cara mengelola SSL menggunakan step-ca, kali ini kita akan masuk ke tahap post-installasi yaitu Mengganti Default Ingress Certificate di OKD.

Secara default, OKD menggunakan self-signed certificate internal untuk rute aplikasi (*.apps). Dengan menggunakan step-ca, kita bisa menggantinya dengan sertifikat yang valid dan terpercaya di seluruh jaringan lab kita.

Prasyarat & Referensi

Sebelum melanjutkan, pastikan kalian sudah mengikuti atau memahami dua materi berikut:

  1. Instalasi OKD Single Node (SNO): Link Artikel Instalasi OKD (Author: Niko).

  2. Setup step-ca sebagai Management SSL: Link Artikel Setup step-ca (Author: Bagus).

Aturan Sertifikat Ingress OKD

Untuk mengganti sertifikat default, ada beberapa aturan teknis yang harus dipenuhi:

  • Wajib menggunakan Wildcard Certificate untuk subdomain .apps (Contoh: *.apps.<nama-cluster>.<domain>).

  • Private key tidak boleh dienkripsi (unencrypted).

  • Sertifikat harus menyertakan ekstensi subjectAltName untuk wildcard tersebut.

  • File sertifikat harus berupa Chain (urutan: Wildcard Cert -> Intermediate Cert -> Root CA).

  • File harus dalam format PEM.

Langkah 1: Request Sertifikat ke step-ca

Kita akan me-request sertifikat wildcard untuk cluster kita. Sesuaikan cluster-name dan domain kita.

Contoh: Cluster name: nb-cluster, Domain: nb.lab. Maka wildcard-nya adalah *.apps.nb-cluster.okd.lab.

# Request certificate menggunakan step-cli
step ca certificate '*.apps.nb-cluster.okd.lab' apps-okd.crt apps-okd.key

Setelah berhasil, kalian akan mendapatkan dua file: apps-okd.crt dan apps-okd.key.

Langkah 2: Membuat Certificate Chain

Sesuai aturan OKD, kita harus menggabungkan sertifikat wildcard dengan Root CA agar membentuk trust chain yang lengkap.

  1. Unduh Root CA dari server step-ca:

    wget https://ca.twnb.com/roots.pem --no-check-certificate
    
  2. Gabungkan Root CA ke dalam file sertifikat apps:

    # Menambahkan isi roots.pem ke baris terakhir apps-okd.crt
    cat roots.pem >> apps-okd.crt
    

Langkah 3: Mengganti Sertifikat di OKD

Sekarang kita akan menerapkan sertifikat baru tersebut ke dalam cluster OKD menggunakan oc CLI.

1. Buat ConfigMap untuk Root CA

Ini dilakukan agar cluster mempercayai CA yang mengeluarkan sertifikat tersebut.

oc create configmap custom-ca \
     --from-file=ca-bundle.crt=roots.pem \
     -n openshift-config

2. Patch Cluster-wide Proxy

Instruksikan cluster untuk menggunakan ConfigMap tadi sebagai Trusted CA.

oc patch proxy/cluster \
     --type=merge \
     --patch='{"spec":{"trustedCA":{"name":"custom-ca"}}}'

3. Buat Secret untuk Wildcard Certificate

Simpan sertifikat chain dan key ke dalam sebuah secret di namespace Ingress.

oc create secret tls nb-cert \
     --cert=apps-okd.crt \
     --key=apps-okd.key \
     -n openshift-ingress

4. Update Ingress Controller

Langkah terakhir adalah memberitahu Ingress Controller untuk menggunakan secret nb-cert sebagai sertifikat default.

oc patch ingresscontroller.operator default \
     --type=merge -p \
     '{"spec":{"defaultCertificate": {"name": "nb-cert"}}}' \
     -n openshift-ingress-operator

Verifikasi Hasil

Setelah perintah terakhir dijalankan, Pod router di namespace openshift-ingress akan melakukan rollout (restart otomatis) untuk menerapkan perubahan.

  1. Pantau status pod: oc get pods -n openshift-ingress.

  2. Jika sudah kembali Running, buka Dashboard Console OKD Anda di browser.

Kini, status koneksi pada dashboard OKD kalian akan menunjukkan "Connection is Secure" atau gembok hijau, tanpa ada lagi peringatan sertifikat tidak dikenal.

Secure connectin showing after signed ssl

Kesimpulan

Dengan panduan ini, kalian dapat mengganti sertifikat default Ingress OKD menjadi wildcard certificate yang valid menggunakan step-ca. Langkah-langkahnya meliputi request sertifikat, membuat certificate chain, dan menerapkannya melalui ConfigMap, Secret, serta Ingress Controller. Hasilnya, dashboard OKD menunjukkan koneksi aman (“Connection is Secure”) dan tidak ada lagi peringatan SSL.

Jika masih kebingungan dan ada yang ingin ditanyakan, silakan isi kolom komentar dibawah ini.


Comment