9.6.4.2.4. CLI を使用したサービスの作成
コマンドラインを使用して、サービスを作成し、それを仮想マシンに関連付けることができます。
前提条件
- サービスをサポートするようにクラスターネットワークを設定しました。
-
OpenShift CLI (
oc) がインストールされている。
手順
仮想マシンのマニフェストを編集して、サービス作成用のラベルを追加します。spec.template.metadata.labelsスタンザにspecial: keyを追加します。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