自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ACK 部署 Apache apisix-ingress-cotroller

開(kāi)發(fā) 前端
Ingress 是 Kubernetes 中一個(gè)值得關(guān)注的模塊,作為外部訪問(wèn) Kubernetes 集群服務(wù)的入口,市面上已經(jīng)有了多種 Ingress controller 的實(shí)現(xiàn)。

[[379230]]

本文轉(zhuǎn)載自微信公眾號(hào)「Kirito的技術(shù)分享」,作者金衛(wèi)。轉(zhuǎn)載本文請(qǐng)聯(lián)系Kirito的技術(shù)分享公眾號(hào)。金衛(wèi)  

背景

Ingress 是 Kubernetes 中一個(gè)值得關(guān)注的模塊,作為外部訪問(wèn) Kubernetes 集群服務(wù)的入口,市面上已經(jīng)有了多種 Ingress controller 的實(shí)現(xiàn)。國(guó)產(chǎn)實(shí)時(shí)、高性能的 API 網(wǎng)關(guān) Apache APISIX 推出的 Apache/apisix-ingress-controller 就是其中一員,作為功能更加強(qiáng)大的 ingress 對(duì)外提供服務(wù)。筆者準(zhǔn)備在阿里云 ACK 集群上部署測(cè)試。

主題描述

本文主要介紹在阿里云 ACK 部署 apisix-ingress-controller,并且使用 httpbin 測(cè)試一個(gè)簡(jiǎn)單的場(chǎng)景。

部署拓?fù)?/strong>

網(wǎng)絡(luò)拓?fù)?/p>

 

依賴項(xiàng)

阿里云的 ACK 集群 ;推薦最低配置:3個(gè) master 節(jié)點(diǎn):CPU 2核 內(nèi)存 4G2個(gè) worker 節(jié)點(diǎn):CPU 4核 內(nèi)存 8G

安裝步驟

apisix 2.1 release

通過(guò) helm 安裝 apisix 2.1 release

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

tips: etcd 安裝時(shí)指定 PVC, PVC 在阿里云部署時(shí),需要指定 PV 為云盤(pán), 請(qǐng)?jiān)?PVC 的 annotations 中增加:volume.beta.kubernetes.io/storage-class: alicloud-disk-ssd。(關(guān)于 PVC 和 PV 的關(guān)系請(qǐng)參考這里)

apisix-ingress-controller

通過(guò) helm 安裝 apisix-ingress-controller

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

測(cè)試

檢查集群是否部署成功

 

配置一個(gè)簡(jiǎn)單的路由做測(cè)試

  1. apiVersion: apisix.apache.org/v1 
  2. kind: ApisixRoute 
  3. metadata: 
  4.   name: httpbin-route 
  5.   namespace: apisix 
  6. spec: 
  7.   rules: 
  8.   - host: httpbin.apisix.com 
  9.     http: 
  10.       paths: 
  11.       - backend: 
  12.           serviceName: httpbin 
  13.           servicePort: 80 
  14.         path: /hello* 

通過(guò) apisix admin api 查看結(jié)果,發(fā)現(xiàn)路由已經(jīng)正確配置。

  1.     "action""get"
  2.     "count""2"
  3.     "header": { 
  4.         "revision""46"
  5.         "cluster_id""8320356269565269865"
  6.         "raft_term""2"
  7.         "member_id""3807956127770623265" 
  8.     }, 
  9.     "node": { 
  10.         "key""/apisix/upstreams"
  11.         "dir"true
  12.         "modifiedIndex": 27, 
  13.         "createdIndex": 3, 
  14.         "nodes": [ 
  15.             { 
  16.                 "key""/apisix/upstreams/00000000000000000041"
  17.                 "modifiedIndex": 42, 
  18.                 "value": { 
  19.                     "nodes": { 
  20.                         "172.20.1.12:80": 100 
  21.                     }, 
  22.                     "type""roundrobin"
  23.                     "pass_host""pass"
  24.                     "hash_on""vars"
  25.                     "desc""apisix_httpbin_80"
  26.                     "create_time": 1608561159, 
  27.                     "update_time": 1608561159 
  28.                 }, 
  29.                 "createdIndex": 42 
  30.             } 
  31.         ] 
  32.     } 

擴(kuò)容 httpbin

 

查看 k8s 中 httpbin

查看 apisix 中 httpbin upstream

  1. // 格式化后 
  2.     ... 
  3.         "nodes": { 
  4.             "172.20.1.12:80": 100, 
  5.             "172.20.0.198:80": 100, 
  6.             "172.20.0.197:80": 100 
  7.         }, 
  8.         "id""00000000000000000041"
  9.         "key""/apisix/upstreams/00000000000000000041"
  10.         "desc""apisix_httpbin_80"
  11.   ... 

總結(jié)

本文在 ACK 集群環(huán)境依次安裝了 Etcd、 Apache APISIX、Apache apisix-ingress-controller,并且使用 httpbin 服務(wù)驗(yàn)證 ingress 的基本配置功能,通過(guò) CRD 配置了路由,檢測(cè)了后端服務(wù)在擴(kuò)縮容時(shí)服務(wù)注冊(cè)發(fā)現(xiàn)機(jī)制。

另外值得一提的是 apisix-ingress-controller 可以完整的支持 Apache APISIX 提供的所有插件,甚至是自定義插件。功能豐富且擴(kuò)展能力強(qiáng),是一款不錯(cuò)的 Ingress 項(xiàng)目。

責(zé)任編輯:武曉燕 來(lái)源: Kirito的技術(shù)分享
相關(guān)推薦

2022-01-19 22:14:36

Apache APIAPI 網(wǎng)關(guān)插件

2022-01-12 08:10:40

APISIXIngress Url Rewrite

2022-04-25 10:34:19

云原生直播

2022-05-31 11:08:33

技術(shù)盛會(huì)

2022-01-07 07:49:07

Apache APISKubernetesAPISIX

2022-07-15 12:02:01

開(kāi)發(fā)大會(huì)

2021-09-26 07:43:08

KongKongaK8s

2021-09-08 11:25:45

KubernetesAPISIXLinux

2023-03-31 07:17:16

2022-01-14 09:17:13

PythonAPISIX插件

2011-03-23 15:55:41

LAMP

2010-05-19 15:15:24

Apache+SVN部

2023-06-20 07:32:04

2024-08-13 15:46:57

2012-03-02 10:14:12

JavaApache Ant

2023-03-01 07:35:05

APISIX源碼Docker

2010-10-26 09:13:26

2009-03-11 18:40:49

LinuxNagiosapache

2017-12-17 16:49:44

Apache HadoYarnHadoop

2014-04-09 14:59:55

Apache Spar
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)