kubernetes部署ingress-nginx

kubernetes1.23.x部署ingress-nginx

版本说明

kubernetes: 1.23.5
ingress-nginx: controller-v1.1.1

官方yaml文件下载地址

https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml

修改-镜像:

查看用了哪些镜像
cat deploy.yaml |grep image

替换镜像
如上图,注释的为官方镜像地址,未注释的image为替换后的国内镜像地址
image: registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.1.1
image: registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.1.1
最好先测试下镜像是否能拉下来

修改-端口映射:

修改名为ingress-nginx-controller的service中的如下部分
type: NodePort
nodePort: 30080
nodePort: 30443


这样就将容器的80/443端口,暴露到主机的30080/30443
注意k8s默认的使用端口范围是30000-3xxxx,设置范围外的端口还需要修改配置文件

修改-pod数量:

修改名为ingress-nginx-controller的Deployment,添加如下
replicas: 3

如果想让pod在指定的机器上运行,先给节点打上标签,然后再修改如下部分
#我打的标签是 node/type: master

创建

kubectl apply -f deploy.yaml

查看pod
如下图三个pod已启动并运行

测试

使用curl或者浏览器测试

注意!!!
测试发现集群所有节点均已运行了30080/30443端口
只有运行了ingress pod的节点才能访问通

posted @ 2022-06-11 12:30  tangshow  阅读(395)  评论(0)    收藏  举报