Bantu tingkatkan halaman ini
Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Simpan aplikasi berkinerja tinggi dengan FSx for Lustre
Driver FSx for Lustre Container Storage Interface (CSI)
Topik ini menunjukkan cara menerapkan CSI driver FSx for Lustre ke EKS cluster Amazon Anda dan memverifikasi bahwa itu berfungsi. Kami merekomendasikan menggunakan versi driver terbaru. Untuk versi yang tersedia, lihat Matriks Kompatibilitas CSI Spesifikasi
catatan
Pengemudi tidak didukung di Fargate.
Untuk deskripsi rinci tentang parameter yang tersedia dan contoh lengkap yang menunjukkan fitur driver, lihat proyek driver FSxuntuk Lustre Container Storage Interface (CSI)
Prasyarat
Anda harus memiliki:
-
Versi
2.12.3
atau yang lebih baru atau versi1.27.160
atau yang lebih baru dari AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi pada perangkat Anda atau AWS CloudShell. Untuk memeriksa versi Anda saat ini, gunakan
. Package manager sepertiaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,apt-get
, atau Homebrew untuk macOS sering beberapa versi di belakang versi terbaru dari AWS CLI. Untuk menginstal versi terbaru, lihat Menginstal, memperbarui, dan menghapus konfigurasi AWS CLI dan Cepat dengan aws configure di Panduan Pengguna AWS Command Line Interface . AWS CLI Versi yang diinstal AWS CloudShell mungkin juga beberapa versi di belakang versi terbaru. Untuk memperbaruinya, lihat Menginstal AWS CLI ke direktori home Anda di Panduan AWS CloudShell Pengguna. -
Versi
0.191.0
atau yang lebih baru dari alat bariseksctl
perintah yang diinstal pada perangkat Anda atau AWS CloudShell. Untuk menginstal atau memperbaruieksctl
, lihat Instalasidalam eksctl
dokumentasi. -
Alat baris
kubectl
perintah diinstal pada perangkat Anda atau AWS CloudShell. Versi dapat sama dengan atau hingga satu versi minor lebih awal atau lebih lambat dari versi Kubernetes versi cluster Anda. Misalnya, jika versi cluster Anda1.30
, Anda dapat menggunakankubectl
versi1.29
,1.30
, atau1.31
dengan itu. Untuk menginstal atau memutakhirkankubectl
, lihat Mengatur kubectl dan eksctl.
Prosedur berikut membantu Anda membuat cluster pengujian sederhana dengan CSI driver FSx for Lustre sehingga Anda dapat melihat cara kerjanya. Kami tidak menyarankan menggunakan cluster pengujian untuk beban kerja produksi. Untuk tutorial ini, kami sarankan menggunakan
, kecuali jika dicatat untuk menggantinya. Anda dapat mengganti apa pun example
values
saat menyelesaikan langkah-langkah untuk klaster produksi Anda. Kami merekomendasikan untuk menyelesaikan semua langkah di terminal yang sama karena variabel diatur dan digunakan di seluruh langkah dan tidak akan ada di terminal yang berbeda.example value
Untuk menyebarkan driver FSx untuk Lustre CSI
-
Tetapkan beberapa variabel untuk digunakan dalam langkah-langkah yang tersisa. Ganti
dengan nama cluster pengujian yang ingin Anda buat danmy-csi-fsx-cluster
dengan Wilayah AWS yang Anda inginkan untuk membuat cluster pengujian Anda.region-code
export cluster_name=
my-csi-fsx-cluster
export region_code=region-code
-
Buat cluster uji.
eksctl create cluster \ --name $cluster_name \ --region $region_code \ --with-oidc \ --ssh-access \ --ssh-public-key
my-key
Penyediaan klaster memerlukan waktu beberapa menit. Selama pembuatan klaster, Anda akan melihat beberapa baris output. Baris terakhir output mirip dengan baris contoh berikut.
[✓] EKS cluster "
my-csi-fsx-cluster
" in "region-code
" region is ready -
Buat Kubernetes akun layanan untuk driver dan lampirkan kebijakan
AmazonFSxFullAccess
AWS-managed ke akun layanan dengan perintah berikut. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka gantiarn:aws:
dengan.arn:aws-us-gov:
eksctl create iamserviceaccount \ --name fsx-csi-controller-sa \ --namespace kube-system \ --cluster $cluster_name \ --attach-policy-arn arn:aws:iam::aws:policy/AmazonFSxFullAccess \ --approve \ --role-name
AmazonEKSFSxLustreCSIDriverFullAccess
\ --region $region_codeAnda akan melihat beberapa baris output saat akun layanan dibuat. Baris output terakhir mirip dengan yang berikut ini.
[ℹ] 1 task: { 2 sequential sub-tasks: { create IAM role for serviceaccount "kube-system/
fsx-csi-controller-sa
", create serviceaccount "kube-system/fsx-csi-controller-sa
", } } [ℹ] building iamserviceaccount stack "eksctl-my-csi-fsx-cluster
-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa
" [ℹ] deploying stack "eksctl-my-csi-fsx-cluster
-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa
" [ℹ] waiting for CloudFormation stack "eksctl-my-csi-fsx-cluster
-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa
" [ℹ] created serviceaccount "kube-system/fsx-csi-controller-sa
"Perhatikan nama AWS CloudFormation tumpukan yang digunakan. Dalam contoh output sebelumnya, tumpukan diberi nama
eksctl-
.my-csi-fsx-cluster
-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa
-
Deploy driver dengan perintah berikut. Ganti
dengan cabang yang Anda inginkan. Cabang master tidak didukung karena mungkin berisi fitur mendatang yang tidak kompatibel dengan versi stabil driver yang saat ini dirilis. Kami merekomendasikan menggunakan versi rilis terbaru. Untuk daftar cabang, lihatrelease-X.XX
aws-fsx-csi-driver
Cabangdi GitHub. catatan
Anda dapat melihat konten yang diterapkan
aws-fsx-csi-driver/deploy/kubernetes/overlays/stable
di GitHub. kubectl apply -k "github.com/kubernetes-sigs/aws-fsx-csi-driver/deploy/kubernetes/overlays/stable/?ref=
release-X.XX
"Contoh output adalah sebagai berikut.
serviceaccount/
fsx-csi-controller-sa
created serviceaccount/fsx-csi-node-sa created clusterrole.rbac.authorization.k8s.io/fsx-csi-external-provisioner-role created clusterrole.rbac.authorization.k8s.io/fsx-external-resizer-role created clusterrolebinding.rbac.authorization.k8s.io/fsx-csi-external-provisioner-binding created clusterrolebinding.rbac.authorization.k8s.io/fsx-csi-resizer-binding created deployment.apps/fsx-csi-controller created daemonset.apps/fsx-csi-node created csidriver.storage.k8s.io/fsx.csi.aws.com created -
Perhatikan ARN untuk peran yang dibuat. Jika Anda tidak mencatatnya sebelumnya dan tidak memilikinya tersedia lagi di AWS CLI output, Anda dapat melakukan hal berikut untuk melihatnya di AWS Management Console.
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Pastikan konsol diatur ke IAM peran Wilayah AWS yang Anda buat, lalu pilih Tumpukan.
-
Pilih tumpukan bernama
eksctl-
.my-csi-fsx-cluster
-addon-iamserviceaccount-kube-system-fsx-csi-controller-sa
-
Pilih tab Outputs. Peran1 ARN tercantum di halaman Output (1).
-
Patch penyebaran driver untuk menambahkan akun layanan yang Anda buat sebelumnya dengan perintah berikut. Ganti ARN dengan ARN yang Anda catat. Ganti
dengan ID akun Anda. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka ganti111122223333
arn:aws:
dengan.arn:aws-us-gov:
kubectl annotate serviceaccount -n kube-system
fsx-csi-controller-sa
\ eks.amazonaws.com/role-arn=arn:aws:iam::
--overwrite=true111122223333
:role/AmazonEKSFSxLustreCSIDriverFullAccess
Contoh output adalah sebagai berikut.
serviceaccount/
fsx-csi-controller-sa
annotated
Untuk menerapkan kelas penyimpanan, klaim volume persisten, dan aplikasi sampel
Prosedur ini menggunakan driver FSxfor Lustre Container Storage Interface () CSI
-
Perhatikan grup keamanan untuk klaster Anda. Anda dapat melihatnya di bagian AWS Management Console bawah Jaringan atau dengan menggunakan AWS CLI perintah berikut.
aws eks describe-cluster --name $cluster_name --query cluster.resourcesVpcConfig.clusterSecurityGroupId
-
Buat grup keamanan untuk sistem FSx file Amazon Anda sesuai dengan kriteria yang ditampilkan di Grup VPC Keamanan Amazon di Panduan Pengguna Amazon FSx untuk Lustre. Untuk VPC, pilih cluster Anda seperti VPC yang ditunjukkan di bawah bagian Networking. Untuk “grup keamanan yang terkait dengan klien Lustre Anda”, gunakan grup keamanan klaster Anda. Anda dapat meninggalkan aturan keluar sendiri untuk memungkinkan Semua lalu lintas.
-
Unduh manifes kelas penyimpanan dengan perintah berikut.
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-fsx-csi-driver/master/examples/kubernetes/dynamic_provisioning/specs/storageclass.yaml
-
Edit bagian parameter
file. Ganti setiapstorageclass.yaml
dengan nilai-nilai Anda sendiri.example value
parameters: subnetId:
subnet-0eabfaa81fb22bcaf
securityGroupIds:sg-068000ccf82dfba88
deploymentType:PERSISTENT_1
automaticBackupRetentionDays:"1"
dailyAutomaticBackupStartTime:"00:00"
copyTagsToBackups:"true"
perUnitStorageThroughput:"200"
dataCompressionType:"NONE"
weeklyMaintenanceStartTime:"7:09:00"
fileSystemTypeVersion:"2.12"
-
subnetId
— ID subnet tempat sistem file Amazon FSx untuk Lustre harus dibuat. Amazon FSx for Lustre tidak didukung di semua Availability Zone. Buka konsol Amazon FSx for Lustre di https://console.aws.amazon.com/fsx/untuk mengonfirmasi bahwa subnet yang ingin Anda gunakan berada di Availability Zone yang didukung. Subnet dapat menyertakan node Anda, atau dapat berupa subnet yang berbeda atau: VPC -
Anda dapat memeriksa subnet node di AWS Management Console dengan memilih grup node di bawah bagian Compute.
-
Jika subnet yang Anda tentukan bukan subnet yang sama dengan yang Anda miliki node, maka Anda VPCs harus terhubung, dan Anda harus memastikan bahwa Anda memiliki port yang diperlukan terbuka di grup keamanan Anda.
-
-
securityGroupIds
— ID grup keamanan yang Anda buat untuk sistem file. -
deploymentType
(opsional) — Jenis penyebaran sistem file. Nilai yang valid adalahSCRATCH_1
,SCRATCH_2
,PERSISTENT_1
, danPERSISTENT_2
. Untuk informasi selengkapnya tentang jenis penerapan, lihat Membuat sistem file Amazon FSx untuk Lustre. -
parameter lain (opsional) — Untuk informasi tentang parameter lainnya, lihat StorageClassMengedit
GitHub.
-
-
Buat manifes kelas penyimpanan.
kubectl apply -f storageclass.yaml
Contoh output adalah sebagai berikut.
storageclass.storage.k8s.io/fsx-sc created
-
Unduh manifes klaim volume persisten.
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-fsx-csi-driver/master/examples/kubernetes/dynamic_provisioning/specs/claim.yaml
-
(Opsional) Edit file
. Ubahclaim.yaml
ke salah satu nilai kenaikan berikut, berdasarkan kebutuhan penyimpanan Anda dan1200Gi
deploymentType
yang Anda pilih pada langkah sebelumnya.storage:
1200Gi
-
SCRATCH_2
danPERSISTENT
—1.2 TiB
,2.4 TiB
, atau kenaikan 2,4 TiB lebih dari 2,4 TiB. -
SCRATCH_1
—1.2 TiB
,,2.4 TiB
3.6 TiB
, atau kenaikan 3,6 TiB lebih dari 3,6 TiB.
-
-
Buat klaim volume persisten.
kubectl apply -f claim.yaml
Contoh output adalah sebagai berikut.
persistentvolumeclaim/fsx-claim created
-
Konfirmasikan bahwa sistem file disediakan.
kubectl describe pvc
Contoh output adalah sebagai berikut.
Name: fsx-claim Namespace: default StorageClass: fsx-sc Status: Bound [...]
catatan
Status
mungkin ditampilkan sebagaiPending
selama 5-10 menit, sebelum berubah keBound
. Jangan lanjutkan ke langkah berikutnya sampaiStatus
adalahBound
. JikaStatus
ditampilkanPending
selama lebih dari 10 menit, gunakan pesan peringatan diEvents
sebagai referensi untuk mengatasi masalah apa pun. -
Deploy aplikasi sampel.
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-fsx-csi-driver/master/examples/kubernetes/dynamic_provisioning/specs/pod.yaml
-
Verifikasi bahwa aplikasi sampel sedang dijalankan.
kubectl get pods
Contoh output adalah sebagai berikut.
NAME READY STATUS RESTARTS AGE fsx-app 1/1 Running 0 8s
-
Verifikasi bahwa sistem file dipasang dengan benar oleh aplikasi.
kubectl exec -ti fsx-app -- df -h
Contoh output adalah sebagai berikut.
Filesystem Size Used Avail Use% Mounted on overlay
80G
4.0G
77G
5%
/ tmpfs64M
0
64M
0%
/dev tmpfs3.8G
0
3.8G
0%
/sys/fs/cgroup192.0.2.0
@tcp:/abcdef01
1.1T
7.8M
1.1T
1%
/data /dev/nvme0n1p180G
4.0G
77G
5%
/etc/hosts shm64M
0
64M
0%
/dev/shm tmpfs6.9G
12K
6.9G
1%
/run/secrets/kubernetes.io/serviceaccount tmpfs3.8G
0
3.8G
0%
/proc/acpi tmpfs3.8G
0
3.8G
0%
/sys/firmware -
Verifikasi bahwa data telah ditulis ke sistem file FSx for Lustre oleh aplikasi sampel.
kubectl exec -it fsx-app -- ls /data
Contoh output adalah sebagai berikut.
out.txt
Contoh keluaran ini menunjukkan bahwa aplikasi sampel berhasil menulis
out.txt
file ke sistem file.
catatan
Sebelum menghapus cluster, pastikan untuk menghapus sistem file FSx for Lustre. Untuk informasi selengkapnya, lihat Membersihkan sumber daya di Panduan Pengguna FSx untuk Lustre.