如何在阿里云Kubernetes集群中部署多个Ingress Controller

本文介绍了如何在阿里云容器服务Kubernetes集群中部署多个独立的Nginx Ingress Controller,以满足不同网络类型服务的需求。通过部署不同网络类型的SLB实例,实现公网和内网服务的隔离访问。详细步骤包括SLB实例的申请、Nginx Ingress Controller的yaml文件生成与部署,以及访问测试,确保不同Controller的服务独立性。
摘要由CSDN通过智能技术生成

场景说明

在前面如何配置阿里云容器服务K8S Ingress Controller使用私网SLB一文中描述了如何调整阿里云容器服务Kubernetes集群中默认的Nginx Ingress Controller配置使用私网SLB实例,文中提到的两种模式基本可以满足大部分需求场景,但对于一些特殊场景,比如集群内有部分公网服务需要通过公网Ingress方式来对外暴露提供访问,但是又有部分内网服务仅仅只希望对同VPC内非Kubernetes集群内的服务提供访问,而又不允许能被公网访问到,对此我们完全可以通过部署两套独立的Nginx Ingress Controller服务,其前端绑定不同网络类型的SLB实例来满足这类需求场景。

multi_ingress_controller

下面我们以此场景来说明如何在阿里云容器服务Kubernetes集群中同时部署多套独立的Nginx Ingress Controller来对外提供不同的服务访问。

现有服务说明

我们知道,当我们通过阿里云容器服务控制台成功申请一个Kubernetes集群后,默认集群内已经部署了一套带有公网SLB实例的Nginx Ingress Controller服务,通过如下命令可以查看到:

  ~ # 查询集群默认 Nginx Ingress Controller 服务相关资源
  ~ kubectl -n kube-system get svc nginx-ingress-lb default-http-backend
NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)                      AGE
nginx-ingress-lb       LoadBalancer   172.19.7.30     47.95.97.115   80:31429/TCP,443:32553/TCP   2d
default-http-backend   ClusterIP      172.19.11.213   <none>         80/TCP                       2d
  ~
  ~ kubectl -n kube-system get deploy nginx-ingress-controller default-http-backend
NAME                       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
nginx-ingress-controller   2         2         2            2           2d
default-http-backend       1         1     
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值