使用minikube在本地搭建kubernetes实验集群

0.预先说明

Minikube可以利用虚拟机快速部署一个kubernetes集群,帮助快速学习和入门。
参考文档:https://kubernetes.io/docs/tutorials/hello-minikube/#objectives

Minikube的实际上的部署方式有两种,1.调用虚拟机部署集群,这时需要首先安装虚拟机,如virtualbox;2.通过容器部署,需要Linux环境,安装docker.

容器反正是要装的;根据本人多次尝试,安装minikube过程中需要去不存在的网站下载资源,利用virtualbox(即方法1)部署时,设置好http_proxy环境变量就能下载到ios镜像资源。用容器方法(方法2)时只做http代理就不行了,需要在路由器上做梯子,转发所有流量方可。

方法1实现比较简单,但如果操作系统本身是运行在虚拟机里的,再装minikube就不行了,因为minikube要再启动虚拟机,虚拟机嵌套会出问题(至少已经尝试过virtualbox嵌套virtualbox是不行的,据说Vmware嵌套virtualbox可以)。

方法2中minikube不调用虚拟机建集群,直接用容器,这样就无所谓操作系统是不是在虚拟机里了。采用方法1还是方法2,差别在于minikube start使用时的参数--vm-driver ,后文会再次提到。

1.安装kubectl

Kubectl是kubernetes的命令行操作界面,官方说法是“调用kubernetes实现集群管理的工具”,kubectl本身与minikube无关,它是用来管理minikube所建立的集群的。

sudo snap install kubectl –classic


安装完成后检查版本信息:

kubectl version

能显示版本信息就说明安装成功了。


参考文档:https://kubernetes.io/docs/tasks/tools/install-kubectl/

2.安装Minikube

网络畅通的情况下可以一键安装:

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.30.0/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube

但是在天朝不能连接到这个网址,可以从 https://github.com/kubernetes/minikube/releases  下载【minikube-linux-amd64  40.3 MB】,改名为minikube,手动拷贝到/usr/local/bin/,然后赋予可执行权限:chmod +x minikube .

 

3. 启动 Minikube cluster

参考文档:https://kubernetes.io/docs/tutorials/hello-minikube/#create-a-minikube-cluster

在minikube启动的过程中,需要从网络上下载镜像资源,

由于特殊国情,需要: 0.拥有一个shadowsock用户,1.运行sslocal服务建立sock5通道,2. 用privoxy建立http代理服务器,修改listen-address和forward address。第1步和第2步详见 https://blog.csdn.net/cuipengchong/article/details/64472789, https://my.oschina.net/icebergxty/blog/1860519  然后在shell终端中设置http_proxy的环境变量:export  http_proxy=’http://localhost:8118’

minikube start 后面加 --vm-driver=xxx 参数选择使用的虚拟化方式,virtualbox表示使用虚拟机部署集群(前面说到的方法1);none表示使用容器作为虚拟化(前面提到的方法2)
(原始文档说明:If you want to change the VM driver add the appropriate --vm-driver=xxx flag to minikube start. Minikube also supports a --vm-driver=none option that runs the Kubernetes components on the host and not in a VM. Using this driver requires Docker, but not a hypervisor.)

 

启动minikube:minikube start

参数  --vm-driver 指定虚拟化方法,--vm-driver=none 表示用容器,--vm-driver=virtualbox 表示用虚拟机;--docker-env http_proxy 传递代理地址。若使用容器部署minikube,示例如下,

sudo minikube start --vm-driver=none  --docker-env http_proxy=http://$host_IP:8118 --docker-env https_proxy=https:// $host_IP:8118

其中$host_IP指的是host的IP,可以通过ifconfig查看,比如在我这台机器是10.0.2.15,用virtualbox部署,则用下列命令启动minikube

sudo minikube start --vm-driver=none  --docker-env http_proxy=http://10.0.2.15:8118 --docker-env https_proxy=https://10.0.2.15:8118

 

如果一切顺利,运行

kubectl cluster-info

可以看到集群的地址,如下图,这就说明minikube集群成功运行起来了。

若返回不是上面这样的,而是下图,那么就是没有安装成功。

这时你有三个选择:

  1. 设置好网络,从头再试一遍;
  2. 早点放弃,不要浪费时间了;
  3. 尝试kubernetes的在线教程,那里已经帮你搭好集群了。

4.进一步查看集群的信息

如果用minikube正确安装了集群,可以用

kubectl get node

查看集群中的节点信息,或者

minikube dashboard --url 

查看图形化的仪表盘。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值