首页 > 其他分享 >apisix网关安装部署文档

apisix网关安装部署文档

时间:2023-04-20 10:25:57浏览次数:107  
标签:网关 XXX 文档 apisix Apache APISIX

apisix网关安装部署文档

1. apisix网关简介及官方文档

apisix简介:

Apache APISIX 是 Apache 软件基金会下的云原生 API 网关,它兼具动态、实时、高性能等特点,提供了负载均衡、动态上游、灰度发布(金丝雀发布)、服务熔断、身份认证、可观测性等丰富的流量管理功能。我们可以使用 Apache APISIX 来处理传统的南北向流量,也可以处理服务间的东西向流量。同时,它也支持作为 K8s Ingress Controller 来使用。

apisix主要特性:

  • 多平台支持:APISIX 提供了多平台解决方案,它不但支持裸机运行,也支持在 Kubernetes 中使用,还支持与 AWS Lambda、Azure Function、Lua 函数和 Apache OpenWhisk 等云服务集成。

  • 全动态能力:APISIX 支持热加载,这意味着你不需要重启服务就可以更新 APISIX 的配置。请访问为什么 Apache APISIX 选择 Nginx + Lua 这个技术栈?以了解实现原理。

  • 精细化路由:APISIX 支持使用 NGINX 内置变量做为路由的匹配条件,你可以自定义匹配函数来过滤请求,匹配路由。

  • 运维友好:APISIX 支持与以下工具和平台集成:HashiCorp VaultZipkinApache SkyWalkingConsulNacosEureka。通过 APISIX Dashboard,运维人员可以通过友好且直观的 UI 配置 APISIX。

  • 多语言插件支持:APISIX 支持多种开发语言进行插件开发,开发人员可以选择擅长语言的 SDK 开发自定义插件。

官方文档地址

apisix:https://apisix.apache.org/zh/docs/apisix/getting-started/

apisix- ingress controller:https://apisix.apache.org/zh/docs/ingress-controller/getting-started/

2. 部署记录文档

前言

本文档记录在XXX环境采用Helm Chart方式部署apisix网关,与现有nginx-ingress-controller同时并存

部署流程

1,helm repo add apisix https://charts.apiseven.com  #添加chart源

2,helm repo update #更新到最新版本

3,kubectl create ns apisix  #创建apisix namespace

4,编辑values.yaml,按需启动相关配置,本次部署启动了tls,apisix-dashboard和外部extPlugin

image

image

image

extPlugin配置中 cmd中路径为自定义,但要与后面build镜像时路径相同

5,helm install apisix . -n apisix  #安装apisix

6,查看pod启动情况

image

3. 基础使用方法

  1. 查看service及各service的作用

image

apisix-admin : 控制apisix配置的接口,如增删路由,upstream等一切配置相关的地址

apisix-dashboard:dashboard service地址,截图中为手动改为nodeport的,以便网页访问

apisix-gateway:使用apisix作为ingressClass的路由中域名后的端口,就是网关端口

apisix-ingress-controller:ingress-controller的集群内地址

  1. 创建upstream

    curl "http://XXX.XXX.XXX.XXX:9180/apisix/admin/upstreams/1"
    -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
    {
    "type": "roundrobin",
    "nodes": {
    "httpbin.org:80": 1
    }
    }'

  2. 创建route

    curl "http://XXX.XXX.XXX.XXX:9180/apisix/admin/routes/1"
    -H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
    {
    "methods": ["GET"],
    "host": "example.com",
    "uri": "/anything/*",
    "upstream_id": "1"
    }'

  3. 将route和upstream绑定并启用自编插件api-signature

    curl -i http://XXX.XXX.XXX.XXX:9180/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
    {
    "uri": "/anything/*",
    "plugins": {
    "ext-plugin-pre-req": {
    "conf" : [
    {"name": "api-signature", "value": "{"ccc":"eeee"}"}
    ]
    }
    },
    "upstream": {
    "type": "roundrobin",
    "nodes": {
    "httpbin.org:80": 1
    }
    }
    }'

  4. 验证

curl   example.com:30631/anything/test

标签:网关,XXX,文档,apisix,Apache,APISIX
From: https://www.cnblogs.com/peng-zone/p/17335787.html

相关文章

  • 如何将带格式的代码复制到Word文档中
    step1:使用UE(文本编辑器软件)打开你的代码,并在右下方的查看方式,选好代码的类型格式。step2:选中需要copy的代码(建议使用列模式来选中,copy时可以背景颜色也copy过去),在主页下点击复制旁边的倒三角,选择特殊复制,选择复制为HTML文档。 step3:粘贴到word文档中,结果如下图。step4:在wor......
  • 做好这三点,解决80%企业文档管理难题!
    在日常工作中,经常会需要与各种各样的文件打交道,如何保证文件的安全性,避免造成重要文件泄密,就是企业面临的一个严峻问题。因此,对企业内部文件进行有效的管理是企业信息安全工作的重要组成部分。在这里,我们将为大家介绍如何管理企业内部文件,保证文档安全。首先,我们要确保文档资料的......
  • 属性操作 文档操作 克隆 事件 bootstrap
    属性操作属性操作就是给标签增加删除等的操作1.js操作属性1.增node.setAttribute('k','v'); 2.查node.getAttribute('k'); 2.删node.removeAttribute('k');2.jQuery操作属性1.查jQuery对象.attr('属性名')返回第一个匹配元素的属性值2.增jQuer......
  • gotenberg+ chromiumly + pdf.js 进行office 文档转换以及预览处理
    日常中office预览是一个比较常见的问题,基于微软的officeonline是一个选择,但是移动端效果不是很好就有pdf以及一些基于生成图片的方案也是不错的,以下是基于gotenberg+chromiumly的一个尝试简单说明gotenberg是基于golang开发的包装了Chromium以及LibreOffice的基于api......
  • 修改XML文档的例子
    要求:1.生成一个XML文档:<?xmlversion="1.0"encoding="utf-8"?><Students><Studentid="1"><name>张三</name><gender>男</gender><grade>计算机一班</grade>&l......
  • 商城式开发文档
    随着现代技术和消费观念的不断更新,越来越多的企业开始关注电子商务。商城式开发是电子商务领域中的重要概念之一,指基于互联网的商城平台的开发。本文将详细介绍商城式开发的必要性、目标、流程和技术实现方法等方面。一、商城式开发的必要性商城式开发是现代商业中不可或缺的一部分......
  • APISIX Ingress 如何使用 Cert Manager 管理证书
    ApacheAPISIXIngressController是一款以ApacheAPISIX作为数据面的KubernetesIngressController开源工具,目前已经更新到v1.3版本,实现了如证书管理、负载均衡、金丝雀发布等功能。长久以来,证书管理都不是一件简单的事情,虽然ApacheAPISIXIngressController支持从......
  • 技术文档 | OpenSCA技术原理之composer依赖解析
    OpenSCA知识小课堂开课了!今天主要介绍基于composer包管理器的组件成分解析原理。composer介绍composer是PHP的依赖管理工具。开发者受到Node.js的npm及Ruby的bundler启发,composer设计上与两者有诸多相似。composer的依赖管理文件是composer.json。开发者可以在composer.j......
  • 技术文档丨 OpenSCA技术原理之npm依赖解析
    本文主要介绍基于npm包管理器的组件成分解析原理。npm介绍npm(全称NodePackageManager)是Node.js标准的软件包管理器。npm的依赖管理文件是package.json,开发者可以在package.json中指定每个依赖项的版本范围。如果一个项目中存在package.json文件,便可以执行npminstall......
  • ROS2 学习记录文档
    ros2的安装(humbleversion)1.换源2.过程sudoaptupdate&&sudoaptinstalllocalessudolocale-genen_USen_US.UTF-8sudoupdate-localeLC_ALL=en_US.UTF-8LANG=en_US.UTF-8exportLANG=en_US.UTF-8sudoaptinstallcurlgnupglsb-releasesudocurl......