Config, Deploy, & Chill! 馃槑

Welcome to my blog

[Event] LOUCA 2023 Experience

LOUCA 2023 Experience LOUCA 2023 was an absolute blast, and from the moment I stepped through the Welcome Gate, I knew it was going to be an extraordinary experience. The event organizers went all out in creating a magnificent entrance that set the tone for the entire affair. The sheer excitement was palpable, and I couldn鈥檛 wait to dive into the event. My talk, centered around the innovative topic of Kolla OpenStack on ARM Ubuntu (aarch64), was met with an incredible reception. The audience turnout was exceptional, and seeing so many eager faces in the crowd added an electric energy to my presentation. Their enthusiasm mirrored my own passion for the subject, creating a vibrant exchange of ideas and insights. ...

October 11, 2023 路 2 min 路 Aji Arya

How To Reset Ceph Admin Dashboard

Guide Create a file that contain new password echo -n "<password>" > dashboard-password Update the password # Mimic or Older version of ceph ceph dashboard set-login-credentials admin -i dashboard-password # Nautilus or Newer version of ceph ceph dashboard ac-user-set-password admin -i dashboard-password Referensi https://docs.ceph.com/en/mimic/mgr/dashboard/ https://docs.ceph.com/en/quincy/mgr/dashboard/

July 31, 2023 路 1 min 路 Aji Arya

Resync Broken Juju Database (MongoDB)

Environment Juju DB snap channel: 4.0/stable Juju controller agent: 2.9.0 Operating System: Ubuntu 20.04 LTS Deployment: Juju HA Symptom Juju controller does not bind port 37017 / MongoDB Port Following error log can be found from /var/snap/juju-db/common/logs/mongodb.log [replication-0] We are too stale to use <IP_ADDRESS>:37017 as a sync source. Blacklisting this sync source because our last fetched timestamp: [replication-0] could not find member to sycn from Guide 1. Pausing Juju Controller and Juju Database (MongoDB) Execute on all juju controller ...

July 23, 2023 路 2 min 路 Aji Arya

Mencoba Ceph Pada Mesin Dengan CPU ARM

Lingkungan Spesifikasi Mesin Fisik Sistem Operasi: Ubuntu 22.04 LTS Sistem Cloud: OpenStack Kolla Yoga Server: GIGABYTE R152-P33 (Disediakan oleh https://imtek.id) 1 x Ampere Computing Ampere Altra Q80-30 4 x 64GB DDR4 3200Mhz 1 x Intel Ethernet Converged Network Adapter X550T 2 x SAMSUNG NVMe SSD 970 EVO Plus 500GB 2 x SAMSUNG聽NVMe SSD聽PM9A3聽960GB Spesifikasi Mesin Virtual Sistem Operasi: Ubuntu 22.04 LTS Software-defined Storage (SDS): Ceph Quincy Detil: No Hostname vCPU Memory Storage Extra Storage 1 demo-ceph01 4 8GB Disk 1: 50GB (OS) Disk 2-4: 50GB (OSD) 2 demo-ceph02 4 8GB Disk 1: 50GB (OS) Disk 2-4: 50GB (OSD) 3 demo-ceph03 4 8GB Disk 1: 50GB (OS) Disk 2-4: 50GB (OSD) Berikut merupakan tangkapan layar yang menunjukkan architecture CPU dan informasi sistem operasi ...

July 4, 2023 路 1 min 路 Aji Arya

Cara Deploy Ceph Quincy Secara Manual

Lingkungan Ubuntu 20.04 LTS Focal Fossa Ceph 17.2.X Quincy Panduan Prasyarat (Semua Ceph Node) Konfigurasi berkas hosts cat<<EOF | sudo tee -a /etc/hosts 10.150.17.11 ceph01 10.150.17.12 ceph02 10.150.17.13 ceph03 EOF Memasang repository Ubuntu Cloud Archive (UCA) Focal-Yoga sudo add-apt-repository cloud-archive:yoga Update, upgrade, dan pasang ceph sudo apt update; sudo apt upgrade -y sudo apt install -y ceph Menyiapkan Ceph Monitor (ceph-mon) Eksekusi tahap 1 - 8 hanya pada ceph01 Membuat berkas konfigurasi ceph sudo apt install -y uuid FSID=$(uuid) cat<<EOF | sudo tee -a /etc/ceph/ceph.conf [global] fsid = ${FSID} mon initial members = ceph01, ceph02, ceph03 mon host = 10.150.17.11, 10.150.17.12, 10.150.17.13 public network = 10.150.17.0/24 auth cluster required = cephx auth service required = cephx auth client required = cephx EOF # Distribusikan ceph.conf scp /etc/ceph/ceph.conf ceph02:/tmp/ceph.conf ssh ceph02 sudo -S mv /tmp/ceph.conf /etc/ceph/ceph.conf scp /etc/ceph/ceph.conf ceph03:/tmp/ceph.conf ssh ceph03 sudo -S mv /tmp/ceph.conf /etc/ceph/ceph.conf Buat keyring ceph-mon sudo ceph-authtool \ --create-keyring /tmp/ceph.mon.keyring \ --gen-key -n mon. --cap mon 'allow *' Buat keyring admin sudo ceph-authtool \ --create-keyring /etc/ceph/ceph.client.admin.keyring \ --gen-key -n client.admin \ --cap mon 'allow *' \ --cap osd 'allow *' \ --cap mds 'allow *' \ --cap mgr 'allow *' Membuat keyring bootstrap-osd sudo ceph-authtool \ --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring \ --gen-key -n client.bootstrap-osd \ --cap mon 'profile bootstrap-osd' \ --cap mgr 'allow r' Menambahkan keyring yang sudah dibuat sebelumnya ke berkas ceph.mon.keyring sudo ceph-authtool /tmp/ceph.mon.keyring \ --import-keyring /etc/ceph/ceph.client.admin.keyring sudo ceph-authtool /tmp/ceph.mon.keyring \ --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring Mengubah kepimilikan berkas ceph.mon.keyring sudo chown ceph:ceph /tmp/ceph.mon.keyring Buat monitor map monmaptool --create \ --add ceph01 10.150.17.11 \ --fsid ${FSID} /tmp/monmap monmaptool \ --add ceph02 10.150.17.12 \ --fsid ${FSID} /tmp/monmap monmaptool \ --add ceph03 10.150.17.13 \ --fsid ${FSID} /tmp/monmap Distribusikan client.admin, ceph-mon keyring, and monmap ke ceph02 & ceph03 # Salin admin keyring sudo cp /etc/ceph/ceph.client.admin.keyring /tmp/ceph.client.admin.keyring sudo chown $USER:$USER /tmp/{ceph.client.admin.keyring,ceph.mon.keyring,monmap} # Sebarkan berkas keyring dan monmap ke node lain scp /tmp/{ceph.client.admin.keyring,ceph.mon.keyring,monmap} ceph02:/tmp scp /tmp/{ceph.client.admin.keyring,ceph.mon.keyring,monmap} ceph03:/tmp # Pindahkan admin keyring ke direktori /etc/ceph ssh ceph02 sudo -S mv /tmp/ceph.client.admin.keyring /etc/ceph/ ssh ceph03 sudo -S mv /tmp/ceph.client.admin.keyring /etc/ceph/ Eksekusi tahap 9 - 12 pada semua node Buat direktori untuk ceph-mon sudo -u ceph mkdir /var/lib/ceph/mon/ceph-$(hostname) Inisiasi ceph-mon sudo chown ceph:ceph /tmp/ceph.mon.keyring sudo -u ceph ceph-mon --mkfs -i $(hostname) --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring Enable dan jalankan service ceph-mon sudo systemctl enable --now ceph-mon@$(hostname) sudo systemctl status ceph-mon@$(hostname) Periksa status cluster sudo ceph -s Menyiapkan Ceph Manager (ceph-mgr) Membuat keyring untuk ceph-mgr sudo mkdir -p /var/lib/ceph/mgr/ceph-$(hostname) sudo ceph auth get-or-create mgr.$(hostname) mon 'allow profile mgr' osd 'allow *' mds 'allow *' \ -o /var/lib/ceph/mgr/ceph-$(hostname)/keyring Mengubah kepemilikikan direktori sudo chown -R ceph:ceph /var/lib/ceph/mgr Enable dan menjalankan service sudo systemctl enable --now ceph-mgr@$(hostname) sudo systemctl status ceph-mgr@$(hostname) Periksa status cluster sudo ceph -s Tahap 5 hanya perlu dilakukan disalah satu node Mengaktifkan modul msgr2 ceph mon enable-msgr2 Menyiapkan Ceph Object Storage Daemon (ceph-osd) Menyiapkan keyring untuk ceph-osd # Eksekusi dari ceph01 sudo cp /var/lib/ceph/bootstrap-osd/ceph.keyring /tmp/ceph.keyring sudo chown $USER:$USER /tmp/ceph.keyring scp /tmp/ceph.keyring ceph02:/tmp/ceph.keyring scp /tmp/ceph.keyring ceph03:/tmp/ceph.keyring ssh ceph02 sudo -S cp /tmp/ceph.keyring /var/lib/ceph/bootstrap-osd/ceph.keyring ssh ceph03 sudo -S cp /tmp/ceph.keyring /var/lib/ceph/bootstrap-osd/ceph.keyring sudo chown ceph:ceph /var/lib/ceph/bootstrap-osd/ceph.keyring ssh ceph02 sudo chown ceph:ceph /var/lib/ceph/bootstrap-osd/ceph.keyring ssh ceph03 sudo chown ceph:ceph /var/lib/ceph/bootstrap-osd/ceph.keyring Buat ceph-osd # Eksekusi ceph01 sudo ceph-volume lvm create --bluestore --data /dev/vdb sudo ceph-volume lvm create --bluestore --data /dev/vdc sudo ceph-volume lvm create --bluestore --data /dev/vdd # Eksekusi ceph02 sudo ceph-volume lvm create --bluestore --data /dev/vdb sudo ceph-volume lvm create --bluestore --data /dev/vdc sudo ceph-volume lvm create --bluestore --data /dev/vdd # Eksekusi ceph03 sudo ceph-volume lvm create --bluestore --data /dev/vdb sudo ceph-volume lvm create --bluestore --data /dev/vdc sudo ceph-volume lvm create --bluestore --data /dev/vdd Hasil Ceph status ...

August 30, 2022 路 3 min 路 Aji Arya

Cara Melakukan Tune Sistem Operasi Dengan tuned-adm

Sistem Operasi Debian / Ubuntu Pasang tuned-adm apt install -y tuned Start & enable servis tuned systemctl enable --now tuned Atur profil tuning # daftar profil yang bisa digunakan tuned-adm list # terapkan profil tuned-adm profile <profile_name> Verifikasi profil tuned-adm active Red Hat / CentOS Pasang tuned-adm # using yum yum install -y tuned # using dnf dnf install -y tuned Start & enable servis tuned systemctl enable --now tuned Atur profil tuning # daftar profil yang bisa digunakan tuned-adm list # terapkan profil tuned-adm profile <profile_name> Verifikasi profil tuned-adm active Referensi Fedora Docs - tuned Manual tuned-adm

June 28, 2022 路 1 min 路 Aji Arya

Cara Memasang gVisor Pada Kubernetes (Containerd)

Lingkungan Sistem Operasi: Ubuntu 20.04 LTS Cloud Image Kubernetes: 1.22.1 Containerd: 1.6.6 Panduan Pasang repository gVisor curl -fsSL https://gvisor.dev/archive.key | gpg --dearmor -o /usr/share/keyrings/gvisor-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/gvisor-archive-keyring.gpg] https://storage.googleapis.com/gvisor/releases release main" | tee /etc/apt/sources.list.d/gvisor.list > /dev/null Install runsc (gVisor) apt update -y apt install -y runsc Definisikan runsc pada konfigurasi containerd vim /etc/containerd/config.toml Tambahkan baris berikut pada bagian [plugins] ---konten dari file dipotong--- [plugins] ---konten dari file dipotong--- # Tambahkan baris berikut [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc] runtime_type = "io.containerd.runsc.v1" # Akhir dari baris yang perlu ditambahkan [proxy_plugins] ---konten dari file dipotong--- Restart containerd systemctl restart containerd Tambahkan objek runtimeclass pada Kubernetes cat<<EOF > gvisor-runtime.yaml apiVersion: node.k8s.io/v1 kind: RuntimeClass metadata: name: gvisor handler: runsc EOF kubectl apply -f gvisor-runtime.yaml Membuat pod dengan runtime gVisor cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: nginx-gvisor spec: runtimeClassName: gvisor containers: - name: nginx image: nginx EOF Periksa Kernel host uname -a Linux aa-kubernetes-master01 5.4.0-120-generic #136-Ubuntu SMP Fri Jun 10 13:40:48 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux runc - containerd kubectl exec -it web -- uname -a Linux web 5.4.0-120-generic #136-Ubuntu SMP Fri Jun 10 13:40:48 UTC 2022 x86_64 GNU/Linux runsc - gVisor kubectl exec -it nginx-gvisor -- uname -a Linux nginx-gvisor 4.4.0 #1 SMP Sun Jan 10 15:06:54 PST 2016 x86_64 GNU/Linux Terlihat containerd menggunakan kernel yang sama dengan host sedangkan gVisor menggunakan kernel berbeda, ini dikarenakan gVisor melakukan isolasi sehingga kernel yang digunakan oleh container bersifat independen dengan maksud untuk meningkatkan keamanan terhadap eksploitasi Kernel Host atau serangan seperti container escape. ...

June 24, 2022 路 2 min 路 Aji Arya

Cara Melepas Base Image Pada VM dengan Image QCOW2

Panduan Periksa base image qemu-img info /data/vms/example.qcow2 Contoh image: /data/vms/example.qcow2 file format: qcow2 virtual size: 50 GiB (53687091200 bytes) disk size: 324 KiB cluster_size: 65536 backing file: /data/isos/template-ubuntu20.img backing file format: qcow2 Format specific information: compat: 0.10 refcount bits: 16 Periksa target image VM # virsh domblklist <nama_vm/domain> virsh domblklist example Contoh Target Source --------------------------------------------- vda example.qcow2 hdd /data/vms/sd-runner-cloudinit.iso Pastikan VM dalam kondisi menyala dan mulai flatten image # virsh blockpull <nama_vm/domain> vda --wait virsh blockpull example vda --wait Verifikasi qemu-img info /data/vms/example.qcow2 Contoh ...

June 23, 2022 路 1 min 路 Aji Arya

Docker Series Bagian 2 - Memasang Docker Desktop

Panduan Linux Panduan: https://docs.docker.com/desktop/linux/install/ Prasyarat Sistem: kernel 64-bit dan CPU mendukung virtualisasi mendukung virtualisasi KVM QEMU dengan versi 5.2 atau lebih baru Sistem Operasi dengan systemd init Setidaknya memiliki 4GB RAM Rangkuman tahap: Install qemu 1.1. Debian/Ubuntu sudo apt install qemu-system-x86 libvirt-daemon-system libvirt-clients bridge-utils 1.2. Red Hat/CentOS/Fedora # dnf sudo dnf groupinstall -y "Virtualization Host" # yum sudo yum groupinstall -y "Virtualization Host" Aktifkan modul kernel KVM # CPU AMD sudo modprobe kvm_amd # CPU Intel sudo modprobe kvm_intel # Verifikasi (Pastikan output tidak kosong) lsmod | grep kvm Tambahkan user ke group kvm # tambahkan user ke group kvm sudo usermod -aG kvm $USER # logout exit # login kembali dan periksa permission user # pastikan kvm masuk kedalam daftar group groups Download package sesuai dengan sistem operasi .deb atau .rpm ...

June 8, 2022 路 2 min 路 Aji Arya

Docker Series Bagian 1 - Apa Itu Docker?

Apa itu Docker? Docker adalah platform terbuka yang digunakan untuk mengembangkan, mengemas, dan menjalankan aplikasi Teknologi dibalik docker Docker ditulis menggunakan bahasa pemrograman go dan memanfaatkan fitur namespace untuk mengisolasi proses yang disebut sebagai container Standar dalam container Open Container Initiatives (OCI) adalah yayasan yang dibangun untuk membuat standar atau struktur yang berkaitan dengan container runtime dan container image format Container Runtime (runtime-spec) perangkat lunak yang bertanggung jawab untuk menjalankan container ...

May 19, 2022 路 1 min 路 Aji Arya