<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                Ambassador 可以從您的應用程序外部輕松訪問您的服務。這包括gRPC服務,雖然需要一些額外的配置:默認情況下,Envoy使用HTTP / 1.x連接到上游服務,然后盡可能升級到HTTP / 2。但是,gRPC建立在HTTP / 2上,而大多數gRPC服務器根本不會說HTTP / 1.x. Ambassador 必須告訴底層 Envoy 你的gRPC服務只想通信到HTTP/2,使用grpc屬性 `Mapping`。 ## Writing a gRPC service for Ambassador ### Dockerize 在構建我們的gRPC應用程序并在本地測試它之后,我們需要將其打包為Docker容器并將其部署到Kubernetes。 要運行gRPC應用程序,我們需要包括client/server和proto定義。 ### 映射gRPC服務 Ambassador Mappings基于URL前綴; 對于gRPC,URL前綴是完整的服務名稱,包括包路徑(package.service)。這些在.proto定義文件中定義。在示例proto定義文件中,我們看到: ``` package helloworld; // The greeting service definition. service Greeter { ... } ``` 所以URL prefix是`helloworld.Greeter`,映射將是: ``` --- apiVersion: ambassador/v0 kind: Mapping name: grpc_py_mapping grpc: True prefix: /helloworld.Greeter/ rewrite: /helloworld.Greeter/ service: grpc-example ``` ### 部署到Kubernetes `grpc_example.yaml ` ``` --- apiVersion: v1 kind: Service metadata: labels: service: grpc-example name: grpc-example annotations: getambassador.io/config: | --- apiVersion: ambassador/v0 kind: Mapping name: grpc_java_mapping grpc: True prefix: /Simple/ rewrite: /Simple/ service: grpc-example spec: type: ClusterIP ports: - name: grpc-greet port: 80 targetPort: grpc-api selector: service: grpc-example --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: grpc-example spec: replicas: 1 template: metadata: labels: service: grpc-example spec: containers: - name: grpc-example image: woms/grpc-server:0.0.1 ports: - name: grpc-api containerPort: 9898 restartPolicy: Always ``` 將Ambassador映射添加到服務后,Kubernetes部署YAML文件的其余部分非常簡單。我們需要識別要使用的容器映像,公開containerPort以偵聽Docker容器正在偵聽的同一端口,并將服務端口(80)映射到容器端口(9898)。 配置YAML文件后,使用kubectl將其部署到集群。 ``` $ kubectl apply -f grpc_example.yaml ``` ### 測試部署 確保在進行更高級的更改(例如添加TLS)之前測試您的Kubernetes部署。要使用Ambassador 測試任何服務,我們將需要您可以獲得的正在運行的 Ambassador 服務的主機名: ``` $ kubectl get service ambassador -o wide ``` 將grpc-client的鏈接更改為:`$AMBASSADORHOST:$PORT` ## gRPC and TLS 通過 ambassador 通過加密通道連接到gRPC服務需要一些額外的配置。目前,gRPC和 ambassador通信通過明文。 ![](https://d33wubrfki0l68.cloudfront.net/1fee79d11765ad8cba0cd6133c4f02f5a9acd3c8/8073b/images/grpc-tls.png) 如果要在gRPC調用中添加TLS加密,首先需要告訴Ambassador添加HTTP / 2執行TLS所需的ALPN協議。接下來,您需要稍微更改客戶端代碼并告訴它與Ambassador打開一個安全的RPC通道。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看