/etc/fstab にあるデバイスのマウントに失敗する
デフォルトでは、システムは /etc/fstab
を解析し、リストにあるすべてのデバイスを必要なマウント ポイントにマウントします。デバイスが認識されないか、マウントされないと、ワークロード Pod は準備完了状態になりません。
たとえば、Amazon EC2 の移行元 VM で永続性の保証がないエフェメラル ディスクを使用されているとします。こうしたディスクはターゲットにストリーミングされず、そのマウント時にコンテナでエラーが発生します。
この場合、次のようなメッセージが表示されます。
Unable to locate resolve [X] fstab entries: …
Error: Failed mount -o defaults /dev/mapper/mpathe-part /rootfs/mnt/ephemeral
この問題を回避するには、次のいずれかを行います。
- Linux VM で
/etc/fstab
を編集して、デバイスのマウント コマンドを削除します。 HC_INIT_SKIP_MOUNT_FAILURES
環境変数を設定し、マウントの失敗をスキップして続行するようにシステムを構成します。
HC_INIT_SKIP_MOUNT_FAILURES
環境変数を設定するには:
移行処理クラスタで、移行名前空間
v2k-system
に configmap を作成します。たとえば、jobs-config.yaml
という名前のファイルで configmap を定義します。apiVersion: v1 kind: ConfigMap metadata: name: jobs-config namespace: v2k-system data: environment: | HC_INIT_SKIP_MOUNT_FAILURES = true
configmap をクラスタに適用します。
kubectl apply -f jobs-config.yaml
次のコマンドを使用して、構成マップを表示します。
kubectl describe configmaps -n v2k-system
移行計画を編集して configmap を追加します。移行計画は、移行を作成したときに生成した yaml ファイルです。移行計画の編集の詳細については、移行計画のカスタマイズをご覧ください。
移行計画の
configs
セクションを編集して configmap を追加します。configs: jobsConfig: name: jobs-config
編集内容を保存してから、移行の実行の説明に従って移行を行います。