Creazione di una memorizzazione file system persistente mediante un file system esistente
In Compute Cloud@Customer, puoi eseguire il provisioning di un PVC su un file system esistente.
Questa procedura crea un'esportazione di destinazione di accesso, file system e file system. Quindi utilizza il comando kubectl per creare la classe di storage, il volume persistente e la richiesta di volume persistente.
-
Creare una destinazione di accesso.
Per istruzioni, vedere Creazione di una destinazione di accesso.
Importante
Per assicurarsi che la destinazione di accesso possa essere raggiunta dai nodi di lavoro, creare la destinazione di accesso nella subnet che dispone della subnet di lavoro descritta in Creazione di risorse di rete OKE. Assicurarsi che la porta TCP 2049 sul server NFS sia aperta in tale sottorete.
Prendere nota dell'OCID del set di esportazione e dell'OCID della destinazione di accesso. L'OCID del set di esportazione è necessario per creare l'esportazione del file system e l'OCID della destinazione di accesso è necessario per creare la classe di storage nei passi successivi.
È possibile avere una sola destinazione di accesso per ogni VCN.
-
Creare un file system.
Per le relative istruzioni, vedere Creazione di un file system.
Puoi creare un solo file system per ogni VCN. Puoi avere più classi di storage, volumi persistenti e richieste di volume persistenti per cluster e tutte condividono un unico NFS.
-
Crea un'esportazione del file system per associare la destinazione di accesso al file system.
Per istruzioni, vedere Creazione di un'esportazione per un file system.
-
Specificare l'OCID del set di esportazione dall'output della creazione della destinazione di accesso.
-
Specificare il CIDR più lungo (rete più piccola) nell'intervallo CIDR specificato quando è stata creata la subnet "worker" come descritto in Creazione di risorse di rete OKE.
Prendere nota del percorso di esportazione e dell'indirizzo IP della destinazione di accesso.
-
-
Creare una classe di storage, specificando l'OCID della destinazione di accesso dall'output del passo di creazione della destinazione di accesso.
$ kubectl create -f sc.yamlDi seguito è riportato il contenuto del file
sc.yaml.kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: pca-fss provisioner: fss.csi.oraclecloud.com parameters: mntTargetId: ocid1.mounttarget.unique_IDI valori delle proprietà
apiVersioneprovisionersono standard. Il valore del nome della classe di memorizzazione nella sezione dei metadati è specificato dall'utente. È possibile creare più classi di storage per ogni destinazione di accesso e il nome della classe di storage viene utilizzato nei passi riportati di seguito per creare un volume persistente e una richiesta di volume persistente.Utilizzare il comando secondario
get scper visualizzare le informazioni sulla nuova classe di memorizzazione:$ kubectl get sc -
Creare un volume persistente, specificando il nome della classe di storage, il percorso di esportazione e l'indirizzo IP della destinazione di accesso.
Il nome della classe di memorizzazione si trova nei metadati del file
sc.yamlnel passo precedente. Il percorso di esportazione e l'indirizzo IP della destinazione di accesso vengono restituiti dal passo di esportazione Crea file system. Vedere il punto 3 sopra.$ kubectl create -f pv.yamlDi seguito è riportato il contenuto del file
pv.yaml.apiVersion: v1 kind: PersistentVolume metadata: name: fss-pv spec: storageClassName: pca-fss capacity: storage: 200Gi accessModes: - ReadWriteMany mountOptions: - nosuid nfs: server: mount_target_IP_address path: "/export/unique_ID" readOnly: falseIl nome del volume persistente nella sezione
metadataè specificato dall'utente. È possibile avere più volumi persistenti in una classe di storage.Nella sezione
nfs, il valoreserverè l'indirizzo IP della destinazione di accesso e il valorepathè il percorso di esportazione.Utilizzare il comando secondario
get pvper visualizzare le informazioni sul nuovo volume persistente:$ kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE fss-pv 200Gi RWX Retain Bound default/fss-pvc pca-fss 20h -
Creare una richiesta di volume persistente, specificando il nome del volume persistente e il nome della classe di storage.
Il nome del volume persistente e il nome della classe di memorizzazione si trovano nell'output del comando
get pv.Attendere che lo stato del PVC sia Limitato prima di utilizzare questa memoria.
kubectl create -f pvc.yamlDi seguito è riportato il contenuto del file
pvc.yaml.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: fss-pvc spec: storageClassName: pca-fss accessModes: - ReadWriteMany resources: requests: storage: 200Gi volumeName: fss-pvIl nome richiesta volume persistente nella sezione
metadataè specificato dall'utente. È possibile avere più richieste di volume persistenti su un volume persistente.Il valore della proprietà
accessModesdeve essereReadWriteMany.Il valore della proprietà
storagedeve essere di almeno 50 gigabyte.Eseguire il comando seguente per visualizzare informazioni sulla nuova richiesta di volume persistente:
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE fss-pvc Bound fss-pv 200Gi RWX pca-fss 2h -
Utilizzare il PVC quando si creano altri oggetti, come i baccelli.
Ad esempio, è possibile creare un nuovo pod dalla seguente definizione di pod, che indica al sistema di utilizzare il PVC
fss-pvccome volumenginx, montato dal pod all'indirizzo/persistent-storage:apiVersion: v1 kind: Pod metadata: name: fss-dynamic-app spec: containers: - name: nginx image: nginx:latest ports: - name: http containerPort: 80 volumeMounts: - name: persistent-storage mountPath: /usr/share/nginx/html volumes: - name: persistent-storage persistentVolumeClaim: claimName: fss-pvcEseguire il comando seguente per verificare che il pod utilizzi il nuovo PVC:
$ kubectl describe pod fss-dynamic-app