検索

7.3. 仮想マシンコンソールへの接続

download PDF

次のコンソールに接続して、実行中の仮想マシンにアクセスできます。

7.3.1. VNC コンソールへの接続

OpenShift Container Platform Web コンソールまたは virtctl コマンドラインツールを使用して、仮想マシンの VNC コンソールに接続できます。

7.3.1.1. Web コンソールを使用した VNC コンソールへの接続

OpenShift Container Platform Web コンソールを使用して、仮想マシンの VNC コンソールに接続できます。

注記

vGPU が仲介デバイスとして割り当てられている Windows 仮想マシンに接続すると、デフォルトの表示と vGPU 表示を切り替えることができます。

手順

  1. Virtualization VirtualMachines ページで仮想マシンをクリックして、VirtualMachine details ページを開きます。
  2. Console タブをクリックします。VNC コンソールセッションが自動的に開始します。
  3. オプション: Windows 仮想マシンの vGPU 表示に切り替えるには、Send key リストから Ctl + Alt + 2 を選択します。

    • デフォルトの表示に戻すには、Send key リストから Ctl + Alt + 1 を選択します。
  4. コンソールセッションを終了するには、コンソールペインの外側をクリックし、Disconnect をクリックします。

7.3.1.2. virtctl を使用した VNC コンソールへの接続

virtctl コマンドラインツールを使用して、実行中の仮想マシンの VNC コンソールに接続できます。

注記

SSH 接続経由でリモートマシン上で virtctl vnc コマンドを実行する場合は、-X フラグまたは -Y フラグを指定して ssh コマンドを実行して、X セッションをローカルマシンに転送する必要があります。

前提条件

  • virt-viewer パッケージをインストールする必要があります。

手順

  1. 次のコマンドを実行して、コンソールセッションを開始します。

    $ virtctl vnc <vm_name>
  2. 接続に失敗した場合は、次のコマンドを実行してトラブルシューティング情報を収集します。

    $ virtctl vnc <vm_name> -v 4

7.3.1.3. VNC コンソールの一時トークンの生成

Kubernetes API が仮想マシン (VM) の VNC にアクセスするための一時的な認証ベアラートークンを生成します。

注記

Kubernetes は、curl コマンドを変更することで、ベアラートークンの代わりにクライアント証明書を使用した認証もサポートします。

前提条件

  • OpenShift Virtualization 4.14 以降および ssp-Operator 4.14 以降を搭載した仮想マシンが稼働している。

手順

  1. HyperConverged (HCO) カスタムリソース (CR) の機能ゲートを有効にします。

    $ oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op": "replace", "path": "/spec/featureGates/deployVmConsoleProxy", "value": true}]'
  2. 次のコマンドを入力してトークンを生成します。

    $ curl --header "Authorization: Bearer ${TOKEN}" \
         "https://api.<cluster_fqdn>/apis/token.kubevirt.io/v1alpha1/namespaces/<namespace>/virtualmachines/<vm_name>/vnc?duration=<duration>"

    <duration> パラメーターは時間と分で設定でき、最小期間は 10 分です。たとえば、5h30m です。このパラメーターが設定されていない場合、トークンはデフォルトで 10 分間有効です。

    出力サンプル

    { "token": "eyJhb..." }
  3. オプション: 出力で提供されたトークンを使用して変数を作成します。

    $ export VNC_TOKEN="<token>"

これで、トークンを使用して、仮想マシンの VNC コンソールにアクセスできるようになります。

検証

  1. 次のコマンドを入力してクラスターにログインします。

    $ oc login --token ${VNC_TOKEN}
  2. virtctl コマンドを使用して、仮想マシンの VNC コンソールへのアクセスをテストします。

    $ virtctl vnc <vm_name> -n <namespace>
警告

現在、特定のトークンを取り消すことはできません。

トークンを取り消すには、トークンの作成に使用したサービスアカウントを削除する必要があります。ただし、これにより、サービスアカウントを使用して作成された他のすべてのトークンも取り消されます。次のコマンドは注意して使用してください。

$ virtctl delete serviceaccount --namespace "<namespace>" "<vm_name>-vnc-access"
7.3.1.3.1. クラスターロールを使用して VNC コンソールにトークン生成権限を付与する

クラスター管理者は、クラスターロールをインストールし、それをユーザーまたはサービスアカウントにバインドして、VNC コンソールのトークンを生成するエンドポイントへのアクセスを許可できます。

手順

  • クラスターロールをユーザーまたはサービスアカウントにバインドすることを選択します。

    • クラスターロールをユーザーにバインドするには、次のコマンドを実行します。

      $ kubectl create rolebinding "${ROLE_BINDING_NAME}" --clusterrole="token.kubevirt.io:generate" --user="${USER_NAME}"
    • 以下のコマンドを実行してクラスターロールをサービスアカウントにバインドします。

      $ kubectl create rolebinding "${ROLE_BINDING_NAME}" --clusterrole="token.kubevirt.io:generate" --serviceaccount="${SERVICE_ACCOUNT_NAME}"

7.3.2. シリアルコンソールへの接続

OpenShift Container Platform Web コンソールまたは virtctl コマンドラインツールを使用して、仮想マシンのシリアルコンソールに接続できます。

注記

単一の仮想マシンに対する同時 VNC 接続の実行は、現在サポートされていません。

7.3.2.1. Web コンソールを使用したシリアルコンソールへの接続

OpenShift Container Platform Web コンソールを使用して、仮想マシンのシリアルコンソールに接続できます。

手順

  1. Virtualization VirtualMachines ページで仮想マシンをクリックして、VirtualMachine details ページを開きます。
  2. Console タブをクリックします。VNC コンソールセッションが自動的に開始します。
  3. Disconnect をクリックして、VNC コンソールセッションを終了します。それ以外の場合、VNC コンソールセッションは引き続きバックグラウンドで実行されます。
  4. コンソールリストから Serial console を選択します。
  5. コンソールセッションを終了するには、コンソールペインの外側をクリックし、Disconnect をクリックします。

7.3.2.2. virtctl を使用したシリアルコンソールへの接続

virtctl コマンドラインツールを使用して、実行中の仮想マシンのシリアルコンソールに接続できます。

手順

  1. 次のコマンドを実行して、コンソールセッションを開始します。

    $ virtctl console <vm_name>
  2. Ctrl+] を押してコンソールセッションを終了します。

7.3.3. デスクトップビューアーに接続する

デスクトップビューアーとリモートデスクトッププロトコル (RDP) を使用して、Windows 仮想マシンに接続できます。

7.3.3.1. Web コンソールを使用したデスクトップビューアーへの接続

OpenShift Container Platform Web コンソールを使用して、Windows 仮想マシンのデスクトップビューアーに接続できます。

前提条件

  • QEMU ゲストエージェントが Windows 仮想マシンにインストールされている。
  • RDP クライアントがインストールされている。

手順

  1. Virtualization VirtualMachines ページで仮想マシンをクリックして、VirtualMachine details ページを開きます。
  2. Console タブをクリックします。VNC コンソールセッションが自動的に開始します。
  3. Disconnect をクリックして、VNC コンソールセッションを終了します。それ以外の場合、VNC コンソールセッションは引き続きバックグラウンドで実行されます。
  4. コンソールのリストから Desktop viewer を選択します。
  5. RDP サービスの作成 をクリックして、RDP サービス ダイアログを開きます。
  6. Expose RDP Service を選択し、Save をクリックしてノードポートサービスを作成します。
  7. Launch Remote Desktop をクリックして .rdp ファイルをダウンロードし、デスクトップビューアーを起動します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.