How does a Kubernetes cluster use Alibaba Cloud CSI storage components

Container Service ACK のコンテナストレージ機能は、Kubernetes ストレージシステムをベースとし、Alibaba Cloud のストレージサービスと深く統合され、EmptyDir、HostPath、Secret、ConfigMap などの Kubernetes ネイティブストレージサービスと完全に互換性があります。Community Container Storage Interface (CSI) に基づき、ACK は CSI プラグインをデプロイすることで Alibaba Cloud ストレージサービスへのアクセス機能を実現しています。Container Service ACK は、Pod が Alibaba Cloud クラウドディスク、NAS、OSS、CPFS、ローカルボリュームなどのストレージサービスを自動的にバインドすることをサポートします。各ストレージボリュームの主な機能とユースケースについては、ストレージ CSI 概要を参照してください。

前提条件

登録クラスターを作成し、自前の Kubernetes クラスターを登録クラスターに接続する必要があります。詳細については、Alibaba Cloud 登録クラスターの作成と自前の Kubernetes クラスターの接続を参照してください。
自前のクラスターで既に Alibaba Cloud ECS ノードが拡張されている必要があります。自前の Kubernetes クラスター向けに Alibaba Cloud ECS ノードを拡張する方法については、ハイブリッドクラスターの作成を参照してください。または、自前のクラスターが Alibaba Cloud ECS 上にデプロイされている必要があります。

注意事項
[注意]

Alibaba Cloud CSI ストレージコンポーネントは、Alibaba Cloud ECS ノード上でのみ実行をサポートします。自前の Kubernetes クラスター内の Alibaba Cloud ECS ノードには、ノードラベル alibabacloud.com/external=true を設定する必要があります。

自前のクラスターが Alibaba Cloud ECS 上にデプロイされている場合は、Alibaba Cloud ECS 上の自前の Kubernetes クラスターを ACK 登録クラスターに接続するを参照してください。
ローカルデータセンターの自前の Kubernetes クラスター向けに ACK 登録クラスターのノードプール機能を使用して Alibaba Cloud ECS ノードを拡張する場合、デフォルトで alibabacloud.com/external=true が設定されます。

ステップ 1 自前のクラスターの CSI コンポーネント向け RAM 権限の設定

登録クラスターに CSI コンポーネントをインストールする前に、アクセスクラスター内の AK にクラウドサービスへのアクセス権限を設定する必要があります。AK を設定する前に、RAM ユーザーを作成し、関連クラウドリソースへのアクセス権限を付与する必要があります。

RAM ユーザーを作成します。RAM ユーザーの作成方法の詳細については、RAM ユーザーの作成を参照してください。
権限ポリシーを作成します。権限ポリシーの作成手順の詳細については、カスタムポリシーの作成を参照してください。以下の通り RAM 権限を付与してください:
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:AttachDisk",
"ecs:DetachDisk",
"ecs:DescribeDisks",
"ecs:CreateDisk",
"ecs:ResizeDisk",
"ecs:CreateSnapshot",
"ecs:DeleteSnapshot",
"ecs:CreateAutoSnapshotPolicy",
"ecs:ApplyAutoSnapshotPolicy",
"ecs:CancelAutoSnapshotPolicy",
"ecs:DeleteAutoSnapshotPolicy",
"ecs:DescribeAutoSnapshotPolicyEX",
"ecs:ModifyAutoSnapshotPolicyEx",
"ecs:AddTags",
"ecs:DescribeTags",
"ecs:DescribeSnapshots",
"ecs:ListTagResources",
"ecs:TagResources",
"ecs:UntagResources",
"ecs:ModifyDiskSpec",
"ecs:CreateSnapshot",
"ecs:DeleteDisk",
"ecs:DescribeInstanceAttribute",
"ecs:DescribeInstances"
],
"Resource": [
"*"
],
"Effect": "Allow"
},
{
"Action": [
"nas:DescribeFileSystems",
"nas:DescribeMountTargets",
"nas:AddTags",
"nas:DescribeTags",
"nas:RemoveTags",
"nas:CreateFileSystem",
"nas:DeleteFileSystem",
"nas:ModifyFileSystem",
"nas:CreateMountTarget",
"nas:DeleteMountTarget",
"nas:ModifyMountTarget",
"nas:TagResources",
"nas:SetDirQuota",
"nas:EnableRecycleBin",
"nas:GetRecycleBinAttribute"
],
"Resource": [
"*"
],
"Effect": "Allow"
},
{
"Action": [
"oss:PutBucket",
"oss:GetObjectTagging",
"oss:ListBuckets",
"oss:PutBucketTags",
"oss:GetBucketTags",
"oss:PutBucketEncryption",
"oss:GetBucketInfo"
],
"Resource": [
"*"
],
"Effect": "Allow"
}
]
}
RAM ユーザーに権限を追加します。RAM ユーザーへの権限付与方法の詳細については、RAM ユーザーの権限付与を参照してください。
RAM ユーザー向けに AK を作成します。サブアカウント向けに AK を作成する方法については、AccessKey の取得を参照してください。
AK を使用して、自前の Kubernetes クラスターに alibaba-addon-secret という名前の Secret リソースを作成します。ステップ 2 でイベントセンター関連コンポーネントをインストールする際、この AK が自動的に参照され、対応するクラウドサービスリソースにアクセスします。
kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=' --from-literal='access-key-secret='
上記のコードを取得した AK 情報に置き換える必要があります。

ステップ 2 コンポーネントのインストールとアップグレード

CSI コンポーネントのインストール手順は以下の通りです:

Container Service コンソールにログインします。
2) コンソールの左ナビゲーションバーで、クラスターをクリックします。
3) クラスターリストページで、対象の登録クラスターページの右側にある詳細をクリックします。
4) クラスター詳細タブで、運用管理の下のコンポーネント管理をクリックします。
5) csi-provisioner と csi-plugin を見つけて、インストールをクリックします。
image.png

ステップ 3 CSI ストレージプラグインの使用

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.