Readme
VNC github 地址¶
https://github.com/wavezhang/virtVNC
安装
kubectl apply -f https://github.com/wavezhang/virtVNC/raw/master/k8s/virtvnc.yaml
说明:如果是1.20之后的版本,可能master节点的label变更为
node-role.kubernetes.io/control-plane可以手工指定nodePort: 31002https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md
Get node port of virtvnc service¶
Visit following url in browser¶
apiVersion: v1 kind: ServiceAccount metadata: name: virtvnc namespace: kubevirt --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: virtvnc subjects: - kind: ServiceAccount name: virtvnc namespace: kubevirt roleRef: kind: ClusterRole name: virtvnc apiGroup: rbac.authorization.k8s.io --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: virtvnc rules: - apiGroups: - subresources.kubevirt.io resources: - virtualmachineinstances/console - virtualmachineinstances/vnc verbs: - get - apiGroups: - kubevirt.io resources: - virtualmachines - virtualmachineinstances - virtualmachineinstancepresets - virtualmachineinstancereplicasets - virtualmachineinstancemigrations verbs: - get - list - watch --- apiVersion: v1 kind: Service metadata: labels: app: virtvnc name: virtvnc namespace: kubevirt spec: ports: - port: 8001 protocol: TCP targetPort: 8001 nodePort: 31002 selector: app: virtvnc type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: virtvnc namespace: kubevirt spec: replicas: 1 selector: matchLabels: app: virtvnc template: metadata: labels: app: virtvnc spec: serviceAccountName: virtvnc nodeSelector: #node-role.kubernetes.io/master: '' node-role.kubernetes.io/control-plane: '' tolerations: #- key: "node-role.kubernetes.io/master" - key: "node-role.kubernetes.io/control-plane" operator: "Equal" value: "" effect: "NoSchedule" containers: - name: virtvnc image: quay.io/samblade/virtvnc:v0.1 livenessProbe: httpGet: port: 8001 path: / scheme: HTTP failureThreshold: 30 initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5