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

在Knative中使用Kourier網關

Kourier是一個基于Envoy架構實現的輕量級網關,提供Knative Revisions流量分發,支持gRPC服務、超時和重試、TLS證書和外部認證授權等功能。本文介紹如何在Knative中使用Kourier網關。

前提條件

步驟一:部署Kourier網關

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

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

  3. 組件管理頁簽的add-on組件區域,單擊Kourier右側操作列下的部署,然后在彈出框單擊確定

    Kourier狀態顯示為已部署,表示部署成功。

步驟二:通過Kouier網關訪問服務

本文以創建helloworld-go服務進行訪問測試為例。

場景一:通過Kourier網關訪問HTTP服務

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

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

  3. Knative頁面的服務管理頁簽下,選擇命名空間default,然后單擊使用模板創建,將以下YAML示例粘貼至模板,最后單擊創建

    創建一個名為helloworld-go的服務。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
    spec:
      template:
        spec:
          containers:
          - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
            env:
            - name: TARGET
              value: "Knative"

    若目標服務的狀態列顯示成功,表明服務已部署成功。

  4. 服務管理頁面的默認域名訪問網關列,分別獲取helloworld-go服務的域名和網關地址。

  5. 執行以下命令,訪問helloworld-go服務。

    curl -H "host: helloworld-go.default.example.com" http://8.141.XX.XX # 網關IP和域名請以您的實際數據為準。

    預期輸出:

    Hello Knative!

    預期輸表明,訪問HTTP服務成功。

場景二:通過Kourier網關訪問HTTPS服務

  1. 創建一個名為helloworld-go的服務。

    具體操作,請參見步驟3

  2. 創建證書。

    1. 執行以下命令,生成TLS證書。

      openssl genrsa -out tls.key 4096
      openssl req -subj "/CN=*.example.com/L=*.example.com" -sha256  -new -key tls.key -out tls.csr
      echo subjectAltName = DNS:helloworld-go.default.example.com,DNS:helloworld-go.default.example.cn > extfile.cnf
      openssl x509 -req -days 3650 -sha256 -in tls.csr -signkey tls.key -out tls.crt -extfile extfile.cnf
    2. 執行以下命令,根據生成的TLS證書文件創建集群的Secret。

      kubectl -n knative-serving create secret tls kourier-cert --key tls.key --cert tls.crt
  3. 執行以下命令,查看knative-serving命名空間下是否存在名為net-kourier-controller的Deployment。

    kubectl get deployments -n knative-serving
  4. 執行以下命令,配置證書信息。

    kubectl -n knative-serving edit deployment net-kourier-controller

    net-kourier-controller配置信息頁面,為如下參數添加Value值。

    • CERTS_SECRET_NAMESPACE:添加證書Secret所在的命名空間。

    • CERTS_SECRET_NAME:添加證書Secret名稱。

    ...
       spec:
          containers:
          - env:
            - name: CERTS_SECRET_NAMESPACE
              value: knative-serving 
            - name: CERTS_SECRET_NAME
              value: kourier-cert
    ...
    1. 執行以下命令,查看net-kourier-controllerd的狀態。

      kubectl -n knative-serving get po

      預期輸出:

      NAME                               READY   STATUS    RESTARTS   AGE
      net-kourier-controller-******   1/1     Running   0          10s
  5. 執行以下命令,通過證書訪問HTTPS服務。

    curl -H "host: helloworld-go.default.example.com" -k --cert tls.crt --key tls.key //8.141.XX.XX # 網關IP和域名請以您的實際數據為準。

    預期輸出:

    Hello Knative!

    預期輸出表明,訪問HTTPS服務成功。