中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kubernetes Ingress 高可靠部署的實踐是怎樣的

發布時間:2021-11-18 17:45:33 來源:億速云 閱讀:139 作者:柒染 欄目:云計算

本篇文章為大家展示了Kubernetes Ingress 高可靠部署的實踐是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

簡介

在Kubernetes集群中,Ingress是授權入站連接到達集群服務的規則集合,為您提供七層負載均衡能力,您可以通過 Ingress 配置提供外部可訪問的 URL、負載均衡、SSL、基于名稱的虛擬主機等。作為集群流量接入層,Ingress的高可靠性顯得尤為重要,今天我們主要探討如何部署一套高性能高可靠的Ingress接入層。

高可靠部署架構

高可靠性首先要解決的就是單點故障問題,一般常用的是采用多副本部署的方式,我們在Kubernetes集群中部署高可靠Ingress接入層同樣采用多節點部署架構,同時由于Ingress作為集群流量接入口,建議采用獨占Ingress節點的方式,以避免業務應用與Ingress服務發生資源爭搶。
Kubernetes Ingress 高可靠部署的實踐是怎樣的cdn.com/b5223438010ba6de332c1f5f56195920a1eae44e.png">
如上述部署架構圖,由多個獨占Ingress實例組成統一接入層承載集群入口流量,同時可依據后端業務流量水平擴縮容Ingress節點。當然如果您前期的集群規模并不大,也可以采用將Ingress服務與業務應用混部的方式,但建議進行資源限制和隔離。

在阿里云容器服務集群中部署高可靠Ingress接入層

部署說明
  • Ingress SLB:Ingress接入層前端SLB實例

  • Ingress Node:部署Ingress Pod的集群節點

  • Ingress Pod:Ingress服務實例

這三者之間依據標簽node-role.kubernetes.io/ingress=true進行關聯:

  1. Ingress SLB后端只會掛載打標了node-role.kubernetes.io/ingress=true的集群Node;

  2. Ingress Pod只會被部署到打標了node-role.kubernetes.io/ingress=true的集群Node;

開始部署

1、創建 Kubernetes 集群
在創建集群之前,我們需要依據自身具體業務場景來適當規劃集群的規模以及集群內各節點角色,比如業務節點數、Ingress節點數等,注意集群默認會初始化3臺Master節點來部署集群管控服務。
我們通過阿里云容器服務控制臺創建一個Kubernetes集群,這里以創建3臺Worker節點集群為例。
Kubernetes Ingress 高可靠部署的實踐是怎樣的
2、打標 Ingress Node
由于測試集群規模較小,我們暫采用混部的方式:即3臺Worker節點既作為業務節點又作為Ingress節點。我們給3臺Worker節點同時打標node-role.kubernetes.io/ingress=true,注意不建議將Ingress Pod部署在集群Master節點上,因為Master節點承載著集群的所有管控服務,以避免集群接入流量過高時對管控服務造成影響。

  ~ kubectl label no cn-hangzhou.i-bp1ecwpuisra0y0bizdb node-role.kubernetes.io/ingress=true
node "cn-hangzhou.i-bp1ecwpuisra0y0bizdb">

3、創建 Ingress 服務
集群初始化時默認部署了一個Ingress Controller,具體部署說明請參考。這里我們通過DaemonSet方式將其重新部署到目標Ingress Node上,當然您也可以采用Deployment配合親和性方式來部署。

  ~ kubectl -n kube-system delete deploy nginx-ingress-controller
deployment "nginx-ingress-controller" deleted
  ~ kubectl create -f https://acs-k8s-ingress.oss-cn-hangzhou.aliyuncs.com/nginx-ingress-controller-ds.yml
daemonset "nginx-ingress-controller" created
  ~ kubectl -n kube-system get ds | grep nginx-ingress-controller
nginx-ingress-controller   3         3         3         3            3           node-role.kubernetes.io/ingress=true   42s
  ~ kubectl -n kube-system get pod -o wide | grep nginx-ingress-controller
nginx-ingress-controller-57j4l                               1/1       Running   0          1m        172.16.3.2        cn-hangzhou.i-bp1ecwpuisra0y0bizdd
nginx-ingress-controller-d7cxb                               1/1       Running   0          1m        172.16.5.7        cn-hangzhou.i-bp1ecwpuisra0y0bizdc
nginx-ingress-controller-m9w75                               1/1       Running   0          1m        172.16.4.2        cn-hangzhou.i-bp1ecwpuisra0y0bizdb

4、更新 Ingress SLB 服務
集群初始化時默認部署了一個Ingress LoadBalancer Service,具體部署說明請參考,這里需要更新下Ingress LoadBalancer Service,以自動識別掛載打標的Ingress Node。

  ~ kubectl apply -f https://acs-k8s-ingress.oss-cn-hangzhou.aliyuncs.com/nginx-ingress-slb-service.yml
service "nginx-ingress-lb" configured

5、此時具有3個Ingress實例的高可靠接入層部署完成。

快速擴容

隨著您的業務流量不斷增長,集群規模不斷擴大,您只需要簡單地通過打標的方式來快速擴容Ingress接入層。

全方位監控

集群Ingress接入層的監控是必不可少的,您可以通過阿里云容器服務監控以及阿里云云監控對Ingress Pod和Ingress Node進行全方位監控。

上述內容就是Kubernetes Ingress 高可靠部署的實踐是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

红安县| 镇远县| 庄河市| 西充县| 隆林| 徐闻县| 长武县| 仁布县| 宜宾市| 湄潭县| 太仓市| 建平县| 南充市| 平阴县| 府谷县| 吉安市| 刚察县| 苏尼特右旗| 安新县| 潞西市| 石景山区| 莆田市| 扶风县| 晴隆县| 晋宁县| 和硕县| 定兴县| 沁源县| 托克托县| 怀仁县| 福海县| 南澳县| 南召县| 灌云县| 尚义县| 伊宁市| 柘城县| 汉沽区| 汕头市| 石林| 大悟县|