使用Minikube运行一个本地单节点Kubernetes集群
使用Minikube是运行Kubernetes集群最简单、最快捷的途径,Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用。
⒈安装Minikube
Minikube是一个需要下载并放到路径中的二进制文件。它适用于Windows、Linux和OSX系统。
Github地址:https://github.com/kubernetes/minikube,官方安装教程地址:https://minikube.sigs.k8s.io/docs/start/linux/,上面有详细的安装过程,我们可以借鉴官方的安装方法进行安装。
我的是Centos7系统,执行以下命令:Centos7是rpm,我就直接使用rpm了。(需要科学 上 网,我是直接给虚拟机中的Linux配置了代理)
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-1.3.1.rpm \
&& sudo rpm -ivh minikube-1.3.1.rpm
如果你不清楚你的Linux使用的是何种包管理器,就直接执行以下命令即可。
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube
⒉配置管理程序设置并启动
1.验证Linux系统是否已启用虚拟化支持。
egrep -q 'vmx|svm' /proc/cpuinfo && echo yes || echo no
如果上面的命令输出“no”:
- 如果您在虚拟机中运行的Linux做测试,则您的虚拟机管理程序不允许嵌套虚拟化。您将需要使用None(裸机)驱动程序
- 如果您在物理计算机上运行,则需要在BIOS设置启用(CPU)硬件虚拟化。
2.因为Minikube创建K8S虚机是通过Virtualbox来做的(当然还有其它driver,比如KVM,vmware等等)Minikube支持多种驱动程序
当使用VirtualBox来启动kubenetes集群;在未安装VirtualBox minikube start 会报如下错误:
所以要先安装VirtualBox或者使用其它Minikube支持的管理程序。Linux上安装VirtualBox请参考这篇文章。https://www.cnblogs.com/fanqisoft/p/11315773.html
***因为我是在虚拟机中运行的Linux,然后在Linux之上运行Minikube,因此,我的Minikube管理程序(驱动)设置为None。
1.以root身份运行以下命令使minikube以无驱动程序创建K8S虚机(需要科 学 上网)
sudo minikube start --docker-env HTTP_PROXY=${http_proxy} --docker-env HTTPS_PROXY=${https_proxy} --docker-env NO_PROXY=192.168.99.0/24 --vm-driver=none
**使用minikube start 时将会拉取minikube的镜像,minikube的逻辑是创建一个vm,在这个vm里去运行k8s需要的各种docker image,而k8s的镜像不在 docker 官方仓库里,在谷歌自己的仓储里,这个仓库地址是被404的,所以运行start命令时需要跳过404,可以在start命令中设置代理,参考https://fatfatson.github.io/2018/07/23/mac%E4%B8%8A%E5%AE%89%E8%A3%85mimikube/,命令应该是这样的。
minikube start --docker-env HTTP_PROXY=${http_proxy} --docker-env HTTPS_PROXY=${https_proxy} --docker-env NO_PROXY=192.168.127.1:7777
也可以直接给虚拟机中的Linux挂代理,我是直接让Linux使用主机的VPN因此并没有使用上面的这个命令。
2.设置none为Minikube默认值的管理程序(驱动),使用root用户运行以下命令
sudo minikube config set vm-driver none
⒊安装Kubernetes客户端(kubectl)
要与Kubernetes进行交互,还需要kubectl CLI客户端。
Kubectl是一个命令行界面,用于运行针对Kubernetes集群的命令。Kubernetes命令行工具kubectl允许您对Kubernetes集群运行命令。您可以使用kubectl部署应用程序,检查和管理群集资源以及查看日志。
github地址:https://github.com/kubernetes/kubectl,官方安装教程:https://kubernetes.io/docs/tasks/tools/install-kubectl/
官方有详细的安装说明,我这里就不赘述,使用以下命令进行安装。
1.
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
2.
yum install -y kubectl