k8s版本为,v1.20.2
在这里插入图片描述

1、下载nginx-ingress-controller对应yaml

下载地址:

https://github.com/kubernetes/ingress-nginx/blob/main/deploy/static/provider/cloud/deploy.yaml

如果地址不正确了,可以到github去找
github(点击跳转)

2、下载所需镜像

deploy.yaml中有三个镜像是需要到k8s.gcr.io去下载的,但是这个网站需要翻墙,那么,只能到https://hub.docker.com/先将镜像pull下来,再通过docker tag命令更改镜像标签,同时要保证deploy.yaml中的imagePullPolicy必须为IfNotPresent,这样才能使用本地镜像
镜像只需要在master节点拉取即可,后续会在deploy.yaml中,添加nodeName配置
1、webhook-certgen,注意版本要一致
在这里插入图片描述

docker pull liangjw/kube-webhook-certgen:v1.1.1
docker tag liangjw/kube-webhook-certgen:v1.1.1 k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1

运行结果
在这里插入图片描述
2、ingress-nginx/controller
在这里插入图片描述

docker pull liangjw/ingress-nginx-controller:v1.1.0
docker tag liangjw/ingress-nginx-controller:v1.1.0 k8s.gcr.io/ingress-nginx/controller:v1.1.0

在这里插入图片描述
3、kube-webhook-certgen
在这里插入图片描述

3、添加nodeName

在文件内搜索所有的nodeSelector,在上面添加一行
nodeName: k8s master节点名称
在这里插入图片描述

docker pull liangjw/kube-webhook-certgen:v1.1.1
docker tag liangjw/kube-webhook-certgen:v1.1.1 k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1

4、所有命令整合

docker pull liangjw/kube-webhook-certgen:v1.1.1
docker tag liangjw/kube-webhook-certgen:v1.1.1 k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1

docker pull liangjw/ingress-nginx-controller:v1.1.0
docker tag liangjw/ingress-nginx-controller:v1.1.0 k8s.gcr.io/ingress-nginx/controller:v1.1.0

docker pull liangjw/kube-webhook-certgen:v1.1.1
docker tag liangjw/kube-webhook-certgen:v1.1.1 k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1

注意,镜像下载完毕后,需要将deploy.yaml中,所有镜像后面的校验码删除
在这里插入图片描述

4、修改Service

在这里插入图片描述
将LoadBalancer修改为NodePort

5、执行

将deploy.yaml上传到服务器
执行

kubectl apply -f deploy.yaml

等待片刻,执行

kubectl get pod -n ingress-nginx

可以看到这两个pod已经创建
在这里插入图片描述
reboot重启服务器
在这里插入图片描述
nginx-ingress-controller到此已创建完毕

通过svc的端口进行访问


kubectl get svc -n ingress-nginx

在这里插入图片描述
在这里插入图片描述

Logo

开源、云原生的融合云平台

更多推荐