2.2. CLI ツールの使用
virtctl コマンドラインツールを使用して、OpenShift Virtualization リソースを管理できます。
libguestfs コマンドラインツールを使用すると、仮想マシン (VM) のディスクイメージにアクセスして変更できます。libguestfs をデプロイするには、virtctl libguestfs コマンドを使用します。
2.2.1. virtctl のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) 9、Linux、Windows、および MacOS オペレーティングシステムに virtctl をインストールするには、virtctl バイナリーファイルをダウンロードしてインストールします。
RHEL 8 に virtctl をインストールするには、OpenShift Virtualization リポジトリーを有効にしてから、kubevirt-virtctl パッケージをインストールします。
2.2.1.1. RHEL 9、Linux、Windows、macOS への virtctl バイナリーのインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS Web コンソールからオペレーティングシステムの virtctl バイナリーをダウンロードしてインストールできます。
手順
-
Web コンソールの Virtualization
Overview ページに移動します。 -
Download virtctl リンクをクリックして、オペレーティングシステム用の
virtctlバイナリーをダウンロードします。 virtctlをインストールします。RHEL 9 およびその他の Linux オペレーティングシステムの場合:
アーカイブファイルを解凍します。
tar -xvf <virtctl-version-distribution.arch>.tar.gz
$ tar -xvf <virtctl-version-distribution.arch>.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
virtctlバイナリーを実行可能にします。chmod +x <path/virtctl-file-name>
$ chmod +x <path/virtctl-file-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow virtctlバイナリーをPATH環境変数内のディレクトリーに移動します。次のコマンドを実行して、パスを確認できます。
echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow KUBECONFIG環境変数を設定します。export KUBECONFIG=/home/<user>/clusters/current/auth/kubeconfig
$ export KUBECONFIG=/home/<user>/clusters/current/auth/kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Windows の場合:
- アーカイブファイルを展開します。
-
展開したフォルダー階層に移動し、
virtctl実行可能ファイルをダブルクリックしてクライアントをインストールします。 virtctlバイナリーをPATH環境変数内のディレクトリーに移動します。次のコマンドを実行して、パスを確認できます。
path
C:\> pathCopy to Clipboard Copied! Toggle word wrap Toggle overflow
macOS の場合:
- アーカイブファイルを展開します。
virtctlバイナリーをPATH環境変数内のディレクトリーに移動します。次のコマンドを実行して、パスを確認できます。
echo $PATH
echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.1.2. RHEL 8 への virtctl RPM のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Virtualization リポジトリーを有効にし、kubevirt-virtctl パッケージをインストールすることで、Red Hat Enterprise Linux (RHEL) 8 に virtctl RPM をインストールできます。
前提条件
- クラスター内の各ホストは Red Hat Subscription Manager (RHSM) に登録され、アクティブな Red Hat OpenShift Service on AWS サブスクリプションがある。
手順
subscription-managerCLI ツールを使用して次のコマンドを実行し、OpenShift Virtualization リポジトリーを有効にします。subscription-manager repos --enable cnv-4.20-for-rhel-8-x86_64-rpms
# subscription-manager repos --enable cnv-4.20-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
kubevirt-virtctlパッケージをインストールします。yum install kubevirt-virtctl
# yum install kubevirt-virtctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2. virtctl コマンド リンクのコピーリンクがクリップボードにコピーされました!
virtctl クライアントは、OpenShift Virtualization リソースを管理するためのコマンドラインユーティリティーです。
特に指定がない限り、仮想マシンコマンドは仮想マシンインスタンスにも適用されます。
2.2.2.1. virtctl 情報コマンド リンクのコピーリンクがクリップボードにコピーされました!
次の virtctl 情報コマンドを使用して、virtctl クライアントに関する情報を表示できます。
| コマンド | 説明 |
|---|---|
|
|
|
|
|
|
|
| 特定のコマンドのオプションのリストを表示します。 |
|
|
任意の |
2.2.2.2. 仮想マシン情報コマンド リンクのコピーリンクがクリップボードにコピーされました!
virtctl を使用すると、仮想マシンおよび仮想マシンインスタンス (VMI) に関する情報を表示できます。
| コマンド | 説明 |
|---|---|
|
| ゲストマシンで使用可能なファイルシステムを表示します。 |
|
| ゲストマシンのオペレーティングシステムに関する情報を表示します。 |
|
| ゲストマシンにログインしているユーザーを表示します。 |
2.2.2.3. 仮想マシンマニフェスト作成コマンド リンクのコピーリンクがクリップボードにコピーされました!
以下の virtctl create コマンドを使用して、仮想マシン、インスタンスタイプ、および設定のマニフェストを作成できます。
| コマンド | 説明 |
|---|---|
|
|
|
| 仮想マシンの名前を指定して、仮想マシンのマニフェストを作成します。 |
|
| cloud-init 設定を使用して仮想マシンマニフェストの作成、選択したユーザーの作成を行い、指定された文字列から SSH 公開鍵を追加するか、ファイルからパスワードを追加します。 |
|
| 選択したシークレットから注入されたユーザーとパスワードの組み合わせを使用して仮想マシンマニフェストを作成します。 |
|
| 選択したシークレットから注入された SSH 公開鍵を使用して仮想マシンマニフェストを作成します。 |
|
|
sysprep ボリュームとして使用する config map を指定して、仮想マシンマニフェストを作成します。config map には、 |
|
| 既存のクラスター全体のインスタンスタイプを使用する仮想マシンのマニフェストを作成します。 |
|
| 既存の namespaced 付きのインスタンスタイプを使用する仮想マシンのマニフェストを作成します。 |
|
| クラスター全体のインスタンスタイプのマニフェストを作成します。 |
|
| namespace 付きのインスタンスタイプのマニフェストを作成します。 |
|
| 設定の名前を指定して、クラスター全体の仮想マシン設定のマニフェストを作成します。 |
|
| namespace 付きの仮想マシン設定のマニフェストを作成します。 |
2.2.2.4. 仮想マシン管理コマンド リンクのコピーリンクがクリップボードにコピーされました!
以下の virtctl コマンドを使用して、仮想マシン (VM) および仮想マシンインスタンス (VMI) を管理および移行できます。
| コマンド | 説明 |
|---|---|
|
| 仮想マシンを開始します。 |
|
| 仮想マシンを一時停止状態で起動します。このオプションを使用すると、VNC コンソールからブートプロセスを中断できます。 |
|
| 仮想マシンを停止します。 |
|
| 仮想マシンを強制停止します。このオプションは、データの不整合またはデータ損失を引き起こす可能性があります。 |
|
| 仮想マシンを一時停止します。マシンの状態がメモリーに保持されます。 |
|
| 仮想マシンの一時停止を解除します。 |
|
| 仮想マシンを移行します。 |
|
| 仮想マシンの移行をキャンセルします。 |
|
| 仮想マシンを再起動します。 |
2.2.2.5. 仮想マシン接続コマンド リンクのコピーリンクがクリップボードにコピーされました!
次の virtctl コマンドを使用してポートを公開し、仮想マシン (VM) および仮想マシンインスタンス (VMI) に接続できます。
| コマンド | 説明 |
|---|---|
|
| 仮想マシンのシリアルコンソールに接続します。 |
|
| 仮想マシンの指定されたポートを転送するサービスを作成し、ノードの指定されたポートでサービスを公開します。
例: |
|
| マシンから仮想マシンにファイルをコピーします。このコマンドは、SSH 鍵ペアの秘密鍵を使用します。仮想マシンは公開鍵を使用して設定する必要があります。 |
|
| 仮想マシンからマシンにファイルをコピーします。このコマンドは、SSH 鍵ペアの秘密鍵を使用します。仮想マシンは公開鍵を使用して設定する必要があります。 |
|
| 仮想マシンとの SSH 接続を開きます。このコマンドは、SSH 鍵ペアの秘密鍵を使用します。仮想マシンは公開鍵を使用して設定する必要があります。 |
|
| 仮想マシンの VNC コンソールに接続します。
|
|
| ポート番号を表示し、VNC 接続を介してビューアーを使用して手動で VM に接続します。 |
|
| ポートが利用可能な場合、その指定されたポートでプロキシーを実行するためにポート番号を指定します。 ポート番号が指定されていない場合、プロキシーはランダムポートで実行されます。 |
2.2.2.6. 仮想マシンエクスポートコマンド リンクのコピーリンクがクリップボードにコピーされました!
virtctl vmexport コマンドを使用して、仮想マシン、仮想マシンスナップショット、または永続ボリューム要求 (PVC) からエクスポートされたボリュームを作成、ダウンロード、または削除できます。特定のマニフェストには、OpenShift Virtualization が使用できる形式でディスクイメージをインポートするためのエンドポイントへのアクセスを許可するヘッダーシークレットも含まれています。
| コマンド | 説明 |
|---|---|
|
|
仮想マシン、仮想マシンスナップショット、または PVC からボリュームをエクスポートするには、
|
|
|
|
|
|
オプション:
|
|
|
|
|
| 既存のエクスポートのマニフェストを取得します。マニフェストにはヘッダーシークレットが含まれていません。 |
|
| 仮想マシンサンプルの仮想マシンエクスポートを作成し、マニフェストを取得します。マニフェストにはヘッダーシークレットが含まれていません。 |
|
| 仮想マシンスナップショットの例の仮想マシンエクスポートを作成し、マニフェストを取得します。マニフェストにはヘッダーシークレットが含まれていません。 |
|
| 既存のエクスポートのマニフェストを取得します。マニフェストにはヘッダーシークレットが含まれています。 |
|
| 既存のエクスポートのマニフェストを json 形式で取得します。マニフェストにはヘッダーシークレットが含まれていません。 |
|
| 既存のエクスポートのマニフェストを取得します。マニフェストにはヘッダーシークレットが含まれており、指定されたファイルにそれを書き込みます。 |
2.2.2.7. ホットプラグおよびホットアンプラグコマンド リンクのコピーリンクがクリップボードにコピーされました!
次の virtctl コマンドを使用して、実行中の仮想マシン (VM) および仮想マシンインスタンス (VMI) にリソースを追加または削除できます。
| コマンド | 説明 |
|---|---|
|
| データボリュームまたは永続ボリューム要求 (PVC) をホットプラグします。 オプション:
|
|
| 仮想ディスクをホットアンプラグします。 |
2.2.2.8. イメージアップロードコマンド リンクのコピーリンクがクリップボードにコピーされました!
次の virtctl image-upload コマンドを使用して、仮想マシンイメージをデータボリュームにアップロードできます。
| コマンド | 説明 |
|---|---|
|
| VM イメージを既存のデータボリュームにアップロードします。 |
|
| 指定された要求されたサイズの新しいデータボリュームに VM イメージをアップロードします。 |
|
|
仮想マシンイメージを新しいデータボリュームにアップロードし、それに関連付けられた |
2.2.3. virtctl を使用した libguestfs のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
virtctl guestfs コマンドを使用して、libguestfs-tools および永続ボリューム要求 (PVC) がアタッチされた対話型コンテナーをデプロイできます。
手順
libguestfs-toolsでコンテナーをデプロイして PVC をマウントし、シェルを割り当てるには、以下のコマンドを実行します。virtctl guestfs -n <namespace> <pvc_name>
$ virtctl guestfs -n <namespace> <pvc_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC 名は必須の引数です。この引数を追加しないと、エラーメッセージが表示されます。
2.2.3.1. Libguestfs および virtctl guestfs コマンド リンクのコピーリンクがクリップボードにコピーされました!
Libguestfs ツールは、仮想マシン (VM) のディスクイメージにアクセスして変更するのに役立ちます。libguestfs ツールを使用して、ゲスト内のファイルの表示および編集、仮想マシンのクローンおよびビルド、およびディスクのフォーマットおよびサイズ変更を実行できます。
virtctl guestfs コマンドおよびそのサブコマンドを使用して、PVC で仮想マシンディスクを変更して検査し、デバッグすることもできます。使用可能なサブコマンドの完全なリストを表示するには、コマンドラインで virt- と入力して Tab を押します。以下に例を示します。
| コマンド | 説明 |
|---|---|
|
| ターミナルでファイルを対話的に編集します。 |
|
| ゲストに ssh 鍵を注入し、ログインを作成します。 |
|
| 仮想マシンによって使用されるディスク容量を確認します。 |
|
| 完全なリストを含む出力ファイルを作成して、ゲストにインストールされているすべての RPM の全リストを表示します。 |
|
|
ターミナルで |
|
| テンプレートとして使用する仮想マシンディスクイメージをシールします。 |
デフォルトでは、virtctl guestfs は、仮想ディスク管理に必要な項目を含めてセッションを作成します。ただし、動作をカスタマイズできるように、コマンドは複数のフラグオプションもサポートしています。
| フラグオプション | 説明 |
|---|---|
|
|
|
|
| 特定の namespace から PVC を使用します。
|
|
|
|
|
|
デフォルトでは、
クラスターに
設定されていない場合、 |
|
|
|
このコマンドは、PVC が別の Pod によって使用されているかどうかを確認します。使用されている場合には、エラーメッセージが表示されます。ただし、libguestfs-tools プロセスが開始されると、設定では同じ PVC を使用する新規 Pod を回避できません。同じ PVC にアクセスする仮想マシンを起動する前に、アクティブな virtctl guestfs Pod がないことを確認する必要があります。
virtctl guestfs コマンドは、インタラクティブな Pod に割り当てられている PVC 1 つだけを受け入れます。
2.2.4. Ansible の使用 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Virtualization 用の Ansible コレクションを使用するには、Red Hat Ansible Automation Hub (Red Hat Hybrid Cloud Console) を参照してください。