[Kubernetes] 阿里云容器服务Kubernetes配置负载均衡HTTPS-阿里云开发者社区

开发者社区> 云原生> 正文
登录阅读全文

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

简介: 在云端环境使用Kubernetes与SLB(负载均衡器)搭建HTTPS时,有多种实现的方式: 在SLB上配置HTTPS,SLB通过HTTP直接访问到集群内的具体服务(SLB负责处理HTTPS) 在SLB上配置TCP 443端口到Ingress的映射,SLB通过TCP将流量转发到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协议访问到相应的路由了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

其他文章
最新文章
相关文章