Skip to content
Jagoan Cloud Docs
  • Solutions
    • Server Ujian Online
    • Scalable WordPress
  • Products
    • Jagoan Cloud PaaS
      • Pricing
    • Cloud Backup
    • VPS Windows
    • Business Mail
    • SSL Certificate
  • Login App
Popular Search settingphpsshdockerdomain

Rapor Digital Madrasah

  • Cara Instalasi RDM

Panduan Dasar

  • Cara Memasang SSL di Jagoan Cloud
  • Mengubah domain Jagoan Cloud ke Domain Sendiri
  • Cara Menambahkan IP Public

Moodle

  • Cara Login ke Server Moodle di Jagoan Cloud
  • Cara Login ke Aplikasi Moodle di Jagoan Cloud
  • Cara Menggunakan Domain Pribadi untuk Aplikasi Moodle

Quick Start

  • Getting Started
  • Dashboard Guide
  • Welcome Tutorial
  • Software Stack Versions

Platform Overview

  • What is Platform-as-a-Service
  • Concept and Terminology
  • What are System Containers
  • What are Application Containers
  • Isolated Containers
  • What is Auto-Clustering
  • Cloudlet

Containers

  • Container Types
  • Container Image Requirements
  • Connect to Custom Container
  • Custom Container SSH Access
  • Private Registry Inside PaaS
  • Building Custom Containers

Environment Management

  • HTTP Headers
  • Clone Environment

Application Settings

  • Configuration File Manager
  • Managing Timezone Settings

Development Tools

  • FTP/FTPS Support

Account and Pricing

  • Account Registration
  • Account Types
  • Account Statuses
  • Account Password Reset
  • Quotas System
  • Two Factor Authentication
  • Personal Access Token
  • Upgrade and Refill Account
  • Pricing Model Overview

Architecture Overview

  • Cluster Overview
  • Cluster Orchestrator

Container Deployment

  • Certified Containers Deployment
  • Custom Containers Deployment
  • Docker Engine Deployment

Container Redeploy

  • Redeploy Overview
  • Preserve Data

Container Configuration

  • Configuration Tools
  • Container Environment Variables
  • Container Linking
  • Container Volumes
  • Container Ports
  • Container Run Configuration

Environment Variables

  • Java Options and Arguments
  • Default Environment Variables
  • Custom Environment Variables

Environment Groups

  • Overview
  • Group Creation
  • Navigation Between Groups
  • Group Management
  • Environment Isolations

Scaling and Clustering

  • Automatic Vertical Scaling
  • Horizontal Scaling
  • Automatic Horizontal Scaling
  • Data Synchronization
  • File Synchronization in Cluster
  • Auto-Clustering of Instances

Built-In Monitoring

  • Log Files
  • Statistics
  • Load Alerts

SSH

  • Generate SSH Key
  • Add SSH Key
  • SSH Access

Resource Charging

  • Pricing FAQ
  • Charged Resources
  • Monitoring Consumed Resource

Kubernetes

  • GitLab CI/CD Integration
  • Cluster Automated Upgrade
  • Public IP for Access to Kubernetes
  • Traefik v2 Ingress Controller

Kubernetes Cluster

  • Kubernetes Overview
  • System Requirements
  • Cluster Installation
  • Cluster Versions

Managing Kubernetes

  • Cluster Access
  • Access Controll
  • Cluster Troubleshooting
  • Cluster Upgrade
  • Velero Backup

Kubernetes Scalability

  • Vertical Scalling
  • Horizontal Scalling

Application Deployment

  • Helm Integration
  • YAML Deployments
  • Internal Networking
  • Exposing Services
  • Creating Ingresses

Persistent Data

  • Volume Provisioner
  • Persistent Volume Claim
  • Custom Storage

Domain Name Management

  • Swap Domain
  • Multiple Domain for PHP
  • Container DNS Hostnames

External Access to Applications

  • Shared Load Balancer
  • Public IP
  • Container Firewall
  • Endpoints

Traffic Distributor

  • Traffic Distributor Overview
  • Routing Methods
  • Traffic Distributor Installation
  • Traffic Distributor Integration
  • Use Case

SSL

  • Secure Socket Layer
  • Built-In SSL
  • Custom SSL
  • Custom SSL via SLB

Scheduling Configuration

  • Setting Up Cronjob
View Categories
  • Docs
  • Panduan Penggunaan Layanan & Platform Jagoan Cloud
  • Jagoan Cloud PaaS
  • Kubernetes
  • Managing Kubernetes
  • Velero Backup

Velero Backup

5 min read

Kubernetes Cluster : Velero Backups #

Velero adalah alat open-source untuk pencadangan (backup) dan pemulihan (restoration) cluster Kubernetes yang berfungsi sebagai solusi disaster recovery. Velero juga mendukung migrasi cluster resource serta backup untuk persistent volumes. Backup secara manual maupun terjadwal ke penyimpanan eksternal memastikan keamanan dan perlindungan data Kamu.

Dengan Velero, Kamu bisa melakukan hal-hal berikut :

  • Mencadangkan seluruh cluster Kubernetes atau resource / persistent volumes tertentu, lalu memulihkannya jika terjadi kehilangan data.
  • Mereplikasi seluruh cluster Kubernetes (misalnya membuat instansi pengembangan atau pengujian berdasarkan cluster produksi), atau memigrasikan resource tertentu ke cluster lain.

Kamu bisa mengintegrasikan pencadangan Velero dengan cluster Kubernetes di platform ini dengan sangat mudah. Cukup ikuti langkah-langkah berikut :

1. Siapkan penyimpanan yang kompatibel dengan S3, yang akan digunakan Velero untuk menyimpan backup. Misalnya, Kamu bisa menggunakan : AWS S3, VHI S3, dan/atau MinIO Cluster.

Dalam panduan ini, kita akan menggunakan MinIO Cluster, agar seluruh pengaturan tetap berada dalam platform yang sama. Kamu bisa memasang MinIO Cluster hanya dalam beberapa klik melalui menu Marketplace.

 

Setelah instalasi selesai, Kamu akan melihat detail kredensial MinIO milikmu (yang juga dikirimkan melalui email). Data ini akan diperlukan di langkah berikutnya, jadi pastikan untuk mencatat atau menyimpannya dengan baik.

 

Lalu tunggu server pertama untuk memformat disk.

2. Setelah itu, buka panel admin dari cluster MinIO Kamu dan buat bucket baru (misalnya dengan nama velero) di dalam storage cluster tersebut. Bucket ini akan digunakan Velero untuk menyimpan data backup.

3. Cari rilis terbaru dari vmware-tanzu/velero (dalam contoh ini versi v1.8.1), lalu klik tautan di bagian Download dan salin URL untuk arsip linux amd64. URL ini akan digunakan untuk mengunduh binary Velero ke server Anda.

 


đź’ˇ TIP
Dalam contoh ini, kita akan mengunggah file binary Velero langsung ke server Kubernetes Cluster. Namun, Kamu juga bisa menyimpannya di tempat lain (misalnya di komputer lokal) asalkan memiliki akses API ke cluster tersebut.

4. Hubungkan ke control plane Kubernetes Cluster Kamu melalui SSH (misalnya menggunakan Web SSH). Download arsip menggunakan tautan dari langkah sebelumnya, lalu ekstrak file binary velero ke direktori /usr/local/sbin

wget https://github.com/vmware-tanzu/velero/releases/download/v1.8.1/velero-v1.8.1-linux-amd64.tar.gz
tar -zxvf velero-v1.8.1-linux-amd64.tar.gz -C /usr/local/sbin --strip-components=1 velero-v1.8.1-linux-amd64/velero

 


📝 NOTE
Jika kamu mengunggah file Velero menggunakan file manager (bukan lewat perintah wget), kamu harus mengatur izin file tersebut agar bisa dijalankan. Berikut langkah-langkahnya :

chmod 755 /usr/local/sbin/velero

5. Buat file /root/credentials-velero dan masukkan kredensial S3 storage kamu (lihat langkah pertama).

[default]
aws_access_key_id = {accessKey}
aws_secret_access_key = {secretKey}

6. Sesuaikan perintah di bawah ini dengan nilai yang benar, lalu jalankan untuk melakukan deployment Velero:

velero install --provider aws --plugins velero/velero-plugin-for-aws:v1.4.1 --bucket velero --secret-file ./credentials-velero --use-volume-snapshots=true --backup-location-config region=default,s3ForcePathStyle="true",s3Url=http://minio.vip.jelastic.cloud --image velero/velero:v1.16.1 --snapshot-location-config region="default"

Placeholder berikut harus kamu ganti:

  • {bucket} → nama bucket yang sudah kamu buat (misalnya: velero)
  • {s3Url} → link HTTP ke storage S3 kamu (misalnya: http://minio.vip.jelastic.cloud)
  • {image} → image container Velero (misalnya: velero/velero:v1.8.1)

Kami menggunakan emulasi AWS untuk bekerja dengan S3 dan add-on restic karena kami menggunakan penyimpanan NFS yang tidak memiliki fungsi snapshot bawaan.

7. Sekarang mari kita deploy sebuah aplikasi uji coba yang menggunakan storage dan mount untuk menguji bagaimana Velero dapat melakukan backup. Kami akan menggunakan aplikasi contoh berikut:

wget https://www.virtuozzo.com/application-platform-docs/kubernetes-velero-backups/test-instance.yaml
kubecte.yamll apply -f test-instanc

Kamu bisa memeriksa aplikasi yang baru saja dideploy dengan perintah berikut:

kubectl get pods,pvc,pv -n test-nginx

Jalankan perintah-perintah di bawah ini untuk menghasilkan data acak yang akan mensimulasikan penggunaan aplikasi :

kubectl -n test-nginx exec -it nginx-test -- /bin/bash
dd if=/dev/urandom of=/usr/share/nginx/html/test-file3.txt count=512000 bs=1024
ls -laSh /usr/share/nginx/html/
exit

 

8. Kamu perlu memberi anotasi pada pod aplikasi Kamu untuk memastikan data penyimpanan NFS disertakan dalam backup. Kamu bisa mendapatkan nama storage yang dibutuhkan dari aplikasi yang sudah dideploy (dalam contoh ini, namanya mystorage).

 


đź’ˇ TIP

Tanpa anotasi tersebut, definisi PV dan PVC akan disalin, tetapi datanya tidak akan ikut terbackup.

 

9. Sekarang, mari kita buat backup dari aplikasi uji coba Kamu.

velero backup create test-nginx-b4 --include-namespaces test-nginx --wait

Velero create backup

  1. Periksa penyimpanan MinIO kamu. Data dari Velero dan restic seharusnya sudah tersimpan di sana.

MinIO backup data

Selain itu, periksa juga bahwa backup yang telah dibuat memang ada dan dalam kondisi baik.

velero get backups

11. Mari kita hapus sepenuhnya aplikasi contoh tersebut untuk menguji proses pemulihannya dengan benar.

kubectl delete ns test-nginx

Bersihkan juga data di Shared Storage (dalam direktori /data).

12. Setelah siap, pulihkan aplikasi Kamu dari backup dengan perintah berikut :

velero restore create --from-backup test-nginx-b4

velero restore from backup

Selesai! Kamu bisa memverifikasi bahwa semua hal—termasuk data yang tersimpan—sudah berhasil dipulihkan.

Backup Scheduling #

Velero mendukung proses backup otomatis melalui penjadwalan. Kamu bisa membuat template jadwal yang dibutuhkan menggunakan notasi cron (menggunakan zona waktu UTC). Sintaks umum yang digunakan adalah :

velero schedule create {scheduleName} --schedule="{schedule}"

1. Gunakan tabel di bawah ini sebagai referensi untuk mengatur jadwal backup menggunakan ekspresi cron standar:

Sebagai contoh, untuk membuat backup setiap enam jam, Kamu bisa gunakan perintah berikut:

velero schedule create myschedule --schedule="0 */6 * * *" 

2. Schedule juga dapat diekspresikan menggunakan sintaks @every {durasi}. Durasi dapat ditentukan menggunakan kombinasi detik (s), menit (m), dan jam (h).

Sebagai contoh, untuk membuat backup setiap enam jam menggunakan sintaks @every, kamu bisa gunakan perintah berikut :

 velero schedule create myschedule --schedule="@every 6h" 

3. Kamu bisa menambahkan opsi tambahan saat membuat jadwal backup, seperti membackup namespace tertentu, mengatur masa berlaku backup, dan lainnya. Gunakan perintah berikut untuk melihat daftar lengkap parameter yang tersedia :

 velero schedule create --help

Selamat! Sekarang Kamu sudah tahu cara membuat backup otomatis untuk proyek Kubernetes menggunakan Velero.

What are your Feelings

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on August 14, 2025
Cluster Upgrade

Powered by BetterDocs

Daftar Isi
  • Kubernetes Cluster : Velero Backups
  • Backup Scheduling
© 2022 Jagoan Cloud