操作系统:macos
最开始想参照minikube官网搭建一个集群,步骤如下:
- 安装minikube
brew install minikube
- 用minikube创建集群
minikube start --nodes 2 -p multinode-demo
在这一步就遇到了问题,日志没有报错,但在拉取镜像kicbase的时候一直处于0进度,google了很多发现国内拉这个镜像就是有问题,于是看到有各种各样的解决方法,比如minikube start启动集群失败Unable to find image gcr.io/k8s-minikube/kicbase:v0.0.10这篇文章的解决方法就是单独拉了一个kicbase的镜像用来替换原先的镜像。
docker pull anjone/kicbase
在拉完代替的镜像后,重新用minikube创建集群并指定镜像:
minikube start --nodes 2 -p multinode-demo --base-image="anjone/kicbase"
但是又有新的报错:
于是我就迷惑了,又尝试看看之前没有指定修改镜像的时候,再运行了一次这个命令:
minikube start --nodes 2 -p multinode-demo
这下好了,这个报错直接就让我更加疑惑了,于是我还傻傻地去给前面加上sudo再来一次,还是不行。
百般尝试后还是没能成功,于是决定换种思路,毕竟刚开始学k8s,之后比较懂了再用这种方法吧~
由于之前已经安装过kubectl,在此不赘述安装的方法了,这个之后会用到。
- 下载一个Hypervisor,也就是虚拟机监控程序,也不大,很快能下完
如果遇到安装失败的情况,可以进入系统设置,Preferences > Security & Privacy > General: 然后手动允许“Oracle America, Inc.",再重新安装即可。 - 清理一下之前的失败缓存:
docker system prune
minikube delete
- 再次尝试用minikube建立集群,但这次用虚拟机当driver:
minikube start --nodes 2 --vm-driver=virtualbox
然后终于成功啦,并且在刚刚下载的VirtualBox里面也可以看到了:
4. 查看我们的两个nodes:
kubectl get nodes
5. 查看dashboard:
minikube dashboard
可以看到,现在我们的集群搭建起来了,紧接着,我们继续创建一些部署,参照官网的 hello-minikube 页面:
- 创建管理 Pod 的 Deployment
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
kubectl get deployment
//查看pod
kubectl get pods
//查看集群事件
kubectl get events
- 创建Service
//--type=LoadBalancer 参数表明你希望将你的 Service 暴露到集群外部
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
//查看service
kubectl get services
//查看service的url
minikube service [service名] --url
//会以弹窗形式出现一个关于此application信息的网页
minikube service hello-node