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  阅读(305)  评论(0编辑  收藏  举报