过万春节服务全是问题无语了-Harbor镜像仓库访问404

1、背景

春节后的周六补班,累啊,到公司发现docker和kubelet服务都被停止了,可能是春节期间担心发生安全隐患吧,服务启动后发现很多镜像无法拉取了
在这里插入图片描述
到相关的节点上去尝试拉取镜像发现报了404错误

docker pull xxx.xxx.xxx.xxx/dgms/dgms-kettle:2.15.0
Error response from daemon: error parsing HTTP 404 response body: invalid character '<' looking for beginning of value: "<html>\r\n<head><title>404 Not Found</title></head>\r\n<body>\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>nginx/1.23.2</center>\r\n</body>\r\n</html>\r\n"

2、查看harbor镜像仓库

在这里插入图片描述
直接给我来了一个404
在这里插入图片描述
查看harbor容器均为正常
在这里插入图片描述
相关nginx日志也无错误信息
停掉harbor仓库docker-compose stop,使用curl -I 10.18.104.154,依然报404错误状态,由此推测是端口问题
使用ps -ef | grep nginx发现存在很多nginx进程,但是使用netstat -tnlp查看不到80端口
在这里插入图片描述
使用kill命令kill掉之后无法访问,重新创建harbor镜像仓库,同样会创建很多nginx进程,还是报同样的404错误,无奈只能修改端口测试

3、解决办法

修改配置端口为8081,使用install.sh重新创建harbor,访问正常
在这里插入图片描述

修改每个节点的/etc/docker/daemon.json配置文件,重启docker服务,并重新配置应用镜像仓库地址

cat /etc/docker/daemon.json 
{
  "log-opts": {
    "max-size": "5m",
    "max-file":"3"
  },
  "insecure-registries":["dockerhub.kubekey.local","xxx.xxx.xxx.xxx:8081","xxx.xxx.xxx.xxx"],
  "live-restore": true,
  "experimental": true,
  "data-root":"/home/var/lib/docker"
}

此刻已经部署了大量的应用,挨个修改镜像地址比较麻烦,还好k8s使用了名称空间进行资源隔离,并且在部署项目时使用了名称空间对各个系统进行分离,使用kubectl get deployment -nxxx -oyaml > xxx-deploy.yaml方式导出相关需要修改的资源清单,使用sed命令进行批量修改地址,之后使用yaml清单重新创建!至此问题处理

遗憾的是没有想明白404错误是什么导致的!为什么所有容器停止了,甚至docker和harbor服务都停止了nginx进程依旧存在

春节刚过就这么忙,😭😭😭😭😭😭😭😭😭😭😭😭😭

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值