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 DocsArchWiki 을 확인할 수 있습니다.

좋은 웹페이지 즐겨찾기