Kubernetes: Arch에서 QEMU/KVM을 사용하는 Minikube
Minikube은 Kubernetes 클러스터를 로컬에서 쉽게 생성하기 위한 도구입니다.
여러 컨테이너 런타임 및 로드 밸런서 지원과 같은 기능을 자랑하므로 배포/서비스를 로컬에서 쉽게 테스트할 수 있습니다.
Minikube
를 사용하면 노드를 VM, 컨테이너 또는 베어메탈로 배포할 수 있습니다. 기본 드라이버는 VirtualBox
이지만 KVM/QEMU
는 일반적으로 Linux 시스템에서 더 잘 수행됩니다.CRI로
Docker
를 사용한다고 가정합니다. Arch Linux에서는 Pacman을 사용하여 다음 패키지를 가져와야 합니다.🐺 ~ ⚡ ➜ sudo pacman -S minikube libvirt qemu dnsmasq ebtables dmidecode
그런 다음 사용자를
libvirt
그룹에 추가하고 서비스를 시작해야 합니다.🐺 ~ ⚡ ➜ sudo usermod -aG libvirt $(whoami)
🐺 ~ ⚡ ➜ sudo systemctl start libvirtd.service
🐺 ~ ⚡ ➜ sudo systemctl enable libvirtd.service
누락된 특정 바이너리로 인해
libvirtd
서비스가 실패할 수 있으므로 상태를 확인하고 발생할 수 있는 문제를 해결하십시오.🐺 ~ ⚡ ➜ sudo systemctl status libvirtd.service
그런 다음 유효성 검사 도구를 실행할 수 있습니다.
🐺 ~ ⚡ ➜ virt-host-validate
QEMU: Checking for hardware virtualization : PASS
QEMU: Checking if device /dev/kvm exists : PASS
QEMU: Checking if device /dev/kvm is accessible : PASS
QEMU: Checking if device /dev/vhost-net exists : PASS
QEMU: Checking if device /dev/net/tun exists : PASS
QEMU: Checking for cgroup 'cpu' controller support : PASS
QEMU: Checking for cgroup 'cpuacct' controller support : PASS
QEMU: Checking for cgroup 'cpuset' controller support : PASS
QEMU: Checking for cgroup 'memory' controller support : PASS
QEMU: Checking for cgroup 'devices' controller support : PASS
QEMU: Checking for cgroup 'blkio' controller support : PASS
QEMU: Checking for device assignment IOMMU support : PASS
QEMU: Checking if IOMMU is enabled by kernel : PASS
QEMU: Checking for secure guest support : WARN (AMD Secure Encrypted Virtualization appears to be disabled in kernel. Add kvm_amd.sev=1 to the kernel cmdline arguments)
LXC: Checking for Linux >= 2.6.26 : PASS
LXC: Checking for namespace ipc : PASS
LXC: Checking for namespace mnt : PASS
LXC: Checking for namespace pid : PASS
LXC: Checking for namespace uts : PASS
LXC: Checking for namespace net : PASS
LXC: Checking for namespace user : PASS
LXC: Checking for cgroup 'cpu' controller support : PASS
LXC: Checking for cgroup 'cpuacct' controller support : PASS
LXC: Checking for cgroup 'cpuset' controller support : PASS
LXC: Checking for cgroup 'memory' controller support : PASS
LXC: Checking for cgroup 'devices' controller support : PASS
LXC: Checking for cgroup 'freezer' controller support : PASS
LXC: Checking for cgroup 'blkio' controller support : PASS
LXC: Checking if device /sys/fs/fuse/connections exists : PASS
Minikube 드라이버를 kvm2로 변경합니다.
🐺 ~ ⚡ ➜ minikube config set driver kvm2
클러스터에 사용할 별도의 kubeconfig 파일
Minikube
을 만드는 것이 좋습니다.🐺 ~ ⚡ ➜ touch config && export KUBECONFIG=$(pwd)/config
마지막으로 minikube를 실행합니다.
🐺 ~/repos ➜ minikube start
😄 minikube v1.12.2 on Arch
▪ KUBECONFIG=/home/lemagicien/repos/config
✨ Using the kvm2 driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
🔥 Creating kvm2 VM (CPUs=2, Memory=4000MB, Disk=20000MB) ...
🐳 Preparing Kubernetes v1.18.3 on Docker 19.03.12 ...
🔎 Verifying Kubernetes components...
🌟 Enabled addons: default-storageclass, storage-provisioner
🏄 Done! kubectl is now configured to use "minikube"
kubectl
는 이제 minikube 클러스터와 통신해야 합니다! 문제가 발생하면 Minikube Docs 및 ArchWiki 을 확인할 수 있습니다.
Reference
이 문제에 관하여(Kubernetes: Arch에서 QEMU/KVM을 사용하는 Minikube), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/xs/kubernetes-minikube-with-qemu-kvm-on-arch-312a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)