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
get vmi
vm start
vm 콘솔 접속
virtctl console [vm name]
vm stop
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
---
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
참고 사이트