このトピックでは、ローカルディスクを使用する Elastic Compute Service (ECS) インスタンスタイプを指定して Elastic Container Instance (ECI) Pod を作成する方法について説明します。
サポートされるインスタンスファミリー
ローカルディスクは、インスタンスが配置されている物理マシン上のローカルハードドライブです。ローカルディスクは、低レイテンシー、高いランダム IOPS (1 秒あたりの入出力操作数)、高スループット、そして優れたコストパフォーマンスを提供します。ただし、ローカルディスクは単一の物理マシンの一部であるため、単一障害点の影響を受けやすくなります。詳細については、「ローカルディスク」をご参照ください。
ローカルディスクは単一の物理マシンの一部です。そのため、データ信頼性はその物理マシンの信頼性に依存し、単一障害点のリスクが生じます。詳細については、「ローカルディスクに関する注意事項」をご参照ください。
ローカルディスクを備えた、サポート対象の ECS インスタンスファミリーは次のとおりです:
カテゴリ | インスタンスファミリー |
ローカル SSD | i4, i4g, i3, i3g, i2, i2g |
ビッグデータ | d1 |
ネットワーク拡張型ビッグデータ | d1ne |
GPU アクセラレーションコンピューティング最適化 | gn5 |
gn5 は GPU アクセラレーションインスタンスタイプです。このインスタンスファミリーを選択する場合、ローカルディスク関連のパラメーターに加えて、GPU 関連のパラメーターも指定する必要があります。
ECS インスタンスタイプの詳細については、次のトピックをご参照ください:
設定
Pod のメタデータに k8s.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" # ローカルディスクを備えた、サポート対象の ECS インスタンスタイプを指定します。最大 5 つのインスタンスタイプを指定できます。 spec: containers: - name: nginx image: registry.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) にマウントされていることが確認できます。xxx:~$ kubectl get pod NAME READY STATUS RESTARTS AGE localdisk-test-5f8c979c48-j4bkj 1/1 Running 0 76s xxx:~$ kubectl exec -it localdisk-test-5f8c979c48-j4bkj -- bash root@localdisk-test-5f8c979c48-j4bkj:/# df -h Filesystem Size Used Avail Use% Mounted on overlay 30G 4.1G 26G 14% / tmpfs 64M 0 64M 0% /dev tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/md0 879G 77M 835G 1% /localdisk-test /dev/vda4 30G 4.1G 26G 14% /etc/hosts overlay 8.8G 4.9G 3.5G 59% /etc/hostname shm 64M 0 64M 0% /dev/shm tmpfs 32G 12K 32G 1% /run/secrets/kubernetes.io/serviceaccount tmpfs 16G 0 16G 0% /proc/acpi tmpfs 16G 0 16G 0% /sys/firmware