k8s安装nginx-ingress-controller
k8s版本为,v1.20.21、下载nginx-ingress-controller对应yaml下载地址:https://github.com/kubernetes/ingress-nginx/blob/main/deploy/static/provider/cloud/deploy.yaml如果地址不正确了,可以到github去找github(点击跳转)2、下载所需镜像deploy.yaml中有
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
更多推荐
所有评论(0)