Container Storage Interface (CSI) を使用してObject Storage Service (OSS) ボリュームをマウントすると、CSIコンポーネントはossfsを起動してOSSバケットをノードファイルシステムにマウントします。 CSI-pluginとcsi-provisionerを含むcsiコンポーネントのv1.30.4-* は、ossfsのデフォルトバージョンをアップグレードし、マウントプロセスを最適化しました。
変更と解決策
ossfsバージョンのアップグレード
v1.30.4-* では、csi-pluginとcsi-provisionerで使用されるossfsのデフォルトバージョンが1.91.3にアップグレードされます。 ossfsバージョンの詳細については、「ossfsバージョン」をご参照ください。 ossfsバージョン1.91以降の詳細については、「ossfs 1.91以降およびossfsパフォーマンスベンチマークの機能」をご参照ください。
それでもossfsバージョン1.88を使用する場合は、次の手順を実行します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[ストレージ] タブをクリックし、csi-pluginとcsi-provisionerコンポーネントを見つけ、2つのコンポーネントカードでそれぞれ [設定] をクリックし、2つのコンポーネントのFeatureGateを
UpdateOssfsVersion=false
に設定します。
ossfs名前空間をack-csi-fuseに切り替える
以前のバージョンでは、OSSバケットをマウントすると、CSIはkube-system名前空間の下にossfsポッドを自動的に作成します。 v1.30.4-* 以降、ossfsポッドが属する名前空間はack-csi-fuseに切り替えられます。
ポッドの名前空間の変更により、1.30.4-* より前のバージョンのOSSボリュームでサービスアカウント (RRAS) 認証のRAMロールを使用する場合、v1.30.4-* にアップグレードする前にRAMロールに権限を付与する必要があります。 そうしないと、新しいOSSボリュームをマウントするポッドは起動に失敗します。
以下の手順に従って、信頼ポリシーを変更します。
にログインします。RAMコンソールAlibaba Cloudアカウントを使用して
左側のナビゲーションウィンドウで、 .
[ロール] ページで、対応するRAMロールを検索し、ロール名をクリックし、[信頼ポリシー] タブをクリックします。 プロンプトに従って信頼ポリシーを編集します。
信頼ポリシーを変更するには、次の例を参照してください。 サンプルコードでは、
oidc:sub
のack-csi-fuse名前空間にServiceAccountを追加します。ロールのサンプル元の信頼ポリシー:
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:kube-system:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } } ], "Version": "1" }
変更された信頼ポリシー:
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:kube-system:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } }, { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "https://oidc-ack-cn-beijing.oss-cn-beijing.aliyuncs.com/c747b09ddd6664d33ad3939**********", "oidc:sub": "system:serviceaccount:ack-csi-fuse:csi-fuse-ossfs" } }, "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::130155**********:oidc-provider/ack-rrsa-c747b09ddd6664d33ad3939**********" ] } } ], "Version": "1" }
カスタムossfsイメージはサポートされなくなりました
CSI v1.30.4-* csiプラグインのConfigMapを使用したossfsイメージのカスタマイズをサポートしなくなりました。
注意事項
csi-pluginをv1.30.4-* 以降にアップグレードする前に、csi-provisionerの最新バージョンをインストールするか、csi-provisioner (マネージドまたはアンマネージド) をv1.30.4-* 以降にアップグレードします。
Container Service for Kubernetes (ACK) コンソールの [アドオン] ページからcsi-pluginをv1.30.4-* 以降にアップグレードすると、クラスターは自動的に新しいマウントプロセスを使用します。 OSSボリュームがマウントされている既存のポッドは、引き続き正常に実行されます。
参照
CSIコンポーネントの変更記録と説明については、「csi-plugin」および「csi-provisioner」をご参照ください。