このトピックでは、ローカルディスクを使用するElastic Compute Service(ECS)インスタンスタイプを指定してElastic Container Instance(ECI)ポッドを作成する方法について説明します。
サポートされているインスタンスファミリ
ローカルディスクは、ディスクが接続されているエラスティックコンテナインスタンスと同じ物理サーバー上にあります。ローカルディスクは費用対効果が高く、高いランダムIOPS、高いスループット、および低レイテンシを提供します。ローカルディスクは単一の物理サーバー上に存在するため、単一障害点(SPOF)のリスクが高まります。詳細については、ローカルディスクを参照してください。
ローカルディスクは単一の物理サーバー上に存在するため、SPOFのリスクが高まります。ローカルディスクに保存されているデータの耐久性は、関連付けられている物理サーバーの信頼性によって決まります。詳細については、ローカルディスクの制限を参照してください。
エラスティックコンテナインスタンスの作成には、ローカルディスクを搭載した以下のECSインスタンスファミリを使用できます。
カテゴリ | インスタンスファミリ |
ローカルSSD搭載インスタンスファミリ | i4、i4g、i3、i3g、i2、およびi2g |
ビッグデータインスタンスファミリ | d1 |
ネットワークパフォーマンスが強化されたビッグデータインスタンスファミリ | d1ne |
GPUアクセラレーションコンピューティング最適化インスタンスファミリ | gn5 |
gn5はGPUアクセラレーションインスタンスファミリです。このインスタンスファミリを選択する場合は、ローカルディスク関連のパラメーターに加えて、GPU関連のパラメーターを指定する必要があります。
ECSインスタンスファミリの詳細については、以下のトピックを参照してください。
構成
PodメタデータにKubernetes.aliyun.com/eci-use-specsアノテーションを追加することで、ローカルディスクを使用するECSインスタンスタイプを指定できます。ローカルディスクをマウントする際に、EmptyDirの下でmediumパラメーターをLocalRaid0に設定することで、ディスクをRAID 0構成で使用し、指定したパスにマウントできます。
例:
以下のコマンドを実行して、ローカルディスクを使用するECSインスタンスタイプを指定してPodを作成します。
kubectl create -f localdisk-test.yaml次のコードは、YAML形式の例を示しています。
apiVersion: apps/v1 kind: Deployment metadata: name: localdisk-test labels: app: test spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: name: nginx-test labels: app: nginx alibabacloud.com/eci: "true" annotations: k8s.aliyun.com/eci-use-specs: "ecs.i2g.2xlarge,ecs.i2.xlarge" # 最大5つのローカルディスクを使用するECSインスタンスタイプを指定します。 spec: containers: - name: nginx image: registryc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2 ports: - containerPort: 80 volumeMounts: - name: localdisk mountPath: /localdisk-test volumes: # ローカルディスクをマウントします。 - name: localdisk emptyDir: medium: LocalRaid0マウントされたローカルディスクに関する情報を表示します。
Podが作成された後、Pod情報を表示します。ローカルディスク用にRAID 0構成(
/dev/md0)が生成され、ディスクが指定されたパス(以下の例では/localdisk-test)にマウントされていることがわかります。