minikube入门+踩坑日记

你的名字 2022-09-16 11:06 508阅读 0赞

环境搭建

  • minikube
  • kubectl
  • docker

下载并配置好环境变量

运行minikube

从这里就开始踩坑

  1. minikube start

首先这条命令是对的,但是国内的电脑一般访问不到minikube的镜像源,或者访问到也是很慢,所以我们要添加代理或者配置其它镜像源。
有两种方法使用镜像源
第一种(我没有试过)

  1. minikube start
  2. #替换成
  3. minikube start --registry-mirror=https://registry.docker-cn.com
  4. #注意:这里使用的是官方的代理镜像源,可以访问,但是还是不是很快。我配置的是阿里的镜像源
  5. #替换成
  6. minikube start --registry-mirror="https://xxxxxx.mirror.aliyuncs.com"
  7. #注意:你要自己注册阿里云的账号使用自己的镜像源网站,替换掉上面的镜像源网站

第二种
先开启minikube然后再配置镜像源

  1. #开启minikube
  2. minikube start
  3. #进入到minikube 环境
  4. minikube ssh
  5. #环境中有docker,所以我们给docker配置好环境就可以
  6. cd /etc/docker/
  7. touch daemon.json
  8. vi daemon.json
  9. #配置你的docker代理,这里就不过多介绍了
  10. #{
  11. # "registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"]
  12. #}
  13. #重启docker
  14. systemctl restart docker

现在就可以更快的从网站拉取镜像。

运行一个服务

这里我们使用luksa/kubia作为我们第一个运行的服务,这个服务返回运行的主机名称

  1. #运行
  2. kubectl run kubia --image=luksa/kubia --port=8080
  3. #kubia表示这个pod的名称,--image表示镜像名称,--port表示监听的端口

查看服务的运行状态

  1. kubectl get pods

这里你有可能和我的不相同,你看到的ready那一栏是0/1,也是正常,因为你是第一次使用这个镜像,就会从镜像源中拉取镜像,所以会慢。
在这里插入图片描述

访问web应用

  1. kubectl expose pod/kubia --name=kubia-http
  2. minikube service kubia-http

这样会自动打开浏览器访问web应用。

水平伸缩应用

我们刚才创建了一个pod用于对外访问用,但是如果我们想增加多个pod,用来构建服务,怎么办?

现在就需要增加服务也就是说水平扩展。

  1. #首先先将之前的pod删除
  2. kubectl delete pod/kubia
  3. #创建deployment类型的服务
  4. kubectl create deploy kubia --image=luksa/kubia --port=8080 --replicas=2
  5. #创建的服务名称是kubia,镜像是luksa/kubia,端口是8080,需要创建2个pod
  6. #现在不是水平扩展服务
  7. kubectl scale deploy kubia --replicas=3
  8. #replicas是将服务扩展成为3个,这里注意只给结果也就是说扩展成3个,并不是增加3个。
  9. #此时看一个pod的数量
  10. kubectl get pods

在这里插入图片描述
然后再将这个服务暴露,我们再访问

  1. #创建服务
  2. kubectl expose deploy kubia --name=kubia-https
  3. minikube service kubia-https

访问到web服务之后,刷新,可以发现,服务的主机名会变化,也就是说服务内部,有负载均衡。

现在我们将其中一个pod关闭,观察回发生什么。

  1. kubectl delete podname
  2. #删除之后,我们再看pod
  3. kubectl get pods

deployment是按照设置好的目标来生成pod,如果其中一个或多个发生错误,会自动重新生成pod。这些pod在集群内创建,消失意味着ip地址发生变化,但是服务地址不会变化。

查看pod的详细细节

  1. kubectl describe namespace/podname

发表评论

表情:
评论列表 (有 0 条评论,508人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Oracle日记_20190522

    本来应该早就弄好的东西,但是因为操作问题,各种问题。 问题一:安装oracle到底需要不需要jdk? 8i之后的并不需要,自带相应需要的东西。 问题二:默认装的,实例名是