OCI Container Registry API (Oracle Cloud)

Docker container registry menyediakan restful API sebagaimana yang ditulis disini

https://docs.docker.com/registry/spec/api/

Salah satu private registry, yaitu OCI Container Registry (OCIR) juga menggunakan repository docker-compatible. di dokumentasi OCIR, untuk API sama dengan API yang digunakan repository docker pada umumnya

https://docs.oracle.com/en-us/iaas/Content/Registry/Concepts/registryprerequisites.htm

Namun ketika dicoba sign in menggunakan user password untuk mendapatkan token, malah error, Errornya bukan unauthorized/bad request, tapi not found. berarti endpoint nya beda.

Continue reading “OCI Container Registry API (Oracle Cloud)”

ELK Beats/Loki Promtail Log Tidak Terbaca di Oracle Kubernetes Engine (OKE)

Konfigurasi default ELK/Loki stack adalah mengambil log dari docker container di pod yang terletak di tiap node di path /var/log/container/*.log. Namun di OKE file tersebut memang ada, tapi bukan file asli melainkan symbolic link ke file aslinya di /u01/data/docker/containers/*/.log

Sehingga pod daemonset tidak dapat mengakses file tersebut, solusinya adalah menambah volume mount /u01/data/docker/containers/*/.log ke pod daemonset Filebeats/Loki.

Continue reading “ELK Beats/Loki Promtail Log Tidak Terbaca di Oracle Kubernetes Engine (OKE)”

Testimoni PaaS Google App Engine

https://logo-hunt.blogspot.com/2020/07/google-app-engine-logo-png.html

Untuk aplikasi yang tidak kompleks, NoOps bisa menjadi pilihan karena tidak perlu tenaga dedicated untuk mengurus infrastruktur. App Engine menawarkan solusi kita hanya tinggal upload code, app engine akan mengurus auto scaling, logging, monitoring, versioning, environment, dan lainnya. Dan juga di dalam app engine sudah dipaekt dengan storage, cached (memcached) yang terdapat free tiernya juga.

Terdapat 2 pilihan app engine, pertama standard yang kita hanya tinggal uplaod code. Scalingnya lebih cepat dan murah dengan menggunakan bahasa yang sudah di support google. Kedua flex yang memberikan kebebasan lebih (bisa samapai kita ssh ke VM nya), menggunakan runtime docker (kita memberi dockerfile kita), cocok untuk aplikasi yang tidak disupport di standard.

Continue reading “Testimoni PaaS Google App Engine”

Setup WSO2 Enterprise Integrator SSL

Nemu dari sini : https://www.extraflow.fr/installer-lets-encrypt-avec-wso2-entreprise-integration-plateforme-debian-jessie/ cuman bahasa prancis

Ikutin step dibawah ini, jalanin manual aja di terminal karena ada command interaktif (untuk masukin password) dan ganti variabel di atas sesuai instalasi anda.

Asumsi file sertifikat berformat pem (seperti lets encrypt)

Continue reading “Setup WSO2 Enterprise Integrator SSL”

Kubernetes Oracle (OCI) Tidak Bisa Autoscale Cluster/Node

Di dalam kubernetes ada beberapa jenis autoscale

Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings
Ink Drawings

Horizontal pod autoscale, menambah instance pod (Scale out). Sedangkan Vertical pod autoscale memperbesar spesifiaksi pod (cpu/memory) (Scale up). Kedua pod scaling ini juga bisa digabung. Untuk menentukan apakah mau scale up atau scale down, metrik defaultnya adalah utilisasi CPU, namun bisa juga memakai metrik lain (namun tidak resmi disupport).

Ketika pod di scale, pod akan di recreate, mencari node yang ada sisa tempat untuk diletakan pod nya. Namun bagaimana jika semua node penuh? solusinya adalah menggunakan cluster/node autoscale (Dengan menambah node baru).

Continue reading “Kubernetes Oracle (OCI) Tidak Bisa Autoscale Cluster/Node”

Load Balancing GCP Cloud SQL

Umumnya aplikasi hanya memiliki 1 database server saja, atau ditambah 1 lagi sebagai failover. Namun jika semua perbaikan query dan tuning dilakukan namun masih terasa kurang, solusinya adalah menambah instance database lagi (scale out / horizontal scaling) jika scale up/vertical scaling sudah tidak bisa dilakukan lagi atau harganya yang mahal.

Ada banyak cara scale out seperti

  • percona galera cluster (multi master)
  • mysql clustering (enterprise, multi master)
  • proxy sql (single master)
  • dll
Continue reading “Load Balancing GCP Cloud SQL”

Refactor docker-compose menggunakan .env

sumber https://dzone.com/articles/running-multiple-services-inside-a-single-containe

Pernah mengalami kondisi menggunakan banyak docker-compose?. Misalkan skenario docker-compose dengan service yang digunakan seperti ini :

  • Aplikasi, webserver, database on premise, object storage on premise (minio)
  • Aplikasi, webserver, database managed (aws rds), object storage manged (aws s3)
Continue reading “Refactor docker-compose menggunakan .env”

Mempercepat Build Docker Image di Gitlab CI/CD menggunakan cache

Untuk yang biasa mem build docker image di local, kemudian mencoba gitlab ci/cd untuk membuild image. Pasti merasakan hal yang janggal karena tiap build waktunya lama dan sama. Ternyata gitlab ci/cd butuh konfigurasi tambahan agar bisa menggunakan layered cache ketika build image. Tidak seperti di local kita yang otomatis build menggunakan layered cache.

Continue reading “Mempercepat Build Docker Image di Gitlab CI/CD menggunakan cache”