# 2021-01-04 #「Kubernetes」- 使用 minikube 快速搭建集群(实验性质)

该笔记将记录:使用 minikube 搭建测试使用的 Kubernetes 集群(用于本地测试、功能体验)的方法及注意事项。

注意事项

搭建“稍显复杂的”测试集群,可以参考 Installing k8s 1.14 on CentOS 7 笔记,但依旧只能用于测试

搭建“生产可用的”集群环境,可以参考 Stacked control plane 笔记,细节内容建议参考官方文档

环境信息(该笔记的实施环境)

Debian GNU/Linux 10 (buster)

第一步、检查虚拟化是否开启

# egrep -q 'vmx|svm' /proc/cpuinfo && echo yes || echo no
yes

第二步、安装环境依赖

安装 kubectl 命令

可以参考 Install and Set Up kubectl 笔记或者官方文档

安装虚拟化环境

有很多选择,我们使用 kvm 虚拟化,安装方法可以参考 Setting Up a KVM VM Host Server 笔记。

也可以使用 VirtualBox、宿主机(需要安装 Docker 环境)、Podman 等等,建议参考官方文档

第三步、安装 minikube 命令

有两种安装方法:使用包管理器安装、使用二进制安装

方法一、使用包管理器安装

// 访问 Github release 页面,下载对应版本
// https://github.com/kubernetes/minikube/releases
// https://github.com/kubernetes/minikube/releases/download/v1.13.0/minikube_latest_amd64.deb

// 执行安装命令,我们使用 Debian 发行版,因此:
dpkg -i minikube_latest_amd64.deb

方法二、使用二进制安装(通用)

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
  && chmod +x minikube
  
mkdir -p /usr/local/bin/
mv minikube /usr/local/bin/

第四步、启动 minikube 集群,并查看状态

网络原因,可能需要配置代理才能让 minikube 完成下载:

export HTTP_PROXY="http://<proxy hostname:port>"
export HTTPS_PROXY="https://<proxy hostname:port>"

# 注意,这里一定要添加虚拟机 NAT 网段
export NO_PROXY="localhost,127.0.0.1,10.96.0.0/12,192.168.99.0/24,192.168.39.0/24"

启动集群,并等待下载完成:

minikube start --driver=kvm2

查看集群状态:

# minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

添加 BASH 补全

completion | minikube

source <(minikube completion bash)

常见问题汇总

/usr/bin/virsh domcapabilities --virttype kvm failed

KVM - Debian Wiki
kvm2: check if user in "libvirt" group · Issue #5617 · kubernetes/minikube

问题描述:使用 minikube start --driver=kvm2 启动时,产生如下错误:

# minikube start --driver=kvm2
* minikube v1.14.1 on Debian 10.5
* Using the kvm2 driver based on user configuration

X Exiting due to PROVIDER_KVM2_ERROR: /usr/bin/virsh domcapabilities --virttype kvm failed:

* Suggestion: Follow your Linux distribution instructions for configuring KVM
* Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/kvm2/

问题原因:当前用户(非 ROOT 用户)未加入 libvirt 组。首先,minikube 不允许以 ROOT 用户运行,只能以普通用户运行。以普通用户运行时,如果不能管理虚拟机(即没有权限,即不能执行 virsh domcapabilities 命令),则会产生上述错误。

解决方法:将当前用户加入 libvirt 组即可:

adduser '<your user>' libvirt

参考文献

K4NZ/使用 minikube 快速搭建集群(实验性质)
Install Minikube | Kubernetes
Proxies and VPNs | minikube
kvm2 | minikube


posted @ 2021-01-04 21:49  研究林纳斯写的  阅读(196)  评论(0编辑  收藏  举报