k8s部署服务前置--上传镜像至harbor仓库
一、前言
通过k8s部署mysql、nacos甚至是自己开发的springboot项目时,第一步是将相应服务的镜像资源包通过docker推送到私服的harbor仓库当中。中间件则需要将镜像load,再重新打标签推送。自己开发的项目则需要将代码打包成jar包,再通过dockerfile将对应的jar包制作成对应的镜像。之后则是通过k8s管理节点拉取对应镜像部署。
二、更换harbor仓库中镜像地址
docker默认拉取镜像的地址为docker hub官方镜像,为了方便搭建离线环境则需要将daocker拉取镜像的地址换成harbor仓库的地址
vim /etc/docker/daemon.json
#添加:
{
"insecure-registries": ["dockerhub.kubekey.local:80"]
}
之后重启docker
systemctl restart docker
三、docker登录harbor仓库
使用命令:
docker login dockerhub.kubekey.local -u admin -p Harbor12345
#格式 docker login <harbor仓库地址> -u <用户名> -p <密码>
出现Login Succeeded说明登录成功

四、将镜像重新打标签
像mysql、nacos、redis这些中间件则需要将官方镜像使用load命令加载
docker load -i mysql_5.7.34.tar
加载过程:

加载后效果如下:

接着是重新打标签:
#使用以下命令
docker tag docker.xuanyuan.me/library/mysql:5.7.34 dockerhub.kubekey.local/tiangang/mysql:5.7.34
#格式
docker tag <当前镜像标签>:<版本号> <harbor仓库对应项目地址>:<版本号>
具体效果如下:

五、将镜像推送到harbor仓库中
使用命令:
docker push dockerhub.kubekey.local/tiangang/mysql:5.7.34
#格式
docker push <镜像标签>:<版本号>
具体效果如下,另外,如果不会推送命令,可以从harbor仓库的提示中获取

六、在master节点增加拉取凭证
首先创建命名空间
kubectl create namespace zhongchuan141
增加harbor镜像拉取凭证(Secret)
kubectl create secret docker-registry harbor-cred \
> --namespace=zhongchuan141 \
> --docker-server=dockerhub.kubekey.local \
> --docker-username=admin \
> --docker-password=Harbor12345
七、相关命令
重启harbor仓库
在harbor仓库目录执行
docker-compose down -v
docker-compose up -d

docker基础命令
docker version
info
search <镜像名>
pull <镜像名:标签>
images
rm 删除容器
rmi -f 删除镜像
run [参数] <镜像名:标签> [容器内执行的命令]
-
-d:后台运行容器(守护进程模式)。 -
-p:端口映射(宿主机端口:容器内端口),如-p 8080:80表示宿主机 8080 端口映射到容器 80 端口。 -
--name:给容器指定名称(否则自动生成)。 -
-it:交互式运行(可进入容器终端),通常搭配/bin/bash或/bin/sh使用。 -
--rm:容器停止后自动删除(临时测试用)。 -
-v:数据卷挂载(宿主机目录:容器内目录),如-v /data:/app表示宿主机 /data 目录映射到容器 /app 目录(持久化数据)。
ps [-a | -l ]
start | restart | stop
exec -it mynginx /bin/bash 进入容器内部
logs <容器ID/容器名> --tail 100 mysql
inspect <容器ID/容器名>
system prune -f # 强制清理(不提示确认)
status 显示容器资源占用
save -o <保存路径/文件名.tar> <镜像名:标签>
load -i <tar文件路径>
-
镜像核心流程:
search(搜索)→pull(拉取)→images(查看)→rmi(删除)→build(构建)。 -
容器核心流程:
run(创建启动)→ps(查看)→exec(进入)→logs(日志)→stop(停止)→rm(删除)。
更多推荐

所有评论(0)