準備工作節點
Kubernetes叢集中的所有工作節點都必須能夠掛載您已為Pod配置的磁碟區。若要準備工作節點、您必須根據所選的驅動程式來安裝NFS或iSCSI工具。
選擇適當的工具
如果您使用的是驅動程式組合、則應該安裝NFS和iSCSI工具。
如果您使用的是: ontap-nas
、 ontap-nas-economy
、 ontap-nas-flexgroup
、 azure-netapp-files
、 gcp-cvs
如果您使用的是: ontap-san
、 ontap-san-economy
、 solidfire-san
最新版本的RedHat CoreOS預設會安裝NFS和iSCSI。 |
節點服務探索
Astra Trident會嘗試自動偵測節點是否能執行iSCSI或NFS服務。
節點服務探索可識別探索到的服務、但無法保證服務已正確設定。相反地、沒有探索到的服務並不保證磁碟區掛載會失敗。 |
Astra Trident會為節點建立事件、以識別探索到的服務。若要檢閱這些事件、請執行:
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
Astra Trident可識別Trident節點CR上每個節點所啟用的服務。若要檢視探索到的服務、請執行:
tridentctl get node -o wide -n <Trident namespace>
NFS磁碟區
使用作業系統的命令來安裝NFS工具。確保NFS服務在開機期間啟動。
sudo yum install -y nfs-utils
sudo apt-get install -y nfs-common
安裝NFS工具之後、請重新啟動工作節點、以避免將磁碟區附加至容器時發生故障。 |
iSCSI磁碟區
Astra Trident可自動建立iSCSI工作階段、掃描LUN、探索多重路徑裝置、將其格式化、並將其掛載至Pod。
iSCSI自我修復功能
對於支援此技術的系統、Astra Trident每五分鐘執行一次iSCSI自我修復、以便ONTAP :
-
*識別*所需的iSCSI工作階段狀態和目前的iSCSI工作階段狀態。
-
*比較*所需狀態與目前狀態、以識別所需的維修。Astra Trident決定了維修優先順序、以及何時預先排除維修。
-
執行必要的修復、以將目前的iSCSI工作階段狀態恢復至所需的iSCSI工作階段狀態。
自我修復活動記錄位於 trident-main 容器位於各自的Dempon Pod上。若要檢視記錄、您必須設定好 debug 在Astra Trident安裝期間達到「true」。
|
Astra Trident iSCSI自我修復功能有助於預防:
-
發生網路連線問題後、可能會發生過時或不正常的iSCSI工作階段。在過時的工作階段中、Astra Trident會在登出前等待七分鐘、重新建立與入口網站的連線。
例如、如果在儲存控制器上旋轉CHAP機密、而網路失去連線、則舊的(stal_)CHAP機密可能會持續存在。自我修復可辨識此情況、並自動重新建立工作階段、以套用更新的CHAP機密。 -
遺失iSCSI工作階段
-
遺失LUN
安裝iSCSI工具
使用適用於您作業系統的命令來安裝iSCSI工具。
-
Kubernetes叢集中的每個節點都必須具有唯一的IQN。這是必要的先決條件。
-
若搭配使用RMCOS 4.5或更新版本、或其他與RHEL相容的Linux套裝作業系統
solidfire-san
驅動程式和元素OS 12.5或更早版本、請確定CHAP驗證演算法已在中設定為MD5/etc/iscsi/iscsid.conf
。元素12.7提供安全的FIPS相容CHAP演算法SHA1、SHA-256和SHA3-256。sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
-
使用執行RHEL/RedHat CoreOS搭配iSCSI PV的工作節點時、請指定
discard
StorageClass中的掛載選項、以執行即時空間回收。請參閱 "RedHat文件"。
-
安裝下列系統套件:
sudo yum install -y lsscsi iscsi-initiator-utils sg3_utils device-mapper-multipath
-
檢查iscsite-initier-utils版本是否為6.6.0.874-2.el7或更新版本:
rpm -q iscsi-initiator-utils
-
將掃描設為手動:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
啟用多重路徑:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
確保 etc/multipath.conf
包含find_multipaths no
低於defaults
。 -
請確保如此
iscsid
和multipathd
執行中:sudo systemctl enable --now iscsid multipathd
-
啟用並啟動
iscsi
:sudo systemctl enable --now iscsi
-
安裝下列系統套件:
sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
-
檢查開放式iSCSI版本是否為2.0.874-5ubuntu2.10或更新版本(適用於雙聲網路)或2.0.874-7.1ubuntu6.1或更新版本(適用於焦點):
dpkg -l open-iscsi
-
將掃描設為手動:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
啟用多重路徑:
sudo tee /etc/multipath.conf <<-'EOF defaults { user_friendly_names yes find_multipaths no } EOF sudo systemctl enable --now multipath-tools.service sudo service multipath-tools restart
確保 etc/multipath.conf
包含find_multipaths no
低於defaults
。 -
請確保如此
open-iscsi
和multipath-tools
已啟用並執行:sudo systemctl status multipath-tools sudo systemctl enable --now open-iscsi.service sudo systemctl status open-iscsi
若為Ubuntu 18.04、您必須使用探索目標連接埠 iscsiadm
開始之前open-iscsi
以啟動iSCSI精靈。您也可以修改iscsi
服務開始iscsid
自動:
安裝iSCSI工具之後、請重新啟動工作節點、以避免將磁碟區附加至容器時發生故障。 |