日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

為Knative服務配置HTTPS證書訪問

如您需要在Knative服務中使用自定義域名,推薦您為自定義域名配置一個HTTPS證書,提高數據傳輸的安全性。Knative支持通過配置DomainMapping的方式指定HTTPS證書,將Knative服務安全地映射到自定義域名。

前提條件

已在ACS集群中部署Knative。具體操作,請參見部署Knative

步驟一:創建Knative服務

  1. 登錄容器計算服務控制臺,在左側導航欄選擇集群

  2. 集群頁面,單擊目標集群ID,然后在左側導航欄,選擇應用 > Knative

  3. Knative頁面的服務管理頁簽,選擇命名空間default,然后單擊使用模板創建,選擇使用容器控制臺的示例模板創建Knative服務(helloworld-go服務),根據控制臺指引完成服務的創建。

    image.png

步驟二:創建Secret證書

在Knative中,使用Secret存儲和管理敏感信息,例如密鑰、密碼和證書等。本步驟使用OpenSSL創建一個自簽名的HTTPS證書,并將證書和私鑰文件編碼為Base64格式,然后以Secret的形式存儲到集群中。以下以自簽名證書為例,介紹如何創建Secret證書。

  1. 執行以下命令,通過OpenSSL創建自簽名證書。

    openssl genrsa -out knativetop-key.pem 4096
    openssl req -subj "/CN=helloworld.knative.top" -sha256  -new -key knativetop-key.pem -out knativetop.csr
    echo subjectAltName = DNS:helloworld.knative.top > extfile.cnf
    openssl x509 -req -days 3650 -sha256 -in knativetop.csr -signkey knativetop-key.pem -out knativetop-cert.pem -extfile extfile.cnf

    預期輸出:

    Signature ok
    subject=CN = helloworld.knative.top
    Getting Private key
  2. 步驟1中的knativetop-key.pemknativetop-cert.pem文件內容進行Base64編碼。

    • 執行以下命令,將knativetop-key.pem進行Base64編碼。

      cat knativetop-key.pem | base64

      預期輸出:

      a25hdGl2ZXRvcC1r******
    • 執行以下命令,將knativetop-cert.pem進行Base64編碼。

      cat knativetop-cert.pem | base64

      預期輸出:

      a25hdGl2ZXRvcC1jZ******==
  3. 執行以下命令,創建Secret。

    Secret可以用于Knative服務的TLS配置中,以實現對域名helloworld.knative.top的安全訪問。

    kubectl create secret tls secret-tls --key knativetop-key.pem --cert knativetop-cert.pem

    預期輸出:

    secret/secret-tls created

步驟三:創建DomainMapping

在Knative 中,DomainMapping是一個資源對象,用于將一個域名映射到一個或多個Knative服務。通過創建DomainMapping,您可以將一個自定義的域名映射到一個Knative服務,使得應用程序可以通過這個域名進行訪問。

  1. 執行以下命令,創建helloworld.knative.top.yaml文件。

    vim helloworld.knative.top.yaml
  2. 在vi編輯器中添加以下YAML內容,保存后退出編輯器。

    apiVersion: serving.knative.dev/v1beta1
    kind: DomainMapping
    metadata:
      name: helloworld.knative.top
      namespace: default
    spec:
      ref:
        name: helloworld-go
        kind: Service
        apiVersion: serving.knative.dev/v1
    # tls block specifies the secret to be used
      tls:
        secretName: secret-tls
  3. 執行以下命令,將helloworld.knative.top.yaml中定義的資源應用到Kubernetes集群中。

    kubectl apply -f helloworld.knative.top.yaml

    預期輸出:

    domainmapping.serving.knative.dev/helloworld.knative.top created
  4. 執行以下命令,驗證DomainMapping。

    kubectl get domainmapping helloworld.knative.top

    預期輸出:

    NAME                          URL                                      READY   REASON
    helloworld.knative.top       https://helloworld.knative.top            True

步驟四:訪問HTTPS服務

執行以下命令,訪問HTTPS服務。

ALB

在AlbConfig中添加443監聽,例如knative-internet,配置如下。

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: knative-internet
spec:
  config:
  ...
  listeners:
    - port: 443
      protocol: HTTPS # protocol的可選項為HTTP、HTTPS、QUIC。
  ...

執行訪問:

# alb-ppcate4ox6******.cn-beijing.alb.aliyuncs.com為ALB網關地址。
curl -H "host: helloworld.knative.top" https://alb-ppcate4ox6******.cn-beijing.alb.aliyuncs.com -k

MSE

# 8.141.XX.XX為MSE網關地址。
curl -H "host: helloworld-go.default.example.com" https://8.141.XX.XX -k

ASM

# 8.141.XX.XX為ASM網關地址。
curl -H "host: helloworld-go.default.example.com" http://8.141.XX.XX -k

預期輸出:

Hello Knative!

相關文檔

您可以配置探針(Probe),監測Knative服務的健康狀態和可用性,請參見在Knative中配置端口探測