minikube部署Go应用小结
作者:唐可盐
本文详细介绍了在VMCentos7环境下使用Minikube和Kubernetes部署Go应用的步骤,包括安装Minikube和Kubectl、配置Docker镜像源和私有仓库、部署项目以及解决启动过程中的常见问题,感兴趣的朋友一起看看吧
本篇文章基于VM Centos7 环境部署Go应用
前置准备工作
1.安装 minikube、kubectl
2.配置docker镜像源,配置内部仓库方便pod启动。
安装minikube
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64 // 执行测试 minikube version
安装kubectl
curl -LO https://dl.k8s.io/release/v1.32.0/bin/linux/amd64/kubectl sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl // 执行测试 kubectl version --client
Docker相关配置
配置docker镜像源
配置docker镜像源提高docker拉取镜像速度
vi /etc/docker/daemon.json
{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://docker.imgdb.de", "https://docker-0.unsee.tech", "https://docker.hlmirror.com" ] }
配置私有仓库
避免本地已有镜像但是还是从远程拉取
docker pull registry docker images registry docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry
修改私有镜像tag 以指定上传的仓库
docker tag go-web:latest localhost:5000/go-web:latest docker push localhost:5000/go-web:latest
上传成功后可以查看推到仓库的镜像
curl localhost:5000/v2/_catalog
将私有仓库配置到docker配置文件中
{"insecure-registries":["私有仓库地址:5000"]}
配置完重启docker
systemctl restart docker
启动minikube
启动这一步问题很多,注意携带的参数
minikube start --driver=docker --insecure-registry="私有仓库地址:5000" --force // --image-mirror-country='cn' 不加这个参数,无法从私有仓库拉取镜像
部署项目
好的现在minikube已经启动,现在我们要基于镜像部署一个项目
kubectl create deployment go-web --image=私有仓库地址:5000/go-web:latest kubectl get pods //查看启动的pod状态
如果READY是0,就要去排查没启动的原因
1. Failed to pull image "xxxx:5000/go-web:latest": Error response from daemon: Get "https://xxxx:5000/v2/": http: server gave HTTP response to HTTPS client。判断是否是更改了docker配置文件没有重启docker导致的。
2.connect refuse 这种一般是 镜像的tag没打对,按照 私有仓库ip:端口/镜像名:版本 格式打
启动成功后,把容器内的项目端口暴露出来,让宿主机可以访问
kubectl expose deployment go-web --type=NodePort --port=项目端口
执行minikube service启动项目
虚拟机内通过curl命令访问该url,就能正确访问到项目了
宿主机访问的话,通过nginx反向代理到该url,也能实现外部访问
到此这篇关于minikube部署Go应用的文章就介绍到这了,更多相关minikube部署Go内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!