11.8.2. CLI コマンドの使用による仮想マシンコンソールへのアクセス
11.8.2.1. virtctl を使用して SSH 経由で仮想マシンにアクセスする リンクのコピーリンクがクリップボードにコピーされました!
virtctl ssh コマンドを使用して、ローカル SSH クライアントを使用して SSH トラフィックを仮想マシン (VM) に転送できます。仮想マシンで SSH キー認証を設定している場合は、手順 1 は必要ないため、手順 2 に進んでください。
コントロールプレーンの SSH トラフィックが多いと、API サーバーの速度が低下する可能性があります。定期的に多数の接続が必要な場合は、専用の Kubernetes Service オブジェクトを使用して仮想マシンにアクセスします。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
virtctlクライアントをインストールしました。 - アクセスする仮想マシンが実行されています。
- 仮想マシンと同じプロジェクトにいます。
手順
SSH キー認証を設定します。
ssh-keygenコマンドを使用して、SSH 公開鍵ペアを生成します。$ ssh-keygen -f <key_file>1 - 1
- キーを格納するファイルを指定します。
仮想マシンにアクセスするための SSH 公開鍵を含む SSH 認証シークレットを作成します。
$ oc create secret generic my-pub-key --from-file=key1=<key_file>.pubVirtualMachineマニフェストにシークレットへの参照を追加します。以下に例を示します。apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: testvm spec: running: true template: spec: accessCredentials: - sshPublicKey: source: secret: secretName: my-pub-key1 propagationMethod: configDrive: {}2 # ...- 仮想マシンを再起動して変更を適用します。
SSH 経由で仮想マシンに接続します。
次のコマンドを実行して、SSH 経由で仮想マシンにアクセスします。
$ virtctl ssh -i <key_file> <vm_username>@<vm_name>オプション: 仮想マシンとの間でファイルを安全に転送するには、次のコマンドを使用します。
マシンから仮想マシンにファイルをコピーする
$ virtctl scp -i <key_file> <filename> <vm_username>@<vm_name>:仮想マシンからマシンにファイルをコピーする
$ virtctl scp -i <key_file> <vm_username@<vm_name>:<filename> .