apisix~helm方式的部署到k8s

张占岭發表於2024-05-10

什麼是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管理平臺

相關文章