minikube入门+踩坑日记
环境搭建
- minikube
- kubectl
- docker
下载并配置好环境变量
运行minikube
从这里就开始踩坑
minikube start
首先这条命令是对的,但是国内的电脑一般访问不到minikube的镜像源,或者访问到也是很慢,所以我们要添加代理或者配置其它镜像源。
有两种方法使用镜像源
第一种(我没有试过)
minikube start
#替换成
minikube start --registry-mirror=https://registry.docker-cn.com
#注意:这里使用的是官方的代理镜像源,可以访问,但是还是不是很快。我配置的是阿里的镜像源
#替换成
minikube start --registry-mirror="https://xxxxxx.mirror.aliyuncs.com"
#注意:你要自己注册阿里云的账号使用自己的镜像源网站,替换掉上面的镜像源网站
第二种
先开启minikube然后再配置镜像源
#开启minikube
minikube start
#进入到minikube 环境
minikube ssh
#环境中有docker,所以我们给docker配置好环境就可以
cd /etc/docker/
touch daemon.json
vi daemon.json
#配置你的docker代理,这里就不过多介绍了
#{
# "registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"]
#}
#重启docker
systemctl restart docker
现在就可以更快的从网站拉取镜像。
运行一个服务
这里我们使用luksa/kubia作为我们第一个运行的服务,这个服务返回运行的主机名称
#运行
kubectl run kubia --image=luksa/kubia --port=8080
#kubia表示这个pod的名称,--image表示镜像名称,--port表示监听的端口
查看服务的运行状态
kubectl get pods
这里你有可能和我的不相同,你看到的ready那一栏是0/1,也是正常,因为你是第一次使用这个镜像,就会从镜像源中拉取镜像,所以会慢。
访问web应用
kubectl expose pod/kubia --name=kubia-http
minikube service kubia-http
这样会自动打开浏览器访问web应用。
水平伸缩应用
我们刚才创建了一个pod用于对外访问用,但是如果我们想增加多个pod,用来构建服务,怎么办?
现在就需要增加服务也就是说水平扩展。
#首先先将之前的pod删除
kubectl delete pod/kubia
#创建deployment类型的服务
kubectl create deploy kubia --image=luksa/kubia --port=8080 --replicas=2
#创建的服务名称是kubia,镜像是luksa/kubia,端口是8080,需要创建2个pod
#现在不是水平扩展服务
kubectl scale deploy kubia --replicas=3
#replicas是将服务扩展成为3个,这里注意只给结果也就是说扩展成3个,并不是增加3个。
#此时看一个pod的数量
kubectl get pods
然后再将这个服务暴露,我们再访问
#创建服务
kubectl expose deploy kubia --name=kubia-https
minikube service kubia-https
访问到web服务之后,刷新,可以发现,服务的主机名会变化,也就是说服务内部,有负载均衡。
现在我们将其中一个pod关闭,观察回发生什么。
kubectl delete podname
#删除之后,我们再看pod
kubectl get pods
deployment是按照设置好的目标来生成pod,如果其中一个或多个发生错误,会自动重新生成pod。这些pod在集群内创建,消失意味着ip地址发生变化,但是服务地址不会变化。
查看pod的详细细节
kubectl describe namespace/podname
还没有评论,来说两句吧...