Container Network File System (CNFS) mendukung fitur Keranjang Daur Ulang untuk memulihkan file yang tidak sengaja dihapus dari volume Penyimpanan File NAS, menyediakan perlindungan data yang sederhana dan efektif bagi data aplikasi. Tutorial ini menjelaskan langkah-langkah penerapan aplikasi NGINX pada volume NAS yang dikelola oleh CNFS, penghapusan file, serta pemulihannya dari Keranjang Daur Ulang.
Tagihan
Mengaktifkan Keranjang Daur Ulang gratis. Namun, file dalam Keranjang Daur Ulang mengonsumsi ruang penyimpanan dan ditagih sesuai laju jenis penyimpanan aslinya. Tetapkan periode retensi untuk membatasi biaya penyimpanan. Untuk detailnya, lihat Tagihan sistem file NAS tujuan umum dan Tagihan kelas penyimpanan IA.
Izin
Hanya pemilik sistem file atau pengguna Resource Access Management (RAM) yang berwenang yang dapat menggunakan Keranjang Daur Ulang. Untuk detailnya, lihat Lakukan kontrol akses berdasarkan kebijakan RAM.
Prasyarat
Kluster yang menggunakan CNFS untuk mengelola sistem file NAS. Untuk detailnya, lihat Gunakan CNFS untuk mengelola sistem file NAS.
Akses Internet diaktifkan untuk server API kluster. Untuk detailnya, lihat Aktifkan akses Internet untuk server API.
Komponen Container Storage Interface (CSI) yang memenuhi persyaratan versi minimum berikut:
Komponen
Versi minimum
Referensi
csi-plugindancsi-provisioner1.20.5-ff6490f-aliyun
storage-operator1.18.8.56-2aa33ba-aliyun
Langkah 1: Terapkan aplikasi NGINX dengan volume NAS yang dikelola CNFS
Buat klaim volume persisten (PVC), Penyebaran (Deployment), dan Layanan LoadBalancer. Kemudian tulis file index.html ke volume NAS dan verifikasi akses melalui browser.
Verifikasi status objek CNFS
Tampilkan daftar objek CNFS di kluster Anda:
kubectl get cnfsNAME AGE default-cnfs-nas-7938cef-20210907193713 21hPeriksa status objek CNFS. Objek CNFS harus berada dalam status Available sebelum Anda melanjutkan.
kubectl get cnfs default-cnfs-nas-7938cef-20210907193713 -o yaml | grep Availablestatus: Available
Buat PVC
Jalankan perintah berikut untuk membuat PVC bernama cnfs-nas-pvc yang mereferensikan StorageClass alibabacloud-cnfs-nas:
Field storageClassName harus mereferensikan StorageClass CNFS.
cat << EOF | kubectl apply -f -
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: cnfs-nas-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: alibabacloud-cnfs-nas
resources:
requests:
storage: 30Gi
EOFBuat Deployment
Jalankan perintah berikut untuk membuat Deployment bernama cnfs-nas-deployment. Deployment ini memasang PVC ke /app dan mengekspos port kontainer 8080 (bernama http):
Deployment ini mereferensikan PVC yang dibuat pada langkah sebelumnya.
cat << EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
name: cnfs-nas-deployment
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
securityContext:
runAsUser: 0
containers:
- name: nginx
image: docker.io/bitnami/nginx:1.16.1-debian-9-r56
volumeMounts:
- mountPath: "/app"
name: cnfs-nas-pvc
ports:
- containerPort: 8080
name: http
volumes:
- name: cnfs-nas-pvc
persistentVolumeClaim:
claimName: cnfs-nas-pvc
EOFBuat Layanan LoadBalancer
Jalankan perintah berikut untuk membuat Layanan LoadBalancer bernama nginx-default. Instance Server Load Balancer (SLB) mengekspos Layanan melalui Alamat IP publik dan meneruskan permintaan HTTP ke Pod dengan label app: nginx:
cat << EOF | kubectl apply -f -
apiVersion: v1
kind: Service
metadata:
name: nginx-default
labels:
app: nginx
spec:
type: LoadBalancer
externalTrafficPolicy: "Cluster"
ports:
- name: http
port: 80
targetPort: http
selector:
app: nginx
EOFTulis halaman selamat datang NGINX
Dapatkan nama Pod.
kubectl get podNAME READY STATUS RESTARTS AGE cnfs-nas-deployment-597bc9fb45-cmkss 1/1 Running 0 3h23mBuka shell di dalam Pod dan navigasi ke
/app:kubectl exec cnfs-nas-deployment-597bc9fb45-cmkss -ti -- sh cd /appTulis file
index.html:cat << EOF >> index.html <!DOCTYPE html> <html> <head> <title>Selamat datang di nginx!</title> <style> html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Selamat datang di nginx!</h1> <p>Jika Anda melihat halaman ini, server web nginx berhasil diinstal dan berfungsi. Diperlukan konfigurasi lebih lanjut.</p> <p>Untuk dokumentasi dan dukungan online, silakan merujuk ke <a href="http://nginx.org/">nginx.org</a>.<br/> Dukungan komersial tersedia di <a href="http://nginx.com/">nginx.com</a>.</p> <p>Terima kasih telah menggunakan nginx.</p> </body> </html> EOFKeluar dari Pod:
exit
Verifikasi akses ke halaman selamat datang NGINX
Dapatkan Alamat IP publik instance SLB.
kubectl get svcNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx-default LoadBalancer 192.168.XX.XX 47.115.XX.XX 80:30989/TCP 20hBuka Alamat IP publik (misalnya,
47.115.XX.XX) di browser. Halaman selamat datang NGINX akan muncul.
Langkah 2: Hapus file dan pulihkan dari Keranjang Daur Ulang
Simulasikan kehilangan data dengan menghapus index.html, lalu pulihkan file tersebut melalui Keranjang Daur Ulang di Konsol ACK.
Hapus file
Hapus file
index.htmldari Pod:kubectl exec cnfs-nas-deployment-597bc9fb45-cmkss -- rm -rf /app/index.htmlSegarkan browser. Halaman selamat datang NGINX tidak lagi dapat diakses dan mengembalikan error 403.
403 Forbidden nginx/1.16.1
Pulihkan file dari Keranjang Daur Ulang
CNFS mengaktifkan Keranjang Daur Ulang secara default pada sistem file NAS yang dikelola.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Di halaman Clusters, temukan kluster Anda dan klik namanya. Di panel sebelah kiri, pilih Volumes > Persistent Volumes.
Di halaman Persistent Volumes, temukan volume persisten (PV) dan klik Recycle Bin di kolom Actions. Dalam contoh ini, nama PV adalah nas-ecaf6018-5250-4e19-b570-5d9e657d23bc.
Di tab Recycle Bin halaman sistem file NAS, klik tab Deleted Files and Directories. Temukan file yang dihapus dan klik Restore di kolom Actions.
Klik Restore to the original path, lalu klik OK.
Segarkan browser. Halaman selamat datang NGINX muncul kembali, yang mengonfirmasi bahwa
index.htmltelah dipulihkan.
Referensi
Untuk informasi lebih lanjut tentang fitur Keranjang Daur Ulang NAS, lihat Keranjang daur ulang.