[Kubernetes] 阿里云容器服务Kubernetes配置负载均衡HTTPS ...

本文介绍在Kubernetes环境中,利用SLB实现HTTPS安全访问的三种方式,重点讲解了如何通过更新IngressService配置,实现在SLB上配置HTTPS443端口到Ingress的映射,使SLB通过HTTP将流量转发到Ingress。

在云端环境使用Kubernetes与SLB(负载均衡器)搭建HTTPS时,有多种实现的方式:

  1. 在SLB上配置HTTPS,SLB通过HTTP直接访问到集群内的具体服务(SLB负责处理HTTPS)
  2. 在SLB上配置TCP 443端口到Ingress的映射,SLB通过TCP将流量转发到Ingress,在容器集群内为具体服务配置Ingress路由,并配置TLS证书(Ingress负责处理HTTPS)
  3. 在SLB上配置HTTPS 443端口到Ingress的映射,SLB通过HTTP将流量转发到Ingress,在容器集群内为具体服务配置Ingress路由(SLB负责处理HTTPS)

阿里云的Kubernetes文档里,介绍了第一种和第二种方式的配置,但是没有第三种配置的方法:在Kubernetes中实现HTTPS安全访问

经过一些尝试,发现在容器服务Kubernetes的环境基础上,可以通过自行更新Ingress Service的配置,实现第三种配置,步骤如下:

  1. 在SLB上传SSL证书(如果使用了阿里云SSL证书服务,可直接在证书服务控制台将证书推送到SLB),记录证书在SLB的id
  2. 在容器服务 - Kubernetes控制台,进入“服务”,将命名空间切换为“kube-system”,更新nginx-ingress-lb服务配置,做以下修改:
    将服务端口443映射到容器端口80

在注解中添加参数 service.beta.kubernetes.io/alicloud-loadbalancer-cert-id,对应值为步骤1记录的证书id;添加参数service.beta.kubernetes.io/alicloud-loadbalancer-protocol-port,对应值为"https:443"
image

  1. 配置相应的ingress路由,配置好域名,此时就可以在浏览器中通过https协议访问到相应的路由了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值