什么是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管理平台

apisix~helm方式的部署到k8s的更多相关文章

  1. openshift 4.3中安装helm3并通过helm方式部署应用

    openshift 4.3中安装helm3并通过helm方式部署应用 简介 Helm是一个命令行界面(CLI)工具,可简化将应用程序和服务部署到OpenShift Container Platform ...

  2. 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...

  3. eShopOnContainers 知多少[10]:部署到 K8S | AKS

    1. 引言 断断续续,感觉这个系列又要半途而废了.趁着假期,赶紧再更一篇,介绍下如何将eShopOnContainers部署到K8S上,进而实现大家常说的微服务上云. 2. 先了解下 Helm 读过我 ...

  4. K8S+GitLab-自动化分布式部署ASP.NET Core(三) 更新镜像版本并部署到K8S上

    一.介绍 前一篇,介绍了ASP.NET Core部署到K8S上,下面介绍我们在发布新一版本中怎么通过Gitlab CI自动给镜像打版本并部署到K8S上. 二.我们通过GitLab CI/CD 变量 不 ...

  5. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  6. 开发阶段,将SpringBoot应用快速部署到K8S

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. 【葵花宝典】lvs+keepalived部署kubernetes(k8s)高可用集群

    一.部署环境 1.1 主机列表 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 lvs-keepal ...

  8. 【爬虫】将 Scrapy 部署到 k8s

    一. 概述 因为学习了 docker 和 k8s ,不管什么项目都想使用容器化部署,一个最主要的原因是,使用容器化部署是真的方便.上一篇文章 [爬虫]从零开始使用 Scrapy 介绍了如何使用 scr ...

  9. 使用yum源的方式单机部署MySQL8.0.13

    使用yum源的方式单机部署MySQL8.0.13 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 基本上开源的软件都支持三种安装方式,即rmp方式安装,源码安装和二进制方式安装.在 ...

  10. 使用二进制安装包的方式单机部署MySQL8.0.13

    使用二进制安装包的方式单机部署MySQL8.0.13 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于MySQL的介绍我这里就不多做赘述了,如何下载MySQL详情请参考:MySQ ...

随机推荐

  1. 【Java】爬资源案例

    也不知道为什么喜欢叫爬虫 搞明白原理之后原来就是解析网页代码获取关键字符串 现在的网页有很多解析出来就是JS了,根本不暴露资源地址 依赖一个JSOUP,其他靠百度CV实现 <!-- https: ...

  2. 【Mybatis】12 复杂关联查询

    一对多 & 多对一 关联查询 数据库准备: 一个班级表,字段:班级ID + 班级名称 一个学生表,字段:学生ID + 学生姓名 + 所属的班级ID # 班级表 班级ID+班级名称 CREATE ...

  3. 【Vue】Re01 理论概念和入门上手

    一.Vue概述 什么是渐进式?1.把Vue作应用的一部分嵌套项目中2.如果完全抛弃其他组件和框架,Vue又具有丰富的生态和库莱支持3.Core + Router + VueX 满足项目绝大多数的需求- ...

  4. jdk命令行工具系列——检视阅读

    jdk命令行工具系列--检视阅读 参考 java虚拟机系列 RednaxelaFX知乎问答 RednaxelaFX博客 jps--虚拟机进程状态工具 jps :(JVM Process Status ...

  5. NVIDIA的ROS项目 —— Isaac ROS

    文档地址: https://nvidia-isaac-ros.github.io/index.html Github地址: https://github.com/NVIDIA-ISAAC-ROS

  6. linux终端alacritty导致计算机死机的解决方式——Ubuntu18.04系统Nvidia显卡

    如题所述,近日在自己Ubuntu18.04的系统上安装了alacritty终端,安装这个终端主要原因就是可以出现透明桌面,说白了就是漂亮,beautiful,但是这个终端安装后系统就变得极不稳定,经常 ...

  7. windows系统下安装gym运行atari游戏报错:ale_interface/ale_c.dll OSError

    安装gym的atari支持: pip  install  gym[atari] 为gym下的atari环境下载游戏镜像ROMs文件: https://www.cnblogs.com/devilmayc ...

  8. mongo变更流使用及windows下副本集五分钟搭建

    mongodb的变更流解释: 变更流(Change Streams)允许应用程序访问实时数据变更,从而避免事先手动追踪  oplog 的复杂性和风险.应用程序可使用变更流来订阅针对单个集合.数据库或整 ...

  9. zynq QSPI flash分区设置&启动配置

    需求: 一款基于zynq架构的产品,只有qspi flash,并没有其他的存储设备, 现在的要求固化某个应用程序app,设置开机启动, 但是根据厂家提供的sdk,编译出的镜像重启后,文件系统的内容都会 ...

  10. Maven 设置 JDK 版本

    Maven 设置 JDK 版本是通过 Apache Maven Compiler Plugin 插件实现的.它用于编译项目的源代码. 方法一 有时候你可能需要将某个项目编译到与当前使用的 JDK 版本 ...