您可以为在EDAS容器服务Kubernetes集群中部署的应用添加SSL证书,为应用提供HTTPS保护,将所有Web流量加密以防数据遭到窃取和篡改,从而保证应用的安全性。本文将以一个示例介绍如何实现应用的数据加密传输。
前提条件
已获取由证书颁发机构 (CA)签署的SSL证书。推荐您使用
阿里云SSL证书,也可以从第三方证书颁发机构获取证书。
在负载均衡SLB中创建证书
- 登录负载均衡管理控制台。
- 在左侧导航栏单击证书管理。
- 在证书管理页面单击创建证书。
- 在创建证书面板中选择阿里云签发证书,并设置相关参数,然后单击创建。
选择阿里云签发证书参数说明:
参数 |
说明 |
证书列表 |
在下拉列表中选择您在阿里云SSL证书中购买并签发的证书。如果没有可在SSL证书中购买,请参见购买SSL证书。
|
所属资源组 |
选择默认资源组即可。 |
证书部署地域 |
选择您要实现身份验证和数据加密传输的应用所在的地域。本示例为华北2(北京)。
|
创建完成后,返回
证书管理页面,查看证书。
在容器服务Kubernetes版中为应用创建服务(Dashboard)
说明 容器服务Kubernetes版控制台和Dashboard的功能有些差别,推荐您使用Dashboard创建服务。
- 登录容器服务控制台。
- 在左侧导航栏选择集群。
以在EDAS创建应用所使用的集群类型为准。
- 在集群列表找到您导入EDAS并创建应用的集群,在操作列单击更多下拉列表中的Dashboard 。
说明 当您选择集群后,也就选择了该集群所在的地域和K8s Namespace。
- 在该集群Dashboard的左侧导航栏单击服务,然后在服务页面右上角单击创建。
- 在创建资源页面单击使用文本创建页签。
- 在使用文本创建页签中输入YAML或JSON格式定义的资源,部署在当前所选的K8s Namespace内,然后单击上传。
配置SLB时,需要注意以下限制:
- 使用已有SLB会强制覆盖已有监听。
- 创建服务时新建的SLB不能复用(会导致SLB被意外删除)。
- 复用同一个SLB的多个服务不能设置相同的服务端口,否则会造成端口冲突。
- 不支持跨集群复用SLB。
配置SLB,有两种情况:
- 已有公网SLB,可以基于以下YAML示例修改配置。
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: xxxxxxxxxxxxxxxxxxxxxxxxxxx # 负载均衡创建的证书ID
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: http:80,https:443
service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet # 公网SLB
service.beta.kubernetes.io/alicloud-loadbalancer-id: xxxxxx # 已有SLB的ID
service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners: true
name: app-test-https # 任意命名,例如internet-{{应用名}}-{{随机字符串}}
namespace: default
spec:
ports:
- name: http-80
port: 80
protocol: TCP
targetPort: 8080
- name: https-443
port: 443
protocol: TCP
targetPort: 8080
selector:
edas.appid: xxxxx-xxxx-xxxxx-xxxxxxxx # EDAS容器服务Kubernetes集群中部署的应用的ID
sessionAffinity: None
type: LoadBalancer
- 新建SLB,需要在YAML示例中删除以下3个参数配置。
service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet # 公网SLB
service.beta.kubernetes.io/alicloud-loadbalancer-id: xxxxxx # 已有SLB的ID
service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners: true
如果您想了解或使用更多通过SLB访问Kubernetes服务的参数,请参见
注释。
返回服务页面,等待服务创建成功。服务创建成功后,可以看到服务的外部端点显示<SLB IP>:<配置的port>
,并且包含HTTPS的443端口信息。则说明该服务创建成功,如下图所示。

在云解析DNS中添加域名和域名解析
您需要在云解析DNS中添加域名和域名解析,以便您提供服务的域名可以通过HTTPS访问。更多信息,请参见域名管理和添加解析记录。
结果验证
操作完成后,检查是否可以通过HTTPS安全访问服务域名。
- 打开浏览器,访问https://edas.site。
- 查看服务是否可以正常访问,且地址栏显示访问是安全的。