ASK Knative使用SLB作为Gateway。除了HTTP以外,Gateway还提供HTTPS功能。Knative默认给Gateway生成一个自签名的HTTPS证书,没有域名限制,可用于测试。在使用Knative部署线上服务时,您需要创建HTTPS证书,并将Knative Gateway Service的证书ID修改为创建的证书ID。本文介绍如何查看、创建和使用HTTPS证书。

Gateway的详细介绍请参见Knative Gateway

查看默认证书

  1. 登录负载均衡管理控制台
  2. 在左侧导航栏,单击证书管理
  3. 证书管理页面找到knative-default-gateway-cert,knative-default-gateway-cert就是Knative的默认证书。默认证书由Knative自动生成,可用于测试。

创建证书

您可以通过使用阿里云签发的证书或上传非阿里云签发的证书的方式创建证书,详细介绍请参见选择阿里云签发证书上传非阿里云签发证书

使用创建的证书

  1. 登录负载均衡管理控制台
  2. 在左侧导航栏,单击证书管理
  3. 证书管理页面鼠标悬停至目标证书ID,单击目标证书证书名称/ID列的复制,复制证书ID。
  4. 将Knative Gateway Service的service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id的值修改为步骤3中复制的证书ID。通过这个Annotation指定证书ID后,您就可以使用创建的证书提供服务。
    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443"
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"
      name: nginx
    spec:
      ports:
      - port: 443
        protocol: TCP
        targetPort: 80
      selector:
        run: nginx
      type: LoadBalancer

多域名证书管理

阿里云SLB支持配置多个证书,每一个证书可以服务一组域名,您可以配置多组证书和域名。
说明 更多域名管理操作请参见添加扩展域名
  1. 登录负载均衡管理控制台
  2. 在左侧导航栏,选择实例 > 实例管理
  3. 实例管理页面,单击负载均衡实例的ID。
  4. 监听页签找到已创建的HTTPS监听,选择操作列下的 更多 > 扩展域名管理
    说明监听页签监听的前端协议/端口列显示HTTPS,则表示该监听是HTTPS监听。
  5. 扩展域名管理页面,单击添加扩展域名,输入扩展域名,选择服务器证书。

    域名只能由字母、数字、连字符(-)和点(.)组成,首位必须是字母或数字。合法域名检测,请参见阿里云域名检测工具

  6. 单击确定