<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      k8s~envoy上添加wasm插件

      先查看這篇文章k8s~envoy的部署

      當在Kubernetes中使用Envoy的WASM過濾器時,WASM過濾器會與Envoy一起部署在同一個Pod中,并與后端服務進行通信。以下是一個簡單的關系圖示意:

        +----------------------+
        |       Kubernetes     |
        |        Cluster       |
        +----------|-----------+
                   |
                   |
        +----------v-----------+
        |                      |
        |        Pod           |
        |                      |
        | +------------------+ |
        | |      Envoy       | |
        | |   with WASM     | |
        | |   Filter       | |
        | +------------------+ |
        | |   Backend App   | |
        | +------------------+ |
        |                      |
        +----------------------+
      

      在這個示意圖中,我們有一個運行在Kubernetes中的Pod,其中包含了Envoy和后端服務兩個容器。Envoy與WASM過濾器一起作為Sidecar代理與后端服務一起運行,負責處理流量轉發、負載均衡、安全策略等功能。后端服務則是實際提供業務功能的應用程序。

      wasm部署過程

      WASM過濾器可以在Envoy中攔截請求并對其進行修改或增強,然后將請求發送到后端服務。這種部署模式允許WASM過濾器直接與Envoy共享相同的網絡命名空間,并通過Envoy來與后端服務通信。

      在Kubernetes中應用Envoy的Filter并實現WebAssembly(WASM)的過濾器涉及以下幾個步驟:

      1. 準備WASM模塊:

        • 編寫你的WASM模塊,其中包含Envoy的Filter邏輯。確保你的WASM模塊包含了你期望的Filter行為,比如認證、日志記錄等。
        • 編譯WASM模塊,以確保其與Envoy兼容。
      2. 配置Envoy Filter:

        • 在你的Envoy配置文件中,添加一個Filter配置,指定使用你的WASM模塊。

        • 在配置文件中,你可能需要添加類似以下的部分:

          filters:
            - name: envoy.filters.http.wasm
              config:
                name: "my_wasm_filter"
                root_id: "my_root_id"
                vm_config:
                  code:
                    local: 
                      filename: "/etc/wasm/ip-rate-limit/main.wasm"
                  runtime: "envoy.wasm.runtime.v8"
                configuration: 
                   "@type": "type.googleapis.com/google.protobuf.StringValue"
                         value: |
                           {
                             "ttlSecond": 60,
                             "burst": 3
                           }
          
      • 請根據實際情況替換 my_wasm_filtermy_root_id、/etc/wasm/ip-rate-limit/main.wasm。
      • 如果你的envoy部署在k8s里,那上面的文件應該是envoy pod里的路徑,你可以通過pvc進行指定pv,(pv對應存儲類或者持久類)
      1. 部署Envoy配置:

        • 將更新后的Envoy配置部署到Rancher or k8s中。
      2. 監控日志和錯誤:

        • 監控Envoy的日志以查看是否有任何關于WASM Filter的錯誤或警告。確保Envoy能夠成功加載和運行你的WASM模塊。
      3. 測試Filter行為:

        • 發送請求到Envoy并確保WASM Filter按照預期進行操作??梢酝ㄟ^查看Envoy的日志、觀察返回的請求或使用其他調試工具來驗證Filter的行為。

      envoy版本的注意項

      • envoyproxy/envoy:v1.21-latest,對應10000端口
      • envoyproxy/envoy 對應80端口

      完成的envoy.yaml配置

      admin:
        access_log_path: /tmp/admin_access.log
        address:
          socket_address: { address: 0.0.0.0, port_value: 9901 } #envoy后臺系統的端口
      
      static_resources:
        listeners:
        - name: listener_0
          address:
            socket_address: { address: 0.0.0.0, port_value: 10000 } #envoy路由的端口
          filter_chains:
          - filters:
            - name: envoy.filters.network.http_connection_manager
              typed_config:
                "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                scheme_header_transformation:
                  scheme_to_overwrite: https
                stat_prefix: ingress_http
                route_config:
                  name: local_route
                  virtual_hosts:
                  - name: local_service
                    domains: ["*"]
                    routes:
                    - match:
                        prefix: "/"
                      route:
                        cluster: httpbin
                http_filters:
                - name: wasmdemo
                  typed_config:
                    "@type": type.googleapis.com/udpa.type.v1.TypedStruct
                    type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
                    value:
                      config:
                        name: wasmdemo
                        vm_config:
                          runtime: envoy.wasm.runtime.v8
                          code:
                            local:
                              filename: /etc/wasm/ip-rate-limit/main.wasm
                        configuration:
                          "@type": "type.googleapis.com/google.protobuf.StringValue"
                          value: |
                            {
                              "ttlSecond": 60,
                              "burst": 3
                            }
      
                - name: envoy.filters.http.router
        clusters:
        - name: httpbin
          connect_timeout: 30s
          type: LOGICAL_DNS
          # Comment out the following line to test on v6 networks
          dns_lookup_family: V4_ONLY
          lb_policy: ROUND_ROBIN
          load_assignment:
            cluster_name: httpbin
            endpoints:
            - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: httpbin_app_service.app_namespace
                      port_value: 8080
      

      最后,我們把envoy服務的10000端口公開出去,在集群外就可以訪問它了,你的wasm就可以被啟用了;當然將10000端口公開出現的方法有很多,比較通用的方式是將它通過ingress或者阿里higress進行代理,更靈活。

      posted @ 2023-12-08 16:28  張占嶺  閱讀(607)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 溧水县| 亚洲精品日韩在线观看| 成人精品大片—懂色av| 久久久久无码精品国产不卡| 亚洲综合网一区中文字幕| 国产成人av电影在线观看第一页 | 无码高潮爽到爆的喷水视频app| 国产成人午夜精品福利| 亚洲爆乳WWW无码专区| 蜜桃av亚洲第一区二区| 妺妺窝人体色www看美女| 色噜噜狠狠成人综合| 无码精品国产va在线观看| 日韩午夜福利片段在线观看 | 亚洲一区二区偷拍精品| 毛片大全真人在线| 久久久久久人妻一区精品| 久久精品蜜芽亚洲国产av| 精品国产乱码久久久久APP下载| 欧美成a人片在线观看久| 亚洲av优女天堂熟女久久| 精品人妻av区乱码| 欧美和黑人xxxx猛交视频| 亚洲国产精品高清久久久 | 香蕉久久久久久久av网站| 国产色悠悠视频在线观看| 亚洲中文字幕av天堂| free性开放小少妇| 乱码午夜-极品国产内射| 51午夜精品免费视频| 欧美性猛交xxxx乱大交丰满| 亚洲av综合久久成人网| 99久久免费精品色老| 亚洲an日韩专区在线| 无码国产欧美一区二区三区不卡| 福利一区二区不卡国产| 婷婷成人丁香五月综合激情 | 国产无遮挡裸体免费视频在线观看| 国产一区二区不卡在线视频| 无码精品人妻一区二区三区中| 正在播放的国产A一片|