Azure Elastic SAN Preview-kötetek Csatlakozás Azure Kubernetes Service-fürtre

Ez a cikk azt ismerteti, hogyan csatlakoztathat azure elastic storage area network (SAN) előzetes verziójú kötetet egy Azure Kubernetes Service-fürtből (AKS). A kapcsolat létrehozásához engedélyezze a Kubernetes iSCSI CSI-illesztőprogramját a fürtön. Ezzel az illesztőprogrammal elérheti a köteteket az Elastic SAN-on, ha állandó köteteket hoz létre az AKS-fürtön, majd csatolja az Elastic SAN-köteteket az állandó kötetekhez.

Tudnivalók az illesztőprogramról

Az iSCSI CSI-illesztő egy nyílt forráskód projekt, amely lehetővé teszi, hogy iSCSI-n keresztül csatlakozzon egy Kubernetes-fürthöz. Mivel az illesztőprogram egy nyílt forráskód projekt, a Microsoft nem nyújt támogatást az illesztőprogramból eredő problémákból.

A Kubernetes iSCSI CSI-illesztőprogramja elérhető a GitHubon:

Licencelés

A Kubernetes iSCSI CSI-illesztőprogramja Apache 2.0 licenccel rendelkezik.

Előfeltételek

Limitations

  • A dinamikus kiépítés jelenleg nem támogatott
  • Jelenleg csak ReadWriteOnce a hozzáférési mód támogatott

Első lépések

Illesztőprogram telepítése

curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-iscsi/master/deploy/install-driver.sh | bash -s master --

Az üzembe helyezés után ellenőrizze a podok állapotát, hogy az illesztőprogram telepítve van-e.

kubectl -n kube-system get pod -o wide -l app=csi-iscsi-node

Kötetinformációk lekérése

Szüksége van a kötet StorageTargetIQN, StorageTargetPortalHostName és StorageTargetPortalPort azonosítójára.

A következő Azure PowerShell-paranccsal szerezheti be őket:

Get-AzElasticSanVolume -ResourceGroupName $resourceGroupName -ElasticSanName $sanName -VolumeGroupName $searchedVolumeGroup -Name $searchedVolume 

A következő Azure CLI-paranccsal is beszerezheti őket:

az elastic-san volume show --elastic-san-name --name --resource-group --volume-group-name

Cluster configuration

Miután lekérte a kötet adatait, létre kell hoznia néhány yaml-fájlt az új erőforrásokhoz az AKS-fürtön.

Storageclass

A következő példában hozzon létre egy storageclass.yml fájlt. Ez a fájl határozza meg az állandó kötet tárosztályát.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: sanVolume
provisioner: manual

Állandó kötet

A tárolási osztály létrehozása után hozzon létre egy pv.yml fájlt. Ez a fájl határozza meg az állandó kötetet. Az alábbi példában cserélje le yourTargetPortala , yourTargetPortalPortés yourIQN a korábban összegyűjtött értékeket, majd a példában hozzon létre egy pv.yml fájlt. Ha több mint 1 gibibyte tárterületre van szüksége, és rendelkezésre áll, cserélje le 1Gi a szükséges tárterületre.

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: iscsiplugin-pv
  labels:
    name: data-iscsiplugin
spec:
  storageClassName: sanVolume
  accessModes:
    - ReadWriteOnce
  capacity:
    storage: 1Gi
  csi:
    driver: iscsi.csi.k8s.io
    volumeHandle: iscsi-data-id
    volumeAttributes:
      targetPortal: "yourTargetPortal:yourTargetPortalPort"
      portals: "[]"
      iqn: "yourIQN"
      lun: "0"
      iscsiInterface: "default"
      discoveryCHAPAuth: "true"
      sessionCHAPAuth: "false"

A pv.yml fájl létrehozása után hozzon létre egy állandó kötetet a következő paranccsal:

kubectl apply -f pathtoyourfile/pv.yaml

Állandó kötet jogcíme

Ezután hozzon létre egy állandó mennyiségi jogcímet. Használja a korábban definiált tárolási osztályt a definiált állandó kötettel. Az alábbiakban egy példa látható a pvc.yml fájl megjelenésére:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: iscsiplugin-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: sanVolume
  selector:
    matchExpressions:
      - key: name
        operator: In
        values: ["data-iscsiplugin"]

A pvc.yml fájl létrehozása után hozzon létre egy állandó mennyiségi jogcímet.

kubectl apply -f pathtoyourfile/pvc.yaml

A PersistentVolumeClaim létrehozásának és a PersistentVolume-hoz való kötésének ellenőrzéséhez futtassa a következő parancsot:

kubectl get pvc pathtoyourfile 

Végül hozzon létre egy podjegyzéket. Az alábbiakban egy példa látható a pod.yml fájl megjelenésére. Segítségével saját podjegyzéket készíthet, lecserélheti a , imageés mountPath a saját értékeitname:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
    - image: maersk/nginx
      imagePullPolicy: Always
      name: nginx
      ports:
        - containerPort: 80
          protocol: TCP
      volumeMounts:
        - mountPath: /var/www
          name: iscsi-volume
  volumes:
    - name: iscsi-volume
      persistentVolumeClaim:
        claimName: iscsiplugin-pvc

A pod.yml fájl létrehozása után hozzon létre egy podot.

kubectl apply -f pathtoyourfile/pod.yaml

A pod létrehozásának ellenőrzéséhez futtassa a következő parancsot:

kubectl get pods  

Ezzel sikeresen csatlakoztatott egy rugalmas SAN-kötetet az AKS-fürthöz.

Következő lépések

Rugalmas SAN-előzetes verzió üzembe helyezésének megtervezése