温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ACK怎么部署Apache apisix-ingress-cotroller

发布时间:2021-10-19 16:16:08 来源:亿速云 阅读:346 作者:iii 栏目:web开发

本篇内容介绍了“ACK怎么部署Apache apisix-ingress-cotroller”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

背景

Ingress 是 Kubernetes 中一个值得关注的模块,作为外部访问 Kubernetes 集群服务的入口,市面上已经有了多种 Ingress  controller 的实现。国产实时、高性能的 API 网关 Apache APISIX 推出的  Apache/apisix-ingress-controller 就是其中一员,作为功能更加强大的 ingress 对外提供服务。笔者准备在阿里云 ACK  集群上部署测试。

主题描述

本文主要介绍在阿里云 ACK 部署 apisix-ingress-controller,并且使用 httpbin 测试一个简单的场景。

部署拓扑

ACK怎么部署Apache apisix-ingress-cotroller

网络拓扑

依赖项

阿里云的 ACK 集群 ;推荐最低配置:3个 master 节点:CPU 2核 内存 4G2个 worker 节点:CPU 4核 内存 8G

安装步骤

apisix 2.1 release

通过 helm 安装 apisix 2.1 release

$ kubectl create ns apisix $ git clone https://github.com/apache/apisix-helm-chart.git $ cd ./apisix-helm-chart $ helm repo add bitnami https://charts.bitnami.com/bitnami $ helm dependency update ./chart/apisix $ helm install apisix ./chart/apisix \   --set gateway.type=LoadBalancer \   --set allow.ipList="{0.0.0.0/0}" \   --namespace apisix

tips: etcd 安装时指定 PVC, PVC 在阿里云部署时,需要指定 PV 为云盘, 请在 PVC 的 annotations  中增加:volume.beta.kubernetes.io/storage-class: alicloud-disk-ssd。(关于 PVC 和 PV  的关系请参考这里)

apisix-ingress-controller

通过 helm 安装 apisix-ingress-controller

$ git clone https://github.com/apache/apisix-ingress-controller.git $ cd ./apisix-ingress-controller $ helm install ingress-apisix-base -n apisix ./charts/base $ helm install ingress-apisix ./charts/ingress-apisix \      --set ingressController.image.tag=dev \   --set ingressController.config.apisix.baseURL=http://apisix-admin:9180/apisix/admin \   --set ingressController.config.apisix.adminKey=edd1c9f034335f136f87ad84b625c8f1 \   --namespace apisix

测试

检查集群是否部署成功

ACK怎么部署Apache apisix-ingress-cotroller

ACK怎么部署Apache apisix-ingress-cotroller

配置一个简单的路由做测试

apiVersion: apisix.apache.org/v1 kind: ApisixRoute metadata:   name: httpbin-route   namespace: apisix spec:   rules:   - host: httpbin.apisix.com     http:       paths:       - backend:           serviceName: httpbin           servicePort: 80         path: /hello*

通过 apisix admin api 查看结果,发现路由已经正确配置。

ACK怎么部署Apache apisix-ingress-cotroller

{     "action": "get",     "count": "2",     "header": {         "revision": "46",         "cluster_id": "8320356269565269865",         "raft_term": "2",         "member_id": "3807956127770623265"     },     "node": {         "key": "/apisix/upstreams",         "dir": true,         "modifiedIndex": 27,         "createdIndex": 3,         "nodes": [             {                 "key": "/apisix/upstreams/00000000000000000041",                 "modifiedIndex": 42,                 "value": {                     "nodes": {                         "172.20.1.12:80": 100                     },                     "type": "roundrobin",                     "pass_host": "pass",                     "hash_on": "vars",                     "desc": "apisix_httpbin_80",                     "create_time": 1608561159,                     "update_time": 1608561159                 },                 "createdIndex": 42             }         ]     } }

扩容 httpbin

ACK怎么部署Apache apisix-ingress-cotroller

查看 k8s 中 httpbin

ACK怎么部署Apache apisix-ingress-cotroller

查看 apisix 中 httpbin upstream

ACK怎么部署Apache apisix-ingress-cotroller

// 格式化后 {     ...         "nodes": {             "172.20.1.12:80": 100,             "172.20.0.198:80": 100,             "172.20.0.197:80": 100         },         "id": "00000000000000000041",         "key": "/apisix/upstreams/00000000000000000041",         "desc": "apisix_httpbin_80",   ... }

“ACK怎么部署Apache apisix-ingress-cotroller”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI