minikube部署Go应用小结
本篇文章基于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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
golang waitgroup辅助并发控制使用场景和方法解析
Golang 提供了简洁的 go 关键字来让开发者更容易的进行并发编程,同时也提供了 WaitGroup 对象来辅助并发控制,今天我们就来分析下 WaitGroup 的使用方法,顺便瞧一瞧它的底层源码2023-09-09
Golang学习笔记之安装Go1.15版本(win/linux/macos/docker安装)
这篇文章主要介绍了Golang学习笔记之安装Go1.15版本(win/linux/macos/docker安装),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-12-12


最新评论