7.5.4.2.4. 使用命令行创建服务
您可以使用命令行创建服务并将其与虚拟机 (VM) 关联。
先决条件
- 您已将集群网络配置为支持该服务。
流程
编辑
VirtualMachine清单,为创建服务添加标签。在spec.template.metadata.labels小节中添加special: key:apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: example-vm namespace: example-namespace spec: running: false 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