您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“ACK怎么部署Apache apisix-ingress-cotroller”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
背景
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
$ 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 安裝時(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
$ 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
測(cè)試
檢查集群是否部署成功
配置一個(gè)簡(jiǎn)單的路由做測(cè)試
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*
通過(guò) apisix admin api 查看結(jié)果,發(fā)現(xiàn)路由已經(jīng)正確配置。
{ "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 } ] } }
擴(kuò)容 httpbin
查看 k8s 中 httpbin
查看 apisix 中 httpbin upstream
// 格式化后 { ... "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”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。