解决nginx无法通过外部浏览器访问【参考黑马k8s学习教程】

说明

本人依照黑马k8s教程学习部署集群,但nginx始终无法访问,试了评论区的解决方案也无法解决。
故写此文给予一种解决方法。

无法访问的原因:
教程中给的Docker镜像地址有问题,第4步镜像地址有问题。以下是黑马教程中安装docker的讲义:

# 1 切换镜像源
[root@master ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
//上面这里出错了,这个镜像地址不可用
命令切换成下面这个:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo


# 2 查看当前镜像源中支持的docker版本
[root@master ~]# yum list docker-ce --showduplicates

# 3 安装特定版本的docker-ce
# 必须指定--setopt=obsoletes=0,否则yum会自动安装更高版本
[root@master ~]# yum install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.el7 -y

# 4 添加一个配置文件
# Docker在默认情况下使用的Cgroup Driver为cgroupfs,而kubernetes推荐使用systemd来代替cgroupfs
[root@master ~]# mkdir /etc/docker
[root@master ~]# cat <<EOF >  /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  # "registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"] //这个镜像源有问题,kn0t2bca是阿里云用户的id(视频作者的阿里账号id),替换成下面的
  # 如果在一开始安装docker的时候使用下面这个镜像源才不会出错
  "registry-mirrors":["https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com","http://qtid6917.mirror.aliyuncs.com", "https://rncxm540.mirror.aliyuncs.com"]
}
EOF

# 5 启动docker
[root@master ~]# systemctl restart docker
[root@master ~]# systemctl enable docker

# 6 检查docker状态和版本
[root@master ~]# docker version

解决方法

docker我们已经安装过了,接下来我们更改镜像源即可。

注意:步骤1-3在所有节点上执行,步骤4在master节点执行即可。

步骤 1:检查 /etc/docker/daemon.json 文件内容

重新打开编辑 /etc/docker/daemon.json 文件,确保内容格式正确。

vim /etc/docker/daemon.json

替换镜像源,文件内容应如下:

{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "registry-mirrors":["https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com","http://qtid6917.mirror.aliyuncs.com", "https://rncxm540.mirror.aliyuncs.com"]
}

注意:

  • 确保 JSON 格式正确,没有多余的逗号或括号。
  • 如果文件中有多余的空格或换行符,可能会导致解析失败。

步骤 2:重新加载和重启 Docker

保存文件后,重新加载和重启 Docker 服务:

systemctl daemon-reload
systemctl restart docker

步骤3:重新拉取镜像
docker pull nginx:latest

//这里可能要等一会
成功示例:

latest: Pulling from library/nginx
5e2f64156d88: Pull complete
0576d6c6d93f: Pull complete
7039b85d9e7b: Pull complete
Digest: sha256:7f488a54766c64559d9a02f5712a16b758d14795c5764a50b9d81c65e54399e0
Status: Downloaded newer image for nginx:latest
步骤4:查看nginx状态,访问nginx

在master节点上执行即可在这里插入图片描述
在外部浏览器上访问nginx。
// 无法查看niginx的,看看你的nginx运行在哪个节点先。在master节点执行kubectl get pod找到nginx的id,然后kubectl describe pod 你的nginxid,在第4行的Node才是你要访问的ip
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值