Konversi config.json Docker Kubernetes

Ayies udah share mengenai Docker Login dan  kaitannya dengan file config.json disini.

Baca dulu yah guys artikel itu… Sekalian kalau bisa klik iklan2nya lumayan adsense :D…

Anyway…

Nah ayies akan ulas lagi secara singkat…yaitu file config.json digunakan salah satunya adalah sebagai auth/identity login ke Registry kamu saat melakukan pull dsj. Secara default docker menggunakan registry Dockerhub. Nah jika kamu menggunakan registry private semisal Quay,Canister,Dll tentu isi file config.json akan menyesuaikan. Contoh ayis disini menggunakan Quay sebagai private registry maka berikut isi file config.json milik ayies:

ibrahim@zayn-ali:~$ less .docker/config.json
{
        "auths": {
                "quay.io": {
                        "auth": "aWxISMhjhaU0xNTAxISjRvOmJ"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/18.09.4 (linux)"
        }
}

Nah jika kamu menggunakan Orchestration kubernetes adakalanya kamu akan pull images menggunakan private registry… (misal karena suatu alasan kamu gak pakai dockerhub). Maka kamu perlu ubah dulu file config.json tersebut kedalam bentuk Secret agar dapat dipakai kubernetes saat melakukan pull. Ingat yah guys kalau kamu gak melakukan ini maka akan muncul error ini:

Akan muncul error di kubernetes/docker:

Failed to pull image “quay.io/ibrahimsuprapto/simple-nginx:latest”: rpc error: code = Unknown desc = Error response from daemon: unauthorized: access to the requested resource is not authorized

Mengapa muncul error tersebut karena kubernetes gagal melakukan pull ke private registry repository tersebut karena tidak memiliki akses login… Nah agar bisa melakukan pull ke private registry tersebut kamu perlu memiliki secret private registry tersebut yang didapat dari hasil konversi file config.json tersebut. Oiyah cara ini tidak hanya berlaku kamu menggunakan private registry Quay yah… apapun provider Canister, AWS Container registry, GCP, Gitlab, dan beragam private registry caranya sama…

Oke lanjut…

Berikut cara membuat secretnya.

Konversi Config.json ke kubernetes secret:

Arahkan ke lokasi file config.json (umumnya ada di folder HOME kamu di folder tersembunyi yaitu folder .docker atau taruh file config.json tsb dilokasi yang kamu mau dan tinggal disesuaikan)

kubectl create secret generic regcred \
    --from-file=.dockerconfigjson=<LOKASI/.docker/config.json> \
    --type=kubernetes.io/dockerconfigjson

Konversi config.json Docker Kubernetes
Pada perintah diatas kamu melakukan konversi Auth docker config.json menjadi secret bernama regcred. Nah setelah itu kamu sudah bisa create App di cluster kubernetes kamu dengan mudah. Contoh jika kamu mau deploy maka pastikan secret pull private images kamu pilih ke regcred.

Konversi config.json Docker Kubernetes

Ayies jamin pasti gak error lagi 🙂

Hehehe,

Selamat mencoba.Semoga bermanfaat !


0 Comments

Leave a Reply

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