Ali Ingres Controller安装及路由配置浅析

3 篇文章 0 订阅

前言

本文主要讲述阿里云ACK上安装ingress controller,对外网、内网的slb或者同时对内对外的配置详情及注意事项。

Ingress controller安装配置及注意事项

安装ack时选择安装

此种方式最简单,根据需求即可安装对外或者对内的ingress controller,默认公网访问,安装好即可,如下图所示:
在这里插入图片描述

应用市场手动安装

点击此处查看官方文档安装方式,官方文档介绍的不在赘述,下面只讲述注意事项。

  • 1.20及以上集群选中ack-ingress-nginx-v1,选择所需要安装的集群和命名空间,这里发布名称比较关键,命名过长会重复加上ack生成的字符串会报错,这里只写一个和自己项目关联的关键字名称即可,后面会自动补齐,如下所示
    在这里插入图片描述
  • 下一步官方文档有关controller.ingressClass描述:同一个集群中不同套Ingress Controller监听的Ingress Class标识必须唯一,且不能设置为nginx关键字(nginx是集群默认Ingress Controller的监听标识)。但是默认的ingress class的值包含nginx,如下图所示,所以此处要手动修改成不包含关键字的额名字,如test-internal-ingressclass,不改的话,后续ingress controller将无法使用
    在这里插入图片描述

Ingress对内对外路由配置及注意事项

只有对外服务Ingress配置

默认上面安装好都是对外的ingress,所以假设ack环境中只有一套对外ingress controller,在配置好对应的 service、deployment 服务之后,即可配置对外的 ingress,此处需要注意的地方是annotations里面要指定上面强调容易出错的ingressclass名字,关于ingressclass的更多详情,可以参考此文

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: vccp-internal-ingressclass

对内对外同时存在时ingress配置

同时存在对内外的ingress配置分为如下两种情况:

同一个服务同时需要对内对外

如nacos服务,假设域名nacos.abc.com,为了方便对nacos进行配置,需要暴露到外网内外,此种情况只需要一个ingress controller,在上述部署好对公ingress controller的基础上,部署一个对内intranet SLB,然后再部署一个对内inginx-ingress-lb-intranetservice即可,该service指定创建的私网SLB,创建详情,点击此处查看官方即可,创建完成后及会有两个type 为loadbalancer的svc,一个对内,一个对外,如下所示:

接下来创建一个ingress,指定ingressclass,注意事项详情如上述所示,此处需要特别说明的是创建好的ingress默认 kubectl get ingress查看时显示的address是外网,如下所示。需要外网访问绑定外网地址host,或者外部dns指定;同vpc非ack集群服务访问集群内的服务时,需要用到intranet ingress,此时可以使用阿里自带云解析DNS或者绑定host解析上面截图自建的service对应的内网address即可。
在这里插入图片描述
在这里插入图片描述

不同服务各自对内对外

比如A服务只需要对公网暴露,B服务只需要对私网暴露;此时需要部署两个ingress controller,一个对外一个对内,上面已经部署了一个对外网访问的controller,接下来只需要应用市场里面部署一个对内即可,部署完成,此时有两个ingressclass,ingressclass的作用是指定ingress使用哪一个controller,创建ingress时,annotations里面如上述所示,指定对应ingressclass。
需要额外说明的是对内暴露的服务可以通过上述在创建ack时指定负载均衡类型为私网类型即可,或者应用市场里面再创建一个,创建好之后删除之前的service和对公的SLB,同时按照上述创建对内的slb和service即可,详情可以点击此处看官方文章。
在这里插入图片描述

注意事项

用helm安装的k8s服务,需要通过helm卸载安装,不然有些服务删除不掉,会有各种报错。

  • 可以在ack控制台 应用–云原生–helm里面找到对应服务卸载掉
  • 通过 helm delete --purge chartname删除
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值