apisix~helm方式的部署到k8s

什麼是apisix

Apache APISIX 是一個高性能、輕量級的開源 API 網關,基於 Nginx 和 OpenResty 構建。APISIX 提供了豐富的功能和靈活的配置,適用於構建現代的微服務架構和雲原生應用。

以下是 Apache APISIX 的一些主要特點和功能:

  1. 動態路由:APISIX 支持基於請求路徑、方法、頭部等條件進行動態路由,可以根據需求靈活配置路由規則。

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

  3. 熔斷與限流:提供熔斷器和限流功能,保護後端服務免受突發流量衝擊,確保系統穩定性。

  4. 插件系統:APISIX 提供豐富的插件系統,包括認證、日誌、監控、緩存、轉發、重試等插件,方便擴展和定製功能。

  5. 動態 SSL/TLS:支持動態證書管理,實現自動化的 SSL/TLS 配置和更新,保障通信安全。

  6. 靈活配置:採用基於 Lua 的 DSL(Domain Specific Language)進行配置,具有靈活性和可擴展性,方便定製化需求。

  7. 可觀測性:提供豐富的監控指標和日誌輸出,支持 Prometheus、Grafana 等監控工具,幫助實時監控和調優系統。

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

總的來說,Apache APISIX 是一個功能強大、易於擴展的 API 網關,適用於構建高性能、可靠的微服務架構,並提供豐富的功能和靈活的配置選項來滿足不同場景下的需求。

部署apisix

下載官方的包

helm repo add apisix https://charts.apiseven.com

helm pull apisix/apisix

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

添加自定義配置

  • 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管理平臺

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章