All Policies
Add Services
Add an SSH Service to every VirtualMachineInstance which is getting created. This Service will use a ClusterIP, thus the admin has to ensure that the IP space is large enough and ClusterIP type can be met.
Policy Definition
/kubevirt/add-services/add-services.yaml
1apiVersion: kyverno.io/v1
2kind: ClusterPolicy
3metadata:
4 name: k6t-add-services
5 annotations:
6 policies.kyverno.io/title: Add Services
7 policies.kyverno.io/category: KubeVirt
8 policies.kyverno.io/subject: VirtualMachineInstance
9 policies.kyverno.io/description: >-
10 Add an SSH Service to every VirtualMachineInstance which is getting created.
11 This Service will use a ClusterIP, thus the admin has to ensure that the IP
12 space is large enough and ClusterIP type can be met.
13 kyverno.io/kyverno-version: "1.8.0-rc2"
14 kyverno.io/kubernetes-version: "1.24-1.25"
15spec:
16 background: false
17 rules:
18 - name: k6t-add-service-ssh
19 match:
20 any:
21 - resources:
22 kinds:
23 - VirtualMachineInstance
24 generate:
25 apiVersion: v1
26 kind: Service
27 name: "{{request.object.metadata.name}}"
28 namespace: "{{request.object.metadata.namespace}}"
29 synchronize: true
30 data:
31 metadata:
32 ownerReferences:
33 - apiVersion: kubevirt.io/v1
34 kind: VirtualMachineInstance
35 name: "{{request.object.metadata.name}}"
36 uid: "{{request.object.metadata.uid}}"
37 spec:
38 ports:
39 - protocol: TCP
40 port: 22
41 selector:
42 kubevirt.io/domain: "{{request.object.metadata.name}}"
43 type: ClusterIP