1 분 소요

minikube

  • 설치
	minikube addons enable kubevirt

	export VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases | grep tag_name | grep -v -- '-rc' | head -1 | awk -F': ' '{print $2}' | sed 's/,//' | xargs)
	echo $VERSION
	kubectl get kubevirt.kubevirt.io/kubevirt -n kubevirt -o=jsonpath="{.status.phase}"
	kubectl get all -n kubevirt
	kubectl logs pod/kubevirt-install-manager -n kube-system
	VERSION=$(kubectl get kubevirt.kubevirt.io/kubevirt -n kubevirt -o=jsonpath="{.status.observedKubeVirtVersion}")
	ARCH=$(uname -s | tr A-Z a-z)-$(uname -m | sed 's/x86_64/amd64/') || windows-amd64.exe
	echo ${ARCH}
	curl -L -o virtctl https://github.com/kubevirt/kubevirt/releases/download/${VERSION}/virtctl-${VERSION}-${ARCH}
	chmod +x virtctl
	install virtctl /usr/local/bin

get vm

  • kubectl get vm

get vmi

  • kubectl get vmi

vm start

  • virtctl start [vm name]

vm 콘솔 접속

  • virtctl console [vm name]

vm stop

  • virtctl stop [vm name]

vm delete

  • virtctl delete vm [vm name]

vm ex

  • kubectl apply -f https://raw.githubusercontent.com/kubevirt/kubevirt.github.io/master/labs/manifests/vm.yaml

vmi ex

  • vim kubevirt-centos.yaml
	---
	apiVersion: kubevirt.io/v1alpha3
	kind: VirtualMachineInstance
	metadata:
	  labels:
	    special: vmi-centos7
	  name: vmi-centos7
	  namespace: kubevirt-demo
	spec:
	  domain:
	    devices:
	      disks:
	      - disk:
	          bus: virtio
	        name: containerdisk
	      - disk:
	          bus: virtio
	        name: cloudinitdisk
	      interfaces:
	      - name: default
	        bridge: {}
	    resources:
	      requests:
	        memory: 2048M
	  networks:
	  - name: default
	    pod: {}
	  volumes:
	  - containerDisk:
	      image: ovaleanu/centos:latest
	    name: containerdisk
	  - cloudInitNoCloud:
	      userData: |-
	        #cloud-config
	        password: centos
	        ssh_pwauth: True
	        chpasswd: { expire: False }
	    name: cloudinitdisk

	---
	apiVersion: v1
	kind: Service
	metadata:
	  name: vmi-centos-ssh-svc
	  namespace: kubevirt-demo
	spec:
	  ports:
	  - name: centos-ssh-svc
	    nodePort: 30000
	    port: 27017
	    protocol: TCP
	    targetPort: 22
	  selector:
	    special: vmi-centos7
	  type: NodePort
  • kubectl apply -f kubevirt-centos.yaml
  • ssh root@127.0.0.1 -p 30000
  • 내부 도메인 주소
    • vmi-centos-ssh-svc.kubevirt-demo.svc.cluster.local

참고 사이트