File Storage for VPC zu Apps hinzufügen
Red Hat OpenShift on IBM Cloud bietet vordefinierte Speicherklassen, mit denen Sie File Storage for VPC für Anwendungen in Ihrem Cluster bereitstellen können. Jede Speicherklasse legt die verfügbare Größe, die IOPS, das Dateisystem und die Aufbewahrungsrichtlinie für die von Ihnen bereitgestellte Dateifreigabe fest. Sie können auch eigene Speicherklassen für Ihren Anwendungsfall erstellen.
Lesen Sie die folgenden Hinweise und Überlegungen, bevor Sie fortfahren.
- Nach der Bereitstellung eines bestimmten Speichertyps mithilfe einer Speicherklasse können Sie den Typ oder die Aufbewahrungsrichtlinie für die Speichereinheit nicht mehr ändern. Sie können jedoch die Größe und die IOPS ändern, wenn Sie Ihre Speicherkapazität und Leistung erhöhen möchten. Um den Typ und die Aufbewahrungsrichtlinie für Ihren Speicher zu ändern, müssen Sie eine neue Speicherinstanz erstellen und die Daten von der alten Speicherinstanz in die neue kopieren.
- Wenn sich Ihr Cluster und Ihre VPC in separaten Ressourcengruppen befinden, müssen Sie, bevor Sie Dateifreigaben bereitstellen können, Ihre eigene Speicherklasse erstellen und die ID Ihrer VPC-Ressourcengruppe im Abschnitt
resourceGroupzusammen mit der ID der Sicherheitsgruppekube-<clusterID>im AbschnittsecurityGroupIDsangeben. Um die ID der Sicherheitsgruppe abzurufen, gehen Sie wie folgt vor. Weitere Informationen finden Sie unter Erstellen einer eigenen Speicherklasse. - In Clusterversionen wurden neue Sicherheitsgruppenregeln eingeführt 4.11 und später. Diese Regeländerungen bedeuten, dass Sie Ihre Sicherheitsgruppen synchronisieren müssen, bevor SieFile Storage for VPC. Weitere Informationen finden Sie unter HinzufügenFile Storage for VPC zu Apps.
- Mit der Version wurden neue Speicherklassen hinzugefügt2.0 des Add-Ons. Sie können keine neuen Dateifreigaben mehr bereitstellen, die die älteren Speicherklassen verwenden. Vorhandene Volumes, die die älteren Speicherklassen verwenden, funktionieren weiterhin. Sie können die Volumes, die mit den älteren Klassen erstellt wurden, jedoch nicht erweitern. Weitere Informationen finden Sie im Migrieren zu einer neuen Speicherklasse.
- Das Erstellen eines PVC mit Hilfe von StorageClassSecrets wird nicht unterstützt.
- Stellen Sie sicher, dass der Benutzer, der den Cluster erstellt, über die Berechtigungen Reader, Writer und Operator für VPC Infrastructure Services verfügt.
- Stellen Sie sicher, dass Sie eine Dienstberechtigung einrichten von der VPC-Infrastruktur zu KMS/HPCS wechseln, wenn Sie Ihre Dateifreigaben verschlüsseln möchten.
IBM Cloud ändert seine dedizierten Schlüsselverwaltungsservices von Hyper Protect Crypto Services zu Key Protect Dedicated.
- Standardmäßig stellt das File Storage for VPC-Cluster-Add-on Dateifreigaben in der Sicherheitsgruppe
kube-<clusterID>bereit. Dies bedeutet, dass Pods auf Dateifreigaben in Knoten und Zonen zugreifen können. - Wenn Sie kontextbasierte Einschränkungen verwenden, müssen Sie Ihre Netzwerkzonen und -regeln konfigurieren. Weitere Informationen finden Sie unter Schutz von Virtual Private Cloud(VPC)-Infrastrukturdiensten mit kontextbasierten Einschränkungen.
Neue Sicherheitsgruppenregeln wurden in den Versionen „ 4.11 “ und höher eingeführt. Aufgrund dieser Regeländerungen müssen Sie Ihre Sicherheitsgruppen synchronisieren, bevor Sie „ File Storage for VPC “ verwenden können. Wenn Ihr Cluster ursprünglich mit Version 4.11 oder früher erstellt wurde, führen Sie die folgenden Befehle aus, um Ihre Sicherheitsgruppeneinstellungen zu synchronisieren.
- Rufen Sie die ID Ihres Clusters ab.
ibmcloud oc cluster ls - Rufen Sie die ID der Sicherheitsgruppe
kube-<clusterID>ab.ibmcloud is sg kube-CLUSTER_ID | grep ID - Synchronisieren Sie die Sicherheitsgruppe
kube-<clusterID>mit der ID, die Sie im vorherigen Schritt abgerufen haben.ibmcloud ks security-group sync -c CLUSTER_ID --security-group ID
Schnellstart für File Storage for VPC
Erstellen Sie einen Persistent Volume Claim (PVC), um File Storage for VPC dynamisch für Ihren Cluster bereitzustellen. Bei der dynamischen Bereitstellung wird automatisch das entsprechende persistente Volume (PV) erstellt und die Dateifreigabe in Ihrem Konto eingerichtet.
Ab sofort können Sie eine Speicherklasse der zweiten Generation wählen.
-
Überprüfen Sie die vorinstallierten Speicherklassen, indem Sie den folgenden Befehl ausführen: Weitere Informationen hierzu finden Sie in den Referenzinformationen zu Speicherklassen.
oc get sc | grep vpc-file -
Speichern Sie die folgende YAML-Datei in einer Datei. In diesem Beispiel wird ein Claim mit dem Namen
my-pvcunter Verwendung der Speicherklasseibmc-vpc-file-min-iopsmit einer Gigabyte-Größe von10Gierstellt.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc # Enter a name for your PVC. spec: accessModes: - ReadWriteMany # The file share can be mounted on multiple nodes and pods. resources: requests: storage: 20Gi # Enter the size of the storage in gigabytes (Gi). storageClassName: ibmc-vpc-file-min-iops # Enter the name of the storage class that you want to use. -
Erstellen Sie den PVC.
oc apply -f my-pvc.yaml -
Überprüfen Sie, ob Ihr PVC erstellt und an den persistenten Datenträger (PV) gebunden wurde.
oc describe pvc my-pvcBeispielausgabe
Name: my-pvc Namespace: default StorageClass: "" Status: Bound Volume: pvc-0d787071-3a67-11e7-aafc-eef80dd2dea2 Labels: <none> Capacity: 20Gi Access Modes: RWX Events: FirstSeen LastSeen Count From SubObjectPath Type Reason Message --------- -------- ----- ---- ------------- -------- ------ ------- 1m 1m 1 {ibm.io/ibmc-vpc-file 31898035-3011-11e7-a6a4-7a08779efd33 } Normal ProvisioningSucceeded Successfully provisioned volume pvc-0d787071-3a67-11e7-aafc-eef80dd2dea2 -
Speichern Sie die folgende Implementierungskonfiguration in der Datei
deployment.yamlund referenzieren Sie den PVC, den Sie im vorherigen Schritt erstellt haben.apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment labels: app: my-deployment spec: selector: matchLabels: app: busybox template: metadata: labels: app: busybox spec: containers: - name: busybox image: busybox:1.28 command: [ "sh", "-c", "sleep 1h" ] volumeMounts: - name: my-vol mountPath: /data/demo # Mount path for the application. volumes: - name: my-vol persistentVolumeClaim: claimName: my-pvc # Your PVC name.volumeMounts.mountPath- Geben Sie im Abschnitt 'containers: volumeMounts' den absoluten Pfad des Verzeichnisses ein, an das der Datenträger im Container angehängt ist. Daten, die in den Mountpfad geschrieben werden, werden im Verzeichnis
rootin der physischen Instanz von File Storage for VPC gespeichert. Wenn Sie ein Volume für mehrere Anwendungen gemeinsam nutzen möchten, können Sie für jede Ihrer Anwendungen Volume-Unterpfade angeben. volumeMounts.name- Geben Sie im Abschnitt 'containers: volumeMounts' den Namen des Datenträgers an, der an Ihren Pod angehängt werden soll.
volume.name- Geben Sie im Abschnitt 'volumes' den Namen des Datenträgers ein, der an Ihren Pod angehängt werden soll. Dieser Name ist in der Regel mit
volumeMounts.nameidentisch. claimName- Geben Sie im Abschnitt 'volumes: persistentVolumeClaim' den Namen des PVC ein, der den physischen Datenträger (PV) bindet, den Sie verwenden möchten.
-
Erstellen Sie die Implementierung.
oc apply -f deployment.yaml -
Überprüfen Sie, dass der persistente Datenträger erfolgreich angehängt wurde.
oc describe deployment my-deploymentDer Mountpunkt ist im Feld Datenträgermounts angegeben und der Datenträger im Feld Datenträger .
Containers: Mounts: /data/demo from my-vol (rw) Volumes: my-vol: Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) ClaimName: my-pvc ReadOnly: false -
Optional: Versuchen Sie nach der Ausführung Ihres Pods, Ihren Speicherdatenträger zu erweitern.
Migrieren zu einer neuen Speicherklasse
- Mit der Version wurden neue Speicherklassen hinzugefügt2.0 des Add-Ons.
- Sie können keine neuen Dateifreigaben mehr bereitstellen, die die älteren Speicherklassen verwenden.
- Vorhandene Volumes, die die älteren Speicherklassen verwenden, funktionieren weiterhin. Sie können die Volumes, die mit den älteren Klassen erstellt wurden, jedoch nicht erweitern.
- Wenn Sie die Volume-Erweiterungsfunktion benötigen, führen Sie die folgenden Schritte aus, um Ihre Apps auf eine neuere Speicherklasse zu migrieren.
- Wenn Sie die Volume-Erweiterungsfunktion nicht benötigen, müssen Sie nicht migrieren und Ihre PVCs funktionieren weiterhin wie gewohnt.
- Die folgenden Schritte umfassen die manuelle Migration.
-
Suchen Sie das PVC, das Sie migrieren möchten, und notieren Sie sich sowohl den PVC-Namen als auch den zugehörigen PV-Namen.
oc get pvc -
Verkleinern Sie Ihre App, die PVC verwendet.
oc scale deployment DEPLOYMENT --replicas 0 -
Bearbeiten Sie das PV-Objekt, das Ihre App verwendet, um die Rückforderungsrichtlinie zu ändern in
Retainund Speicherklasse aufibmc-vpc-file-min-iops.kubectl edit pv PVspec: accessModes: - ReadWriteMany capacity: storage: 20Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: <pvc-name> namespace: default ... persistentVolumeReclaimPolicy: Retain # Change delete to retain storageClassName: ibmc-vpc-file-min-iops # Enter a new storage class volumeMode: Filesystem -
Löschen Sie das vorhandene PVC-Objekt.
kubectl delete pvc PVC -
Bearbeiten Sie das PV erneut und entfernen Sie die
claimRefAbschnitt.kubectl edit pv PVspec: accessModes: - ReadWriteMany capacity: storage: 20Gi #claimRef: #apiVersion: v1 #kind: PersistentVolumeClaim #name: <pvc-name> #namespace: default #resourceVersion: "381270" #uid: 4042f319-1233-4187-8549-8249a840a8dd -
Erstellen Sie ein PVC mit demselben Namen und derselben Größe wie Ihr vorheriges PVC. Dies sollte nacheinander für alle betroffenen PVCs durchgeführt werden.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: <pvc-name> spec: accessModes: - ReadWriteMany resources: requests: storage: <size>Gi storageClassName: ibmc-vpc-file-min-iops -
Skalieren Sie Ihre App, die PVC verwendet hat.
k scale deployment DEPLOYMENT --replicas x -
Um die Volume-Erweiterung weiterhin zu nutzen, siehe Einrichten der Volume-Erweiterung.
Datenträgererweiterung einrichten
Um Datenträger bereitzustellen, die die Erweiterung unterstützen, müssen Sie eine Speicherklasse verwenden, für die allowVolumeExpansion auf true gesetzt ist.
Das Cluster-Add-on „ File Storage for VPC “ unterstützt die Erweiterung sowohl im Online- als auch im Offline-Modus. Eine Erweiterung ist jedoch nur innerhalb der vorgegebenen Größe und des IOP-Bereichs des Profils „ File Storage for VPC “ möglich.
Mit der Version „ 2.0 “ wurden neue Speicherklassen eingeführt. Die Volume-Erweiterung funktioniert nicht für Freigaben, die Speicherklassen aus früheren Versionen des Add-Ons verwenden.
Vorbereitende Schritte
-
Um die Volumenerweiterung zu nutzen, stellen Sie sicher, dass Sie Ihr Add-on mindestens auf die Version 2.0 aktualisieren.
-
Stellen Sie sicher, dass Ihre Anwendung eine der neuesten Speicherklassen verwendet. Informationen zu den Migrationsschritten finden Sie unter Migrieren zu einer neuen Speicherklasse
-
Wenn Sie keine laufende App haben, beginnen Sie mit der Bereitstellung der Schnellstartbeispiel PVC und Bereitstellung.
Angehängten Datenträger erweitern
-
Nachdem Ihr PVC von einem App-Pod eingerichtet wurde, können Sie Ihren Datenträger erweitern, indem Sie den Wert des Feldes
spec.resources.requests.storagein Ihrem PVC bearbeiten. Um Ihren Datenträger zu erweitern, bearbeiten Sie Ihren PVC und erhöhen Sie den Wert im Feldspec.resources.requests.storage.kubectl edit pvc my-pvcspec: accessModes: - ReadWriteMany resources: requests: storage: 50Gi -
Speichern und schließen Sie die PVC. Warten Sie einige Minuten, bis der Datenträger erweitert wurde.
-
Stellen Sie sicher, dass Ihr Volume erweitert ist.
kubectl get pvcBeispielausgabe
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE my-pvc Bound pvc-25b6912e-75bf-41ca-b6b2-567fa4f9d245 50Gi RWX ibmc-vpc-file-min-iops 3m31s
Vorhandenen Dateispeicher an eine App anhängen
Erstellen Sie einen Persistent Volume Claim (PVC), um File Storage for VPC statisch für Ihren Cluster bereitzustellen. Durch die statische Bereitstellung können Clusteradministratoren vorhandene Speichereinheiten für einen Cluster verfügbar machen.
-
Rufen Sie Ihre Cluster-ID ab.
ibmcloud ks cluster ls -
Ermitteln Sie die ID Ihrer
kube-<clusterID>Sicherheitsgruppe.ibmcloud is sg kube-CLUSTER_ID | grep ID -
Erstellen Sie eine Dateifreigabe. Weitere Informationen finden Sie unter Dateifreigaben und Mountziele erstellen.
ibmcloud is share-create --name my-file-share --zone us-south-2 --profile dp2 --size 1000 --iops 1000 -
Erstellen Sie ein Freigabeeinhängeziel und geben Sie die
kube-<clusterID>Sicherheitsgruppen-ID an, die Sie zuvor in der Option--vni-sgsabgerufen haben.ibmcloud is share-mount-target-create my-file-share --subnet my-subnet --name NAME --vni-name my-share-vni-1 --vni-sgs kube-CLUSTER_ID --resource-group-name Default --vpc ID -
Bevor Sie einen persistenten Datenträger (PV) erstellen können, rufen Sie die Details zu Ihrer Dateifreigabe ab.
ibmcloud is shares -
Erfahren Sie mehr über Ihren Anteil. Notieren Sie sich die Mountziele.
ibmcloud is share SHARE-IDBeispielbefehl.
ibmcloud is share r134-bad98878-1f63-45d2-a3fd-60447094c2e6Beispielausgabe
ID r134-bad98878-1f63-45d2-a3fd-60447094c2e6 Name pvc-e7e005a9-e96b-41ad-9d6e-74650a9110a0 CRN crn:v1:staging:public:is:us-south-1:a/77f2bceddaeb577dcaddb4073fe82c1c::share:r134-bad98878-1f63-45d2-a3fd-60447094c2e6 Lifecycle state stable Access control mode security_group Zone us-south-1 Profile dp2 Size(GB) 10 IOPS 100 User Tags clusterid:cpjao3l20dl78jadqkd0,namespace:default,provisioner:vpc.file.csi.ibm.io,pv:pvc-e7e005a9-e96b-41ad-9d6e-74650a9110a0,pvc:pv-file,reclaimpolicy:delete,storageclass:custom-eni Encryption provider_managed Mount Targets ID Name r134-aa2aabb8-f616-47be-886b-99220852b728 pvc-e7e005a9-e96b-41ad-9d6e-74650a9110a0 Resource group ID Name 300b9469ee8676f9a038ecdf408c1a9d Default Created 2024-06-11T19:55:11+05:30 Replication role none Replication status none Replication status reasons Status code Status message -
Rufen Sie die
nfsServerPathab, die auch alsMount Pathbezeichnet wird.ibmcloud is share-mount-target SHARE-ID SHARE-TARGET-IDBeispielbefehl.
ibmcloud is share-mount-target r134-bad98878-1f63-45d2-a3fd-60447094c2e6 r134-aa2aabb8-f616-47be-886b-99220852b728Beispielausgabe
ID r134-aa2aabb8-f616-47be-886b-99220852b728 Name pvc-e7e005a9-e96b-41ad-9d6e-74650a9110a0 VPC ID Name r134-f05922d4-d8ab-4f64-9a3d-82664b303bc1 vpc-public Access control mode security_group Resource type share_mount_target Virtual network interface ID Name 0716-6407fb4b-e962-49c4-8556-dc94f4574b4b defective-chloride-huffy-gladly Lifecycle state stable Mount path 10.240.0.23:/89d8a454_f552_42bf_8374_4d31481edf4d Transit Encryption none Created 2024-06-11T19:55:12+05:30 -
Erstellen Sie eine PV-Konfigurationsdatei mit dem Namen
static-file-share.yaml, die auf Ihre Dateifreigabe verweist.apiVersion: v1 kind: PersistentVolume metadata: name: static-file-share spec: mountOptions: - hard - nfsvers=4.1 - sec=sys accessModes: - ReadWriteMany capacity: storage: 10Gi csi: volumeAttributes: nfsServerPath: NFS-SERVER-PATH driver: vpc.file.csi.ibm.io volumeHandle: FILE-SHARE-ID#SHARE-TARGET-ID -
Erstellen Sie den persistenten Datenträger (PV).
oc apply -f static-file-share.yaml -
Erstellen Sie einen PVC.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-static spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: "" #Leave the storage class blank. -
Erstellen Sie den PVC, um Ihren PV zu binden.
oc apply -f pvc-static.yaml -
Erstellen Sie einen Verteilungsdateinamen
testpod.yaml, um Ihre Dateifreigabe an einen Anwendungs-Pod anzuhängen.apiVersion: apps/v1 kind: Deployment metadata: name: testpod labels: app: testpod spec: selector: matchLabels: app: busybox template: metadata: labels: app: busybox spec: containers: - name: busybox image: busybox:1.28 command: [ "sh", "-c", "sleep 1h" ] volumeMounts: - name: my-vol mountPath: /data/demo # Mount path for the application. volumes: - name: pvc-name persistentVolumeClaim: claimName: pvc-static # The name of the PVC that you created earlierspec.containers.volumeMounts.mountPath- Geben Sie den absoluten Pfad des Verzeichnisses ein, in dem der Datenträger innerhalb des Containers per Mount angehängt wird. Daten, die in den Mountpfad geschrieben werden, werden im Verzeichnis
rootin der physischen Instanz von File Storage for VPC gespeichert. Wenn Sie ein Volume für mehrere Anwendungen gemeinsam nutzen möchten, können Sie für jede Ihrer Anwendungen Volume-Unterpfade angeben. volumeMounts.name- Geben Sie den Namen des Datenträgers ein, der an Ihren Pod angehängt werden soll.
volume.name- Geben Sie den Namen des Datenträgers ein, der an Ihren Pod angehängt werden soll. Dieser Name ist in der Regel mit
volumeMounts.nameidentisch. volumes.persistentVolumeClaim.claimName- Geben Sie den Namen des PVC ein, an das das von Ihnen gewünschte PV gebunden ist.
-
Erstellen Sie die Implementierung.
oc apply -f testpod.yaml
Eigene Speicherklasse erstellen
Sie können Ihre eigene, individuell angepasste Speicherklasse mit den für Ihre File Storage for VPC-Instanz bevorzugten Einstellungen erstellen. Um die Kosten niedrig zu halten, können Sie anfangs einen PVC mit einem minimalen Durchsatz bereitstellen und dann später auf den PVC zugreifen und den Durchsatz anpassen, wenn der Bedarf besser definiert ist.
Wenn Sie die folgenden Features benötigen, müssen Sie Ihre eigene Speicherklasse erstellen.
- Ihre App muss ohne Rootberechtigung ausgeführt werden.
- Ihr Cluster befindet sich in einer anderen Ressourcengruppe als Ihre VPC und Ihr Teilnetz.
- Sie müssen den Dateifreigabezugriff auf Pods auf einem bestimmten Knoten oder in einer bestimmten Zone beschränken.
- Sie müssen Ihre eigene Verschlüsselung (BYOK) mit einem KMS-Provider wie HPCS oder Key Protectverwenden.
- Sie müssen das Teilnetz oder die IP-Adresse von Virtual Network Interface(VNI) manuell angeben.
- Sie brauchen mehr Kontrolle über Kapazität und Bandbreite. In diesem Fall können Sie das Profil
rfsverwenden. Weitere Informationen finden Sie unter Übersicht über regionale Dateifreigaben. - Sie möchten die angeforderte PVC-Kapazität automatisch auf die minimal unterstützte Kapazität für ein festes IOPS-Profil
dp2aufrunden. Weitere Informationen finden Sie unter Automatische Kapazitätsrundung für feste IOPS-Profile aktivieren.
Wenn sich Ihr Cluster und Ihr VPC nicht in derselben Ressourcengruppe befinden, müssen Sie die ID der VPC-Ressourcengruppe im Abschnitt resourceGroup und die ID der Sicherheitsgruppe kube-<clusterID> im Abschnitt
securityGroupIDs angeben. Sie können die ID der kube-<clusterID>-Sicherheitsgruppe ermitteln, indem Sie ibmcloud is sg kube-CLUSTER_ID | grep ID ausführen.
-
Erstellen Sie eine Konfigurationsdatei für die Speicherklasse. Das folgende Beispiel verwendet das Profil
dp2. Wählen Sie zwischen einer Speicherklasse der ersten und einer der zweiten Generation.Beispiel der ersten Generation:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ibmc-vpc-file-custom-sc labels: app.kubernetes.io/name: ibm-vpc-file-csi-driver provisioner: vpc.file.csi.ibm.io mountOptions: - hard - nfsvers=4.1 - sec=sys parameters: profile: "dp2" # or rfs billingType: "hourly" # hourly or monthly encrypted: "false" encryptionKey: "" # If encrypted is true, then a user must specify the CRK-CRN. resourceGroup: "" # Resource group ID. By default, the resource group of the cluster will be used from storage-secrete-store secret. isENIEnabled: "true" # VPC File Share VNI feature will be used by all PVCs created with this storage class. securityGroupIDs: "" # By default cluster security group i.e kube-<clusterID> will be used. User can provide their own comma separated SGs. subnetID: "" # User can provide subnetID in which the VNI will be created. Zone and region are mandatory for this. If not provided CSI driver will use the subnetID available in the cluster's VPC zone. region: "" # VPC CSI driver will select a region from cluster node's topology. The user can override this default. zone: "" # VPC CSI driver will select a region from cluster node's topology. The user can override this default. primaryIPID: "" # Existing ID of reserved IP from the same subnet as the file share zone. Zone and region are mandatory for this. SubnetID is not mandatory for this. primaryIPAddress: "" # IPAddress for VNI to be created in the subnet of the zone. Zone, region and subnetID are mandatory for this. iops: "" # Example: 100, this option is valid only for the dp2 profile. allowCapacityRoundoffForIops: "true" # Optional. Enables automatic capacity roundoff for fixed IOPS dp2 profiles. When set to "true", if the requested PVC size is lower than the minimum supported capacity for the requested IOPS, the driver automatically provisions the volume at the minimum supported capacity. Disabled by default. Requires a Virtual Private Endpoint Gateway (VPEG) to IBM Global Catalog. throughput: "" # Example: 2000, this option is valid only for the rfs profile tags: "" # User can add a list of tags "a, b, c" that will be used at the time of provisioning file share, by default CSI driver has its own tags. uid: "0" # The initial user identifier for the file share, by default its root. gid: "0" # The initial group identifier for the file share, by default its root. classVersion: "1" reclaimPolicy: "Delete" allowVolumeExpansion: trueBeispiel der zweiten Generation:
Wenn Sie eine 10Gi PVC unter Verwendung der Speicherklasse der ersten Generation
ibmc-vpc-file-min-iopsbereitstellen, beträgt die maximale IOPS 1.000. Der Standardwert für die Zuweisung ist 100 und der Durchsatz ist auf 210 Mbit/s festgelegt, was nicht einstellbar ist.Wenn Sie jedoch eine 10Gi PVC unter Verwendung der Speicherklasse der zweiten Generation
ibmc-vpc-file-regionalbereitstellen, ist die IOPS auf 35.000 festgelegt und der maximale Durchsatz kann auf bis zu 8192 Mbit/s eingestellt werden, obwohl er standardmäßig bei 8 Mbit/s liegt.Ein weiteres Beispiel: Wenn Sie anfänglich eine PVC mit einer Größe von weniger als 16 TB und einem festen IOPS-Wert von 500 bereitstellen, indem Sie die Speicherklasse der ersten Generation
ibmc-vpc-file-500-iopsverwenden, sind IOPS und Durchsatz fest und werden auf der Grundlage von Größe und IOPS berechnet.Um diese PVC über 16 TB hinaus zu erweitern, kann die Speicherklasse der ersten Generation
ibmc-vpc-file-500-iopsnicht verwendet werden. Wird stattdessen die Speicherklasse der zweiten Generationibmc-vpc-file-regional-max-bandwidthverwendet, kann eine PVC beliebiger Größe bis zu 32 TB bereitgestellt werden und bietet bis zu 35000 IOPS und einen Standarddurchsatz von 8192 Mbit/s, der einstellbar ist.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ibmc-vpc-file-regional-max-bandwidth labels: app.kubernetes.io/name: ibm-vpc-file-csi-driver annotations: version: v2.0 revision: "1" provisioner: vpc.file.csi.ibm.io mountOptions: - hard - nfsvers=4.1 - sec=sys parameters: profile: "rfs" # general-purpose, sdp, 5iops-tier, 10iops-tier, or custom billingType: "hourly" encrypted: "false" encryptionKey: "" resourceGroup: "" throughput: "8192" # Example: 2000 classVersion: "1" isENIEnabled: "true" # VPC File Share ENI/VNI feature will be used by all PVCs created with this storage class. securityGroupIDs: "" # By default cluster security group i.e kube-<clusterID> will be used. User can provide their own command separated SGs. subnetID: "" # User can provide subnetID in which the ENI/VNI will be created.If not provided CSI driver will use the subnetID available in the cluster' VPC zone. primaryIPID: "" # Existing ID of reserved IP from any of subnets within the VPC,subnetID is not mandatory for this. primaryIPAddress: "" # IPAddress for ENI/VNI to be created in the respective subnet,subnetID is mandatory for this. uid: "0" # The initial user identifier for the file share, by default its root. gid: "0" # The initial group identifier for the file share, by default its root. allowVolumeExpansion: true # Select true or false. Only supported on version 3.0.1 and later reclaimPolicy: "Delete" -
Erstellen Sie die angepasste Speicherklasse in Ihrem Cluster.
oc apply -f custom-storageclass.yaml -
Überprüfen Sie, ob Ihre Speicherklasse im Cluster verfügbar ist.
oc get scBeispielausgabe
ibmc-vpc-file-custom-sc vpc.file.csi.ibm.io
Festlegen der Standard-Speicherklasse
- Das Ändern der Standard-Speicherklasse ist nur für die Add-on-Version 2.0 oder höher verfügbar.
- Sie können die Standard-Speicherklasse auf eine der vorinstallierten File Storage for VPC-Klassen oder Ihre eigene benutzerdefinierte Speicherklasse setzen. Wenn Sie eine benutzerdefinierte Speicherklasse verwenden, stellen Sie sicher, dass
der Provisioner auf
vpc.file.csi.ibm.ioeingestellt ist. - Wenn in einem Cluster mehrere Speicherklassen als Standard festgelegt sind, kann jede der Standard-Speicherklassen verwendet werden. Um sicherzustellen, dass die richtige Speicherklasse verwendet wird, sollten Sie alle vorhandenen Standardspeicherklassen im Cluster entfernen, bevor Sie eine neue Standardklasse festlegen. Wenn das VPC-Blockspeicher-Add-on ebenfalls installiert ist, ist möglicherweise bereits eine VPC-Blockspeicherklasse als Standard festgelegt. Informationen dazu, wie Sie diese entfernen können, bevor Sie einen neuen Standard festlegen, finden Sie unter Ändern der Standard-Speicherklasse für VPC-Blockspeicher.
-
Bearbeiten Sie die
addon-vpc-file-csi-driver-configmapconfigmap und geben Sie den Namen der Speicherklasse im ParameterSET_DEFAULT_STORAGE_CLASSan.oc edit cm addon-vpc-file-csi-driver-configmap -n kube-systemBeispielausgabe
SET_DEFAULT_STORAGE_CLASS: "ibmc-vpc-file-eit" -
Überprüfen Sie, ob die Standardeinstellung korrekt ist, indem Sie die
file-csi-driver-statusconfigmap beschreiben.oc describe cm file-csi-driver-status -n kube-systemBeispielhafte Ausgabe.
events: ---- - event: EnableVPCFileCSIDriver description: 'VPC File CSI Driver enable successful, DriverVersion: v2.0.6' timestamp: "2024-09-20 12:01:02" - event: Change default storage class request description: Successfully set 'ibmc-vpc-file-eit' as default storage class timestamp: "2024-09-20 12:01:36"
App bereitstellen, die ohne Rootberechtigung ausgeführt wird
Die Parameter „ uid “ und „ gid “ in der Speicherklasse legen die anfänglichen Benutzer- und Gruppen-IDs für die Dateifreigabe auf Infrastrukturebene fest. Hintergrundinformationen zur Funktionsweise von Zusatz-IDs
im VPC-Dateispeicher finden Sie unter „ Zusatz-IDs für VPC-Dateifreigaben “.
-
Erstellen Sie Ihre eigene Speicherklasse und geben Sie die Gruppen-ID oder die Benutzer-ID an, die Sie für Ihre App verwenden wollen.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ibmc-vpc-file-custom-sc labels: app.kubernetes.io/name: ibm-vpc-file-csi-driver provisioner: vpc.file.csi.ibm.io mountOptions: - hard - nfsvers=4.1 - sec=sys parameters: profile: "dp2" iops: "100" billingType: "hourly" # hourly or monthly encrypted: "false" uid: "3000" # The initial user identifier for the file share. gid: "1000" # The initial group identifier for the file share. classVersion: "1" reclaimPolicy: "Delete" allowVolumeExpansion: true -
Speichern Sie die folgende YAML-Datei in einer Datei namens
my-pvc.yaml.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: ibmc-vpc-file-custom-sc -
Erstellen Sie den PVC.
oc apply -f my-pvc.yaml -
Erstellen Sie einen Pod, der den PVC anhängt.
apiVersion: v1 kind: Pod metadata: name: security-context-demo spec: securityContext: runAsUser: 3000 runAsGroup: 1000 volumes: - name: sec-ctx-vol persistentVolumeClaim: claimName: my-pvc containers: - name: sec-ctx-demo image: busybox:1.28 command: [ "sh", "-c", "sleep 1h" ] volumeMounts: - name: sec-ctx-vol mountPath: /data/demo securityContext: allowPrivilegeEscalation: false -
Überprüfen Sie, ob der Pod läuft.
oc get pods
Einrichten der KMS-Verschlüsselung für File Storage for VPC
Verwenden Sie einen KMS-Anbieter (Key Management Service) wie IBM® Key Protect oder Hyper Protect Crypto Services, um einen privaten Root-Schlüssel zu erstellen, den Sie in Ihrer File Storage for VPC-Instanz verwenden, um Daten beim Schreiben in den Speicher zu verschlüsseln. Nachdem Sie den privaten Root-Schlüssel erstellt haben, erstellen Sie eine eigene Speicherklasse oder ein Kubernetes-Geheimnis mit Ihrem Root-Schlüssel und verwenden Sie diese Speicherklasse oder dieses Geheimnis anschließend zur Bereitstellung Ihrer File Storage for VPC-Instanz.
-
Erstellen Sie eine Instanz des KMS-Anbieters, den Sie verwenden möchten.
-
Erstellen Sie einen Root-Schlüssel in Ihrer KMS-Instanz.
- Key Protect-Rootschlüssel.
- Hyper Protect Crypto Services-Rootschlüssel. Der Rootschlüssel wird standardmäßig ohne Ablaufdatum erstellt.
-
Vervollständigen Sie die Voraussetzungen für die vom Kunden verwaltete Verschlüsselung und autorisieren Sie File Storage for VPC für den Zugriff auf IBM® Key Protect. Stellen Sie sicher, dass File Storage for VPC mindestens
ReaderZugriff auf Ihre KMS-Instanz hat. -
Erstellen Sie eine benutzerdefinierte Speicherklasse und geben Sie Ihre KMS-Details an.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: custom-sc-encrypted labels: app.kubernetes.io/name: ibm-vpc-file-csi-driver provisioner: vpc.file.csi.ibm.io mountOptions: - hard - nfsvers=4.1 - sec=sys parameters: profile: "dp2" billingType: "hourly" # hourly or monthly encrypted: "true" encryptionKey: "" # Specify the root key CRN. resourceGroup: "" # Resource group ID. By default, the resource group of the cluster will be used from storage-secrete-store secret. isENIEnabled: "true" # VPC File Share VNI feature will be used by all PVCs created with this storage class. securityGroupIDs: "" # By default cluster security group i.e kube-<clusterID> will be used. User can provide their own comma separated SGs. subnetID: "" # User can provide subnetID in which the VNI will be created. Zone and region are mandatory for this. If not provided CSI driver will use the subnetID available in the cluster's VPC zone. region: "" # VPC CSI driver will select a region from cluster node's topology. The user can override this default. zone: "" # VPC CSI driver will select a region from cluster node's topology. The user can override this default. primaryIPID: "" # Existing ID of reserved IP from the same subnet as the file share zone. Zone and region are mandatory for this. SubnetID is not mandatory for this. primaryIPAddress: "" # IPAddress for VNI to be created in the subnet of the zone. Zone, region and subnetID are mandatory for this. tags: "" # User can add a list of tags "a, b, c" that will be used at the time of provisioning file share, by default CSI driver has its own tags. uid: "0" # The initial user identifier for the file share, by default its root. gid: "0" # The initial group identifier for the file share, by default its root. classVersion: "1" reclaimPolicy: "Delete" allowVolumeExpansion: true -
Erstellen Sie die Speicherklasse.
oc apply -f encrypted-class.yaml -
Speichern Sie die folgende YAML-Datei in einer Datei namens
my-pvc.yaml.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: custom-sc-encrypted -
Erstellen Sie den PVC.
oc apply -f my-pvc.yaml -
Speichern Sie die folgende Implementierungskonfiguration in der Datei
deployment.yamlund referenzieren Sie den PVC, den Sie im vorherigen Schritt erstellt haben.apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment labels: app: my-deployment spec: selector: matchLabels: app: busybox template: metadata: labels: app: busybox spec: containers: - name: busybox image: busybox:1.28 command: [ "sh", "-c", "sleep 1h" ] volumeMounts: - name: my-vol mountPath: /data/demo # Mount path for the application. volumes: - name: my-vol persistentVolumeClaim: claimName: my-pvc # Your PVC name.volumeMounts.mountPath- Geben Sie im Abschnitt 'containers: volumeMounts' den absoluten Pfad des Verzeichnisses ein, an das der Datenträger im Container angehängt ist. Daten, die in den Mountpfad geschrieben werden, werden im Verzeichnis
rootin der physischen Instanz von File Storage for VPC gespeichert. Wenn Sie ein Volume für mehrere Anwendungen gemeinsam nutzen möchten, können Sie für jede Ihrer Anwendungen Volume-Unterpfade angeben. volumeMounts.name- Geben Sie im Abschnitt 'containers: volumeMounts' den Namen des Datenträgers an, der an Ihren Pod angehängt werden soll.
volume.name- Geben Sie im Abschnitt 'volumes' den Namen des Datenträgers ein, der an Ihren Pod angehängt werden soll. Dieser Name ist in der Regel mit
volumeMounts.nameidentisch.
-
Erstellen Sie die Implementierung.
oc apply -f deployment.yaml
Einrichten der Verschlüsselung während der Übertragung (EIT)
Informationen zum Einrichten der Verschlüsselung während der Übertragung für File Storage for VPC finden Sie unter „ Verschlüsselung während der Übertragung für IBM Cloud File Storage for VPC “. Dieses Thema umfasst sowohl zonale Dateifreigaben (dp2-Profil) als auch regionale Dateifreigaben (rfs-Profil, Beta).
Aktualisierung von Container-Ressourcenanforderungen und -Limits
Sie können die Anforderungen und Grenzwerte für CPU- und Speicherressourcen der Container anpassen, die im Add-on „ File Storage for VPC “ ausgeführt werden. Durch die Anpassung dieser Werte können Sie die Leistung in großen Clustern oder in Umgebungen mit begrenzten Ressourcen optimieren.
Die Parameter folgen dem Namensschema „ <ContainerName>CPULimit “, „ <ContainerName>CPURequest “, „ <ContainerName>MemoryLimit “ und „ <ContainerName>MemoryRequest “.
Wenden Sie diese auf die Container des Controllers und des Knotenservers an.
-
Bearbeiten Sie die ConfigMap „
addon-vpc-file-csi-driver-configmap“ und fügen Sie die Ressourcenparameter für die Container hinzu, die Sie anpassen möchten. Im folgenden Beispiel werden die CPU- und Speicherwerte für die Controller- und Knotenserver-Container festgelegt.oc edit cm addon-vpc-file-csi-driver-configmap -n kube-systemBeispielwerte:
controllerCPULimit: "200m" controllerCPURequest: "100m" controllerMemoryLimit: "256Mi" controllerMemoryRequest: "128Mi" nodeServerCPULimit: "200m" nodeServerCPURequest: "100m" nodeServerMemoryLimit: "256Mi" nodeServerMemoryRequest: "128Mi" -
Überprüfen Sie, ob die Änderungen an der Ressource erfolgreich übernommen wurden, indem Sie die ConfigMap „
file-csi-driver-status“ beschreiben. Halten Sie im Abschnitt „events“ Ausschau nach einer Veranstaltung von „Successfully set container resources“.oc describe cm file-csi-driver-status -n kube-systemBeispielausgabe:
events: ---- - description: Successfully set container resources event: Change container resources timestamp: "2026-06-26 08:32:05"
Begrenzen des Dateifreigabezugriffs nach Worker-Pool, Zone oder Workerknoten
Das Standardverhalten für File Storage for VPC Cluster-Add-on ist, dass Pods auf jedem Knoten auf Dateifreigaben zugreifen können. Sie können auch eine differenziertere Steuerung anwenden, wie Pods auf Ihre Dateifreigaben zugreifen. Sie können beispielsweise den Dateifreigabezugriff auf Pods auf einem bestimmten Knoten in einer bestimmten Zone in einem bestimmten Worker-Pool beschränken. In den folgenden Szenarios wird beschrieben, wie Sie den Pod-Zugriff auf Ihre Dateifreigaben konfigurieren können.
Wenn ein PVC erstellt wird, wird ein Dateifreigabeziel pro PVC erstellt und eine VNI-IP auf diesem Subnetz in der Zone reserviert. Dies bedeutet, dass die maximale Anzahl von PVCs für VPC-Dateispeicher von den verfügbaren IP-Adressen in diesem Teilnetz abhängt.
Wenn Sie die folgenden VNI-Funktionen verwenden, um den Pod-Zugriff auf Ihre Dateifreigaben zu begrenzen, ist Ihre App möglicherweise nicht hoch verfügbar.
Vorbereitende Schritte
Um den Dateifreigabezugriff nach Knoten, Zone oder Ressourcengruppe zu beschränken, müssen Sie zuerst eine angepasste VPC-Sicherheitsgruppe erstellen.
-
Listen Sie Ihre Cluster auf und notieren Sie sich die Cluster-ID, unter der Sie Dateispeicher bereitstellen wollen.
ibmcloud ks cluster ls -
Holen Sie sich die Details zu Ihrem Arbeitskräftepool.
ibmcloud ks worker-pool ls --cluster CLUSTER -
Holen Sie sich die Details Ihres Subnetzes.
ibmcloud ks worker-pool get WORKER_POOL --cluster CLUSTER | grep -A 3 Subnets -
Ermitteln Sie Ihre Subnetz-CIDRs. Wiederholen Sie diesen Schritt für jedes Subnetz. Sie verwenden diesen CIDR-Bereich später.
ibmcloud is subnet SUBNET_ID | grep "IPv4 CIDR" -
Listen Sie Ihre Sicherheitsgruppen auf und notieren Sie die ID
kube-<clusterID>der Sicherheitsgruppe für Ihren Cluster. Sie benötigen die Sicherheitsgruppen-ID später, wenn Sie Sicherheitsgruppenregeln hinzufügen.ibmcloud is sgBeispielausgabe
ID Name Rules Targets VPC Resource group r006-4aaec88f-4986-4b7c-a737-401f7fef1555 kube-clusterID 15 0 my-vpc default -
Erstellen Sie eine angepasste Sicherheitsgruppe in derselben VPC wie Ihr Cluster. Sie können diese Sicherheitsgruppe verwenden, um den Zugriff auf Ihre Dateifreigaben durch Hinzufügen von Sicherheitsgruppenregeln zu steuern.
ibmcloud is security-group-create my-custom-security-group VPC-ID -
Erstellen Sie Ihre eigene Speicherklasse und geben Sie die ID der angepassten Sicherheitsgruppe ein, die Sie zuvor erstellt haben. Alle aus dieser Speicherklasse erstellten PVCs befinden sich in Ihrer angepassten Sicherheitsgruppe.
-
Erstellen Sie ein PVC, das Ihre eigene Speicherklasse verwendet.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-custom-vni spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: "" # For example: my-custom-storage-class -
Nachdem der persistente Datenträger an den PVC gebunden wurde, rufen Sie die Details des persistenten Datenträgers ab und notieren Sie den Wert
nfsServerPath, um die VNI-IP-Adresse zu finden.kubectl get pv pvc-XXXX -o yaml | grep nfsServerPathBeispielausgabe
nfsServerPath: XXX.XX.XX.XXX:/XX # VNI IP address
Begrenzen des Dateifreigabezugriffs auf Pods auf einem Workerknoten
-
Vergewissern Sie sich, dass Sie die Voraussetzungen erfüllt haben.
-
Fügen Sie die folgende Regel zu der angepassten Sicherheitsgruppe hinzu, die Sie zuvor erstellt haben.
ibmcloud is sg-rulec CUSTOM-SG inbound tcp --port-min 111 --port-max 2049 --remote 10.240.0.20 # Worker node IP -
Fügen Sie die folgende Regel zur Sicherheitsgruppe
kube-clusterIDhinzu.ibmcloud is sg-rulec kube-<cluster-id> outbound tcp --port-min 111 --port-max 2049 --remote 10.240.0.10 # VNI IP -
Erstellen Sie eine Bereitstellung, die Ihren PVC verwendet. Nur Pods, die auf dem Workerknoten bereitgestellt werden, der der von Ihnen erstellten Regel entspricht, können den PVC anhängen oder verwenden. Pods, die auf anderen Knoten bereitgestellt werden, verbleiben im Containerstatus
creating.
Begrenzen des Dateifreigabezugriffs auf Pods auf Workerknoten in einer einzelnen Zone
-
Vergewissern Sie sich, dass Sie die Voraussetzungen erfüllt haben.
-
Fügen Sie die folgende Regel zu der angepassten Sicherheitsgruppe hinzu, die Sie zuvor erstellt haben.
ibmcloud is sg-rulec CUSTOM-SG inbound tcp --port-min 111 --port-max 2049 --remote 10.240.0.0/24 # zone subnet cidr range -
Fügen Sie die folgende Regel zur Sicherheitsgruppe
kube-clusterIDhinzu. Geben Sie die IP-Adresse der virtuellen Netzschnittstelle (VNI) an.ibmcloud is sg-rulec kube-<cluster-ID> outbound tcp --port-min 111 --port-max 2049 --remote 10.240.0.10 # VNI IP -
Erstellen Sie eine Bereitstellung, die Ihren PVC verwendet. Nur Pods, die in der Zone bereitgestellt werden, die in der vorherigen Regel aufgelistet ist, können den PVC anhängen. Pods, die in anderen Zonen bereitgestellt werden, können nicht auf den PVC zugreifen und verbleiben im Containerstatus
creating.
Begrenzen des Dateifreigabezugriffs auf Pods auf Workerknoten in einem einzelnen Worker-Pool
-
Vergewissern Sie sich, dass Sie die Voraussetzungen erfüllt haben.
-
Erstellen Sie eingehende Regeln für jeden Subnetzbereich des Worker-Pools.
ibmcloud is sg-rulec CUSTOM-SG inbound tcp --port-min 111 --port-max 2049 --remote 10.240.0.0/24 # zone 1 subnet cidr range ibmcloud is sg-rulec CUSTOM-SG inbound tcp --port-min 111 --port-max 2049 --remote 10.240.1.0/24 # zone 2 subnet cidr range -
Fügen Sie die folgende Regel zur Sicherheitsgruppe
kube-clusterIDhinzu. Geben Sie die IP-Adresse der virtuellen Netzschnittstelle (VNI) als ferne Schnittstelle oder Quelle an.ibmcloud is sg-rulec kube-<cluster-ID> outbound tcp --port-min 111 --port-max 2049 --remote 10.240.0.10 # VNI IP -
Stellen Sie eine App bereit, die das zuvor erstellte PVC verwendet. Nur Pods in den Worker-Pools, die in der vorherigen Regel angegeben wurden, können den PVC anhängen. Wenn Sie Ihre App in einem DaemonSet bereitstellen, werden Pods nur erfolgreich auf Workerknoten bereitgestellt, für die Sie Sicherheitsgruppenregeln erstellt haben. Pods in Worker-Pools, die sich nicht im angegebenen Worker-Pool befinden, schlagen mit dem Fehler
MountVolume.SetUp failed for volume "pvc-184b8c92-33ea-4874-b2ac-17665e53c060" : rpc error: code = DeadlineExceeded desc = context deadline exceededfehl.
Dateifreigabezugriff auf Pods auf Workerknoten in mehreren Worker-Pools beschränken
-
Vergewissern Sie sich, dass Sie die Voraussetzungen erfüllt haben.
-
Fügen Sie Ihrer benutzerdefinierten Sicherheitsgruppe die folgenden Regeln hinzu. Geben Sie die Worker-Pools und die Teilnetz-CIDR-Bereiche als ferne Quelle an.
ibmcloud is sg-rulec CUSTOM-SG inbound tcp --port-min 111 --port-max 2049 --remote 10.240.1.0/24 # worker pool 1, zone 1 subnet CIDR range ibmcloud is sg-rulec CUSTOM-SG inbound tcp --port-min 111 --port-max 2049 --remote 10.240.1.0/24 # worker pool 1, zone 2 subnet CIDR range ibmcloud is sg-rulec CUSTOM-SG inbound tcp --port-min 111 --port-max 2049 --remote 10.241.0.0/24 # worker pool 2, zone 1 subnet CIDR range ibmcloud is sg-rulec CUSTOM-SG inbound tcp --port-min 111 --port-max 2049 --remote 10.241.1.0/24 # worker pool 2, zone 2subnet CIDR range -
Fügen Sie die folgende Regel zur Sicherheitsgruppe
kube-<clusterID>hinzu. Geben Sie die IP-Adresse der virtuellen Netzschnittstelle (VNI) als ferne Schnittstelle oder Quelle an.ibmcloud is sg-rulec kube-<clusterID> outbound tcp --port-min 111 --port-max 2049 --remote 10.240.1.7 # VNI-IP -
Erstellen Sie eine Bereitstellung, die Ihren PVC verwendet. Nur Pods, die in der in der Regel angegebenen Zone bereitgestellt werden, können den PVC anhängen. Pods, die auf den eingeschränkten Workerknoten bereitgestellt werden, verbleiben im Containerstatus
creating.