Kubernetes クラスターにボリュームがマウントされない場合にはどうすればよいですか ?

flexvolume プラグインがインストールがされているか確認します。

マスターノードで次のコマンドを実行します。

# kubectl get pod -n kube-system | grep flexvolume

flexvolume-4wh8s            1/1       Running   0          8d
flexvolume-65z49            1/1       Running   0          8d
flexvolume-bpc6s            1/1       Running   0          8d
flexvolume-l8pml            1/1       Running   0          8d
flexvolume-mzkpv            1/1       Running   0          8d
flexvolume-wbfhv            1/1       Running   0          8d
flexvolume-xf5cs            1/1       Running   0          8d

flexvolume プラグインがインストールされている場合、 flexvolume ポッドが稼働しているかどうか、および稼働中のポッド数がノード数と同じであることを確認します。

flexvolume プラグインがインストールされていない場合、「プラグインのインストール」 をご参照ください。

flexvolume プラグインポッドが稼働していない場合、さらなる原因を分析するため、プラグインの稼働ログを確認します。

動的ストレージプラグインがインストールされているか確認します。

クラウドディスクの動的ストレージ機能を使用するには、動的ストレージプラグインをインストールする必要があります。 次のコマンドを実行し、動的ストレージプラグインがインストールされているかどうかを確認します。

# kubectl get pod -n kube-system | grep alicloud-disk

alicloud-disk-controller-8679c9fc76-lq6zb     1/1 Running   0   7d

動的ストレージプラグインがインストールされていない場合、「プラグインのインストール」をご参照ください。

ポッドが稼働していない場合、さらなる原因を分析するため、プラグインの稼働ログを確認します。

ストレージログを表示するにはどうすればよいですか ?

マスター 1ノードでコマンドを実行し、flexvolume ログを表示します。

get コマンドを実行し、次のようなエラーポッドを表示します。
# kubectl get pod -n kube-system | grep flexvolume
log コマンドを実行し、次のようなエラーポッドのログを表示します。
# kubectl logs flexvolume-4wh8s -n kube-system
# kubectl describe pod flexvolume-4wh8s -n kube-system

#The last several lines of the pod description describe the status of the pod. You can analyze errors according to the status of the pod.
クラウドディスク、NAS、OSS のドライバーログを表示します。
# View the persistent logs on the host node.
# If a volume cannot be mounted to a pod, run the following command to view the address of the node where the pod resides:

# kubectl describe pod nginx-97dc96f7b-xbx8t | grep Node
Node: cn-hangzhou.i-bp19myla3uvnt6zihejb/192.168.247.85
Node-Selectors:  <none>

# Log on to the node to view logs.

# ssh 192.168.247.85
# ls /var/log/alicloud/flexvolume*
flexvolume_disk.log  flexvolume_nas.log  flexvolume_o#ss.log

The logs mounted to the cloud disk, NAS, and OSS are displayed.

マスター 1ノードで次のコマンドを実行し、プロビジョナープラグインログを表示します。

get コマンドを実行し、次のようなエラーポッドを表示します。
# kubectl get pod -n kube-system | grep alicloud-disk
log コマンドを実行し、次のようなエラーポッドのログを表示します。
# kubectl logs alicloud-disk-controller-8679c9fc76-lq6zb -n kube-system
# kubectl describe pod alicloud-disk-controller-8679c9fc76-lq6zb -n kube-system

#The last several lines of the pod description describe the status of the pod. You can analyze errors according to the status of the pod.

kubelet ログを表示します。

# If a volume cannot be mounted to a pod, run the following command to view the address of the node where the pod resides:

# kubectl describe pod nginx-97dc96f7b-xbx8t | grep Node
Node: cn-hangzhou.i-bp19myla3uvnt6zihejb/192.168.247.85
Node-Selectors:  <none>

# Log on to the node to view kubelet logs:

# ssh 192.168.247.85
# journalctl -u kubelet -r -n 1000 &> kubelet.log

# The value of -n indicates the number of log lines that you expect to display.

上述のコンテンツは、flexvolume、provsioner、kubelet 上で発生したエラーのログを取得する方法を説明しています。 ログに従ってエラーを修正することができない場合、さらなるコンサルティングのために、ログ情報を添付してチケットを起票することを推奨します。

クラウドディスクボリュームに関する FAQ

クラスターへのクラウドディスクのマウントに失敗し、タイムアウトエラーが表示される場合にはどうすればよいですか ?

クラスターノードが手動で追加された場合に、STS 権限不足によりこの問題が発生することがあります。 RAM 権限の手動設定を推奨します。 詳細については、「コンソールでのインスタンス RAM ロールの使用」をご参照ください。

クラスターへのクラウドディスクのマウントに失敗し、サイズエラーが表示される場合にはどうすればよいですか ?

作成したクラウドディスクのタイプによっては、次の要件を満たしていることを確認する必要があります。

  • ベーシッククラウドディスクの最小容量は 5GiB
  • ウルトラディスクの最小容量は 20GiB
  • SSD ディスクの最小容量は 20GiB

クラスターへのクラウドディスクのマウントに失敗し、ゾーンエラーが表示される場合にはどうすればよいですか ?

Kubernetes クラスターにクラウドディスクをマウントするには、 Kubernetes クラスターが使用する ECS インスタンスと同じ領域とゾーンに存在するクラウドディスクを選択する必要があります。

システムアップグレード後、クラウドディスクによる入出力エラーが表示される場合にはどうすればよいですか ?

  1. flexvolume を v1.9.7-42e8198 またはそれ以降のバージョンにアップグレードします。
  2. 障害のあるポッドを再作成します。

次のコマンドを実行し、flexvolume をアップグレードします。

# kubectl set image daemonset/flexvolume acs-flexvolume=registry.cn-hangzhou.aliyuncs.com/acs/flexvolume:v1.9.7-42e8198 -n kube-system

最新バージョンの flexvolume を入手するには、Container Registry コンソールにログインし、左側のナビゲーションウィンドウにある [検索] をクリックし、"acs/flexvolume" を検索します。

NAS ボリュームに関する FAQ

Kubernetes クラスターへの NAS ファイルシステムのマウントに長時間かかる場合にはどうすればよいですか ?

NAS ファイルシステムが大量のデータを保持し、マウントテンプレート内に "chmod" パラメーターを設定している場合、この問題が発生することがあります。 "chmod" パラメーター設定の削除を推奨します。

Kubernetes クラスターへの NAS ファイルシステムのマウントに失敗し、タイムアウトエラーが表示される場合にはどうすればよいですか ?

NAS のマウントポイントとクラスターが同じ VPC 上であることを確認します。 同じでない場合、NAS ファイルシステムはクラスターにマウントされません。

OSS ボリュームに関する FAQ

Kubernetes クラスターへの OSS バケットのマウントに失敗した場合にはどうすればよいですか ?
  • 送信された Access Key が有効かどうかを確認します。

  • OSS バケットのマウントに使用される URL がネットワーク経由でアクセス可能かどうか確認します。

クラスターのアップグレード後、コンテナ内の OSS マウントディレクトリが利用不可になる場合にはどうすればよいですか ?

Kubernetes のアップグレード、あるいは kubelet の再起動を実施した場合、コンテナネットワークが再起動するため、ossfs プロセスが再起動します。

ossfs プロセスの再起動後、ホストからコンテナディレクトリへのマッピングは無効になります。 この場合、コンテナを再起動するか、ポッドを再作成する必要があります。

このような問題が発生したときコンテナやポッドが自動的に再起動できるように、ヘルスチェック用 Liveness プローブ の設定を推奨します。 詳細については、「永続ボリュームとして Alibaba Cloud OSS バケットを使用する」をご参照ください。