10.5.3. CLI を使用したサービスの作成
コマンドラインを使用して、サービスを作成し、それを仮想マシンに関連付けることができます。
前提条件
- サービスをサポートするようにクラスターネットワークを設定しました。
-
OpenShift CLI (
oc) がインストールされている。
手順
VirtualMachineマニフェストを編集して、サービス作成のラベルを追加します。special: keyをspec.template.metadata.labelsスタンザに追加します。apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: example-vm namespace: example-namespace spec: runStrategy: Halted template: metadata: labels: special: key # ...注記仮想マシンのラベルは Pod に渡されます。
special: keyラベルは、Serviceマニフェストのspec.selector属性のラベルと一致する必要があります。-
VirtualMachineマニフェストファイルを保存して変更を適用します。 仮想マシンを公開するための
Serviceマニフェストを作成します。apiVersion: v1 kind: Service metadata: name: example-service namespace: example-namespace spec: # ... selector: special: key type: NodePort ports: protocol: TCP port: 80 targetPort: 9376 nodePort: 30000-
spec.selectorは、VirtualMachineマニフェストのspec.template.metadata.labelsスタンザに追加したラベルを定義します。 -
spec.typeは、サービスが公開される方法によってサービスのタイプを定義します。ClusterIP、NodePort、またはLoadBalancerのいずれかを選択します。 -
spec.portsは、仮想マシンから公開するネットワークポートとプロトコルのコレクションを定義します。
-
-
Serviceマニフェストファイルを保存します。 以下のコマンドを実行してサービスを作成します。
$ oc create -f example-service.yaml- 仮想マシンを再起動して変更を適用します。
検証
Serviceオブジェクトをクエリーし、これが利用可能であることを確認します。$ oc get service -n example-namespace