Selasa, 17 September 2024

KUBERNETES-velero konfigurasi

 

Instal dan Konfigurasi Velero

#Perkenalan

https://hewlettpackard.github.io/hpe-solutions-openshift/46-synergy/Additional-Features-and-Functionality/Install-and-Configure-Velero.html#introduction

Velero adalah alat sumber terbuka untuk melakukan pencadangan dan pemulihan dengan aman, melakukan pemulihan bencana, dan memigrasikan sumber daya kluster Kubernetes dan volume persisten. Alat ini berfungsi baik di tempat maupun di cloud publik. Velero terdiri dari proses server yang berjalan sebagai penerapan di kluster Kubernetes Anda dan antarmuka baris perintah (CLI) yang digunakan tim DevOps dan operator platform untuk mengonfigurasi pencadangan terjadwal, memicu pencadangan ad-hoc, melakukan pemulihan, dan banyak lagi.

Tidak seperti alat lain yang secara langsung mengakses basis data Kubernetes etcd untuk melakukan pencadangan dan pemulihan, Velero menggunakan API Kubernetes untuk menangkap status sumber daya kluster dan memulihkannya bila perlu. Pendekatan berbasis API ini memiliki sejumlah manfaat utama:

  • Pencadangan dapat menangkap subset sumber daya kluster, memfilter menurut namespace, jenis sumber daya, dan/atau pemilih label, yang memberikan tingkat fleksibilitas tinggi terkait apa yang dicadangkan dan dipulihkan.

  • Pengguna penawaran Kubernetes yang dikelola sering kali tidak memiliki akses ke dll yang mendasarinya

  • basis data, sehingga tidak memungkinkan untuk melakukan pencadangan/pemulihan secara langsung.

  • Sumber daya yang diekspos melalui server API agregat dapat dengan mudah dicadangkan dan dipulihkan meskipun disimpan dalam database etcd terpisah

Velero menyediakan serangkaian alat untuk mencadangkan sumber daya dan aplikasi Kubernetes untuk dua tujuan utama:

  • Pemulihan Bencana -- Pulihkan komponen dan aplikasi kluster Kubernetes.

  • Migrasi -- Migrasikan aplikasi Kubernetes Anda ke kluster Kubernetes lain.

  • Perlindungan Data - Menawarkan fitur perlindungan data utama seperti pencadangan terjadwal, jadwal penyimpanan, dan kait pra atau pasca pencadangan untuk tindakan khusus.

Gambar 131. Menginstal dan Mengonfigurasi Tata Letak Solusi Velero

Velero memungkinkan Anda:

  • Buat cadangan klaster Anda dan pulihkan jika terjadi kehilangan.

  • Migrasikan sumber daya klaster ke klaster lain.

  • Replikasi klaster produksi Anda ke klaster pengembangan dan pengujian.

Velero terdiri dari:

  • Server yang berjalan di cluster Anda

  • Klien baris perintah yang berjalan secara lokal

Bagian ini membahas cara memasang dan mengonfigurasi Velero dan cara menggunakan Velero untuk melakukan pencadangan/pemulihan pada Openshift Container Platform dengan menggunakan penyimpanan objek noobaa.

#Diagram Alir

Gambar 132. Diagram Alir Instalasi dan Konfigurasi Solusi Velero

PRASYARAT

Cluster OpenShift Container Platform harus tersedia dengan kredensial administrator

Cluster OCP harus memiliki penyimpanan objek noobaa sebagai bagian dari cluster Openshift Storage

#Proses Instalasi

Ikuti langkah-langkah di bawah ini untuk mengambil informasi Nooba.

  1. Login ke cluster ocp dan jelaskan pod noobaa untuk mendapatkan DNS eksternal

    > oc describe noobaa -n openshift-storage
    
  2. Dapatkan ID akses & KUNCI noobaa dengan menjalankan perintah di bawah ini

    > kubectl get secret noobaa-admin -n openshift-storage -o json | jq
    '.data|map_values(@base64d)'
    

  3. Setelah kita memiliki informasi noobaa, buat file kredensial di cluster seperti yang ditunjukkan di bawah ini:

    Buat file dengan menjalankan perintah berikut

    vi velero.credentials
    

    Tambahkan konten ke dalam berkas seperti yang disebutkan di bawah ini:

    
    [default]
    
    aws_access_key_id = "3vTNl90sOpX654VdQYQm"
    
    aws_secret_access_key = "L0q2juZc647ySGRTHNzalmA2qKXK+fdkHV"
    
    

Ikuti langkah-langkah di bawah ini untuk mengonfigurasi Velero dengan penyimpanan Nooba.

  1. Buat direktori terpisah untuk konfigurasi Velero dan beralihlah ke direktori tersebut.

    > mkdir --p ~/Velero
    
    > cd ~/Velero
    
  2. Unduh dan instal klien Velero dengan menggunakan langkah-langkah di bawah ini

    > wget
    https://github.com/vmware-tanzu/velero/releases/download/v1.5.1/velero-v1.5.1-linux-amd64.tar.gz
    
    > tar zxf velero-v1.5.1-linux-amd64.tar.gz
    
    > sudo mv velero-v1.5.1-linux-amd64/Velero /usr/local/bin/
    
    > rm -rf velero*
    
    
  3. Hasilkan sertifikat menggunakan perintah di bawah ini.

    > openssl s_client -showcerts \ 
    -servername s3-openshift-storage.apps.dev01.twentynet.local \
    -connect s3-openshift-storage.apps.dev01.twentynet.local:443
    2>/dev/null | openssl x509 -inform pem > /tmp/noobaa.crt
    
    
  4. Untuk mengonfigurasi server Velero dengan menggunakan penyimpanan noobaa, jalankan perintah berikut:

    
    > velero install \
    
    --provider aws \
    
    --plugins velero/velero-plugin-for-aws:v1.1.0 \
    
    --bucket velerobucket1 \
    
    --secret-file ./noobaa.credentials \
    
    --use-volume-snapshots=false --use-restic --default-volumes-to-restic
    \
    
    --backup-location-config
    region=noobaa,s3ForcePathStyle=true,s3Url=https://s3-openshift-storage.apps.dev0.twentynet.local
    \
    
    --cacert=/tmp/noobaa.crt
    
    

    Output dari perintah di atas:

    
    ClusterRoleBinding/velero: already exists, proceeding
    
    ClusterRoleBinding/velero: created
    
    ServiceAccount/velero: attempting to create resource
    
    ServiceAccount/velero: created
    
    Secret/cloud-credentials: attempting to create resource
    
    Secret/cloud-credentials: created
    
    BackupStorageLocation/default: attempting to create resource
    
    BackupStorageLocation/default: created
    
    Deployment/velero: attempting to create resource
    
    Deployment/velero: created
    
    Velero is installed! ⛵ Use 'kubectl logs deployment/velero -n velero'
    to view the status.
    
    

Aktifkan Velero Pods

  1. Jalankan perintah di bawah ini untuk membuat pod velero.

    > oc adm policy add-scc-to-user privileged -z velero -n velero
    
    > oc patch ds/restic --namespace velero --type json -p
    '[{"op":"add","path":"/spec/template/spec/containers/0/securityContext","value":
    { "privileged": true}}]'
    
    
  2. Pod Velero harus Berjalan dan gunakan perintah di bawah ini untuk memeriksa status pod velero.

    > watch oc get pods --n velero
    

Ikuti langkah-langkah di bawah ini untuk pencadangan dan pemulihan.

  1. Gambar di bawah ini menunjukkan sumber daya aplikasi wordpress di bawah proyek wordpress

  2. Jalankan perintah berikut untuk mengambil cadangan

    > velero backup create wpbackup --include-namespaces wordpress
    

    Output dari perintah di atas:

    Backup request "my-backup" submitted successfully.
    Run `velero backup describe wpbackup` or `velero backup logs
    wpbackup` for more details.
    
  3. Setelah beberapa detik, jalankan perintah di bawah ini untuk memeriksa status pencadangan.

    > velero backup describe wpbackup
    
  4. Jalankan perintah di bawah ini untuk mendapatkan cadangan yang tersedia di Velero.

    > velero backup get
    

    Output dari perintah di atas:

    NAME STATUS ERRORS WARNINGS CREATED EXPIRES STORAGE LOCATION SELECTOR
    wpbackup Completed 0 0 2020-09-29 14:38:36 +0200 CEST 29d default
    <none>
    
  5. Jalankan perintah di bawah ini untuk memulihkan cadangan di Velero.

    > velero restore create --from-backup wpbackup
    

    Output dari perintah di atas:

    Restore request "wpbackup-20200930065552" submitted successfully.
    Run `velero restore describe wpbackup-20200930065552` or `velero
    restore logs wpbackup-20200930065552` for more details.
    
  6. Jalankan perintah di bawah ini untuk mencantumkan pemulihan.

    > velero restore get
    

    Output dari perintah di atas.

    NAME BACKUP STATUS STARTED COMPLETED ERRORS WARNINGS CREATED SELECTOR
    wpbackup-20200930065552 wpbackup Completed 2020-09-30 06:55:51 +0200
    CEST 2020-09-30 06:55:53 +0200 CEST 0 0 2020-09-30 06:55:52 +0200 CEST
    <none>
    
    

#Verifikasi

Verifikasi apakah sumber daya wordpress telah dipulihkan atau tidak.

Tidak ada komentar:

Posting Komentar