中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

apisix~helm方式(shi)的部署(shu)到(dao)k8s

使用 helm 部署 apisix

相關閱讀:

  • >

對接到APISIX上(shang)的(de)項目(mu),它們的(de)域名(ming)通常需(xu)要是APISIX Gateway 的(de)域名(ming)。APISIX 是一(yi)個開源的(de)動態可編程的(de) API 網關,用于處(chu)理(li)和管理(li) API 請(qing)(qing)(qing)求(qiu)(qiu)流量,通常會通過配置(zhi)路由(you)規則將請(qing)(qing)(qing)求(qiu)(qiu)轉(zhuan)發(fa)到后(hou)端(duan)服(fu)務。因此,為了(le)使請(qing)(qing)(qing)求(qiu)(qiu)能夠正確地經過APISIX進行(xing)處(chu)理(li),前端(duan)項目(mu)或(huo)客戶端(duan)應(ying)該使用APISIX Gateway 的(de)域名(ming)來訪問API服(fu)務。這樣可以確保請(qing)(qing)(qing)求(qiu)(qiu)能夠被(bei)正確地路由(you)到后(hou)端(duan)服(fu)務,并獲得正確的(de)響(xiang)應(ying)。

apisix 介紹

Apache APISIX 是一個動態、實時、高性能的云原生 API 網關,提供了負載均衡、動態路由、灰度發布、服務熔斷、身份認證、可觀測性等豐富的流量管理功能。
官方地址:

什么是apisix

Apache APISIX 是一個高性能、輕量級(ji)的(de)開源 API 網(wang)關,基于 Nginx 和(he) OpenResty 構建。APISIX 提供了(le)豐富的(de)功能和(he)靈(ling)活的(de)配置,適(shi)用于構建現代(dai)的(de)微(wei)服務架(jia)構和(he)云原生應用。

以下是(shi) Apache APISIX 的(de)一些主要特點和功(gong)能:

  1. 動態路由:APISIX 支持(chi)基于請求路(lu)徑、方法、頭部(bu)等條件(jian)進行(xing)動態路(lu)由(you),可以根據需(xu)求靈活(huo)配置路(lu)由(you)規則。

  2. 負載均衡:內置(zhi)多(duo)種(zhong)負載均衡算法,支持權重、IP 黑白名(ming)單等策略,實現流量分發和控制。

  3. 熔斷與限流:提供熔斷(duan)器和(he)限流功能,保護后端服務免受突(tu)發流量沖擊,確(que)保系統穩定性。

  4. 插件系統:APISIX 提供豐富的插件系統,包(bao)括認(ren)證、日志、監控、緩(huan)存、轉發(fa)、重試等插件,方便擴(kuo)展和定制功(gong)能。

  5. 動態 SSL/TLS:支持(chi)動(dong)態證書管理,實(shi)現自動(dong)化的 SSL/TLS 配置和(he)更新(xin),保障(zhang)通(tong)信安全(quan)。

  6. 靈活配置:采用基于 Lua 的 DSL(Domain Specific Language)進行配(pei)置,具有靈活性和可擴(kuo)展性,方便(bian)定制(zhi)化需求。

  7. 可觀測性:提(ti)供豐(feng)富的監(jian)控指(zhi)標和日(ri)志輸出,支(zhi)持 Prometheus、Grafana 等監(jian)控工具,幫助(zhu)實時監(jian)控和調(diao)優系統(tong)。

  8. 云原生支持:APISIX 可以無縫集成到 Kubernetes 等容器(qi)編排平臺中,支持自動伸縮、動態配置等特(te)性(xing)。

總的(de)來(lai)說,Apache APISIX 是一個(ge)功能強大、易于擴展的(de) API 網關,適用于構建(jian)高性(xing)能、可靠的(de)微服務架構,并提(ti)供豐富的(de)功能和(he)靈活的(de)配置選項來(lai)滿足不同場(chang)景下的(de)需求。

apisix架構

APISIX 主要(yao)分為兩個部分:

APISIX 核心:包括 Lua 插件、多語言插件運行時(Plugin Runner)、Wasm 插件運行時等;
功能豐富的各種內置插件:包括可觀測性、安全、流量控制等。

APISIX 在其核心中(zhong),提(ti)供了(le)路由匹配、負載均衡(heng)、服務發現、API 管(guan)理(li)等(deng)重(zhong)要功能,以(yi)(yi)及(ji)配置管(guan)理(li)等(deng)基礎性(xing)模塊。除此之外,APISIX 插(cha)件運(yun)行(xing)(xing)時也包(bao)含其中(zhong),提(ti)供原生 Lua 插(cha)件的運(yun)行(xing)(xing)框(kuang)(kuang)架(jia)和多語(yu)(yu)言插(cha)件的運(yun)行(xing)(xing)框(kuang)(kuang)架(jia),以(yi)(yi)及(ji)實(shi)驗性(xing)的 Wasm 插(cha)件運(yun)行(xing)(xing)時等(deng)。APISIX 多語(yu)(yu)言插(cha)件運(yun)行(xing)(xing)時提(ti)供多種開發語(yu)(yu)言的支(zhi)持,比如 Golang、Java、Python、JS 等(deng)。

APISIX 目(mu)前也內置了各(ge)類插件,覆蓋了 API 網關(guan)的各(ge)種(zhong)領(ling)域,如認證鑒權、安全、可(ke)觀測(ce)性(xing)、流量管理(li)、多(duo)協議接(jie)入等。當(dang)前 APISIX 內置的插件使(shi)用原生 Lua 實現,關(guan)于各(ge)個插件的介紹與使(shi)用方式,可(ke)以查看(kan)相(xiang)關(guan)插件文檔。

插件加載流程

插件內部結構

helm方式部署apisix

下載官方的包

helm repo add apisix //charts.apiseven.com

helm pull apisix/apisix

# 可能版本有更新
tar zxvf apisix-2.7.0.tgz

配置dashboard后臺帳號

  • values.yaml文件中dashboard節點
dashboard:
  enabled: true
  config:
    authentication:
      users:
        - username: admin
          password: admin123

配置apisix時區

  • values.yaml文件中,修改timezone的值,如設置時區為東八timezone: "Asia/Shanghai"

nginx擴展配置

  • values.yaml文件中的apisix.nginx.configurationSnippet.httpStart節點
apisix:
    nginx:
        configurationSnippet:
          httpStart: |
            client_body_buffer_size 20m; # 設置用于讀取客戶端請求體(Request Body)的緩沖區為20M
            large_client_header_buffers 4 512k; # 設置用于讀取大型客戶端請求頭(Request Headers)的緩沖區的數量和大小
            client_header_buffer_size 512k; # 設置用于讀取常規客戶端請求頭的緩沖區大小

日志跟蹤opentelemetry配置

  • values.yaml文件中的apisix.opentelemetry節點,配置otel-collector收集器地址
apisix:
  opentelemetry: 
    enabled: true
    resource:
      service:
        name: apisix-test # 應用名稱
    collector:
      address: otel-collector.apisix:4318 # OpenTelemetry Collector OTLP HTTP Receiver地址
      request_timeout: 3
    batch_span_processor: # 配置批量處理
      drop_on_queue_full: false
      max_queue_size: 6
      batch_timeout: 2
      inactive_timeout: 1
      max_export_batch_size: 2

服務發現k8s和nacos配置

  • values.yaml文件中的apisix.discovery節點,k8s支持多集群模式,可為每個集群起個別名
  discovery:
    enabled: true
    registry:
      nacos:
        host:
          - "//mse-nacos.com:8848"
        prefix: "/nacos/v1"
        fetch_interval: 1
        weight: 1
        timeout:
          connect: 80000 #可按著上游的超時時間進行配置
          send: 10000
          read: 10000
      kubernetes:
        - id: svt
          service:
            schema: https
            host: 10.10.104.19
            port: "6443"  #這里有一個比較坑的地方,port 必須是字符串,否則會導致 APISIX 啟動報錯
          client:
            token: k8s-token
        - id: pre
          service:
            schema: https
            host: 10.10.85.93
            port: "6443"
          client:
            token: k8s-token

etcd存儲配置

  • values.override.yaml
  • 功能:添加自定義的存儲類為etcd
service:
  http:
    nodePort: 30080

apisix-dashboard:
  service:
    type: NodePort
    port: 80
    nodePort: 30081

dashboard:
  enabled: true
  config:
    authentication:
      users:
        - username: admin
          password: admin

ingress-controller:
  enabled: true
  config:
    log_level: debug
    apisix:
      adminAPIVersion: "v3"
      serviceNamespace: apisix #這個是apisix所在的命令空間

etcd:
  enable: true 
  persistence:
    storageClass: nfs-provisioner #這個提前建立

nfs-provisioner實現自動創建pv請查看我的k8s~動態生成pvc和pv這篇文章

安裝apisix

# 安裝時,將使用自定義文件values.override.yaml 
helm -n apisix install apisix -f ./apisix/values.override.yaml ./apisix

進入dashboard管理平臺

posted @ 2024-05-10 08:57  張占嶺  閱讀(1131)  評論(0)    收藏  舉報