摘要:我們通過(guò)阿里云容器服務(wù)控制臺(tái)創(chuàng)建一個(gè)集群,這里以創(chuàng)建臺(tái)節(jié)點(diǎn)集群為例。全方位監(jiān)控集群接入層的監(jiān)控是必不可少的,您可以通過(guò)阿里云容器服務(wù)監(jiān)控以及阿里云云監(jiān)控對(duì)和進(jìn)行全方位監(jiān)控。
摘要: 在Kubernetes集群中,Ingress作為集群流量接入層,Ingress的高可靠性顯得尤為重要,今天我們主要探討如何部署一套高性能高可靠的Ingress接入層。
簡(jiǎn)介
在Kubernetes集群中,Ingress是授權(quán)入站連接到達(dá)集群服務(wù)的規(guī)則集合,為您提供七層負(fù)載均衡能力,您可以通過(guò) Ingress 配置提供外部可訪問(wèn)的 URL、負(fù)載均衡、SSL、基于名稱(chēng)的虛擬主機(jī)等。作為集群流量接入層,Ingress的高可靠性顯得尤為重要,今天我們主要探討如何部署一套高性能高可靠的Ingress接入層。
高可靠部署架構(gòu)
高可靠性首先要解決的就是單點(diǎn)故障問(wèn)題,一般常用的是采用多副本部署的方式,我們?cè)贙ubernetes集群中部署高可靠Ingress接入層同樣采用多節(jié)點(diǎn)部署架構(gòu),同時(shí)由于Ingress作為集群流量接入口,建議采用獨(dú)占Ingress節(jié)點(diǎn)的方式,以避免業(yè)務(wù)應(yīng)用與Ingress服務(wù)發(fā)生資源爭(zhēng)搶。
如上述部署架構(gòu)圖,由多個(gè)獨(dú)占Ingress實(shí)例組成統(tǒng)一接入層承載集群入口流量,同時(shí)可依據(jù)后端業(yè)務(wù)流量水平擴(kuò)縮容Ingress節(jié)點(diǎn)。當(dāng)然如果您前期的集群規(guī)模并不大,也可以采用將Ingress服務(wù)與業(yè)務(wù)應(yīng)用混部的方式,但建議進(jìn)行資源限制和隔離。
在阿里云容器服務(wù)集群中部署高可靠Ingress接入層
部署說(shuō)明
Ingress SLB:Ingress接入層前端SLB實(shí)例
Ingress Node:部署Ingress Pod的集群節(jié)點(diǎn)
Ingress Pod:Ingress服務(wù)實(shí)例
這三者之間依據(jù)標(biāo)簽node-role.kubernetes.io/ingress=true進(jìn)行關(guān)聯(lián):
1.Ingress SLB后端只會(huì)掛載打標(biāo)了node-role.kubernetes.io/ingress=true的集群Node;
2.Ingress Pod只會(huì)被部署到打標(biāo)了node-role.kubernetes.io/ingress=true的集群Node;
開(kāi)始部署
1、創(chuàng)建 Kubernetes 集群
在創(chuàng)建集群之前,我們需要依據(jù)自身具體業(yè)務(wù)場(chǎng)景來(lái)適當(dāng)規(guī)劃集群的規(guī)模以及集群內(nèi)各節(jié)點(diǎn)角色,比如業(yè)務(wù)節(jié)點(diǎn)數(shù)、Ingress節(jié)點(diǎn)數(shù)等,注意集群默認(rèn)會(huì)初始化3臺(tái)Master節(jié)點(diǎn)來(lái)部署集群管控服務(wù)。
我們通過(guò)阿里云容器服務(wù)控制臺(tái)創(chuàng)建一個(gè)Kubernetes集群,這里以創(chuàng)建3臺(tái)Worker節(jié)點(diǎn)集群為例。
2、打標(biāo) Ingress Node
由于測(cè)試集群規(guī)模較小,我們暫采用混部的方式:即3臺(tái)Worker節(jié)點(diǎn)既作為業(yè)務(wù)節(jié)點(diǎn)又作為Ingress節(jié)點(diǎn)。我們給3臺(tái)Worker節(jié)點(diǎn)同時(shí)打標(biāo)node-role.kubernetes.io/ingress=true,注意不建議將Ingress Pod部署在集群Master節(jié)點(diǎn)上,因?yàn)镸aster節(jié)點(diǎn)承載著集群的所有管控服務(wù),以避免集群接入流量過(guò)高時(shí)對(duì)管控服務(wù)造成影響。
~ kubectl label no cn-hangzhou.i-bp1ecwpuisra0y0bizdb node-role.kubernetes.io/ingress=true node "cn-hangzhou.i-bp1ecwpuisra0y0bizdb" labeled ~ kubectl label no cn-hangzhou.i-bp1ecwpuisra0y0bizdc node-role.kubernetes.io/ingress=true node "cn-hangzhou.i-bp1ecwpuisra0y0bizdc" labeled ~ kubectl label no cn-hangzhou.i-bp1ecwpuisra0y0bizdd node-role.kubernetes.io/ingress=true node "cn-hangzhou.i-bp1ecwpuisra0y0bizdd" labeled ~ kubectl get no NAME STATUS ROLES AGE VERSION cn-hangzhou.i-bp11psgsvkxklfvb8vvj Ready master 1h v1.9.3 cn-hangzhou.i-bp183t1a82uun0s12ddr Ready master 1h v1.9.3 cn-hangzhou.i-bp1ecwpuisra0y0bizdb Ready ingress 56m v1.9.3 cn-hangzhou.i-bp1ecwpuisra0y0bizdc Ready ingress 56m v1.9.3 cn-hangzhou.i-bp1ecwpuisra0y0bizdd Ready ingress 57m v1.9.3 cn-hangzhou.i-bp1gb2498ykvy23k0jsy Ready master 1h v1.9.3
3、創(chuàng)建 Ingress 服務(wù)
集群初始化時(shí)默認(rèn)部署了一個(gè)Ingress Controller,具體部署說(shuō)明請(qǐng)參考。這里我們通過(guò)DaemonSet方式將其重新部署到目標(biāo)Ingress Node上,當(dāng)然您也可以采用Deployment配合親和性方式來(lái)部署。
~ 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 服務(wù)
集群初始化時(shí)默認(rèn)部署了一個(gè)Ingress LoadBalancer Service,具體部署說(shuō)明請(qǐng)參考,這里需要更新下Ingress LoadBalancer Service,以自動(dòng)識(shí)別掛載打標(biāo)的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、此時(shí)具有3個(gè)Ingress實(shí)例的高可靠接入層部署完成。
快速擴(kuò)容
隨著您的業(yè)務(wù)流量不斷增長(zhǎng),集群規(guī)模不斷擴(kuò)大,您只需要簡(jiǎn)單地通過(guò)打標(biāo)的方式來(lái)快速擴(kuò)容Ingress接入層。
全方位監(jiān)控
集群Ingress接入層的監(jiān)控是必不可少的,您可以通過(guò)阿里云容器服務(wù)監(jiān)控以及阿里云云監(jiān)控對(duì)Ingress Pod和Ingress Node進(jìn)行全方位監(jiān)控。
原文鏈接
閱讀更多干貨好文,請(qǐng)關(guān)注掃描以下二維碼:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/11860.html
摘要:京東云集群最佳實(shí)踐容器是的基石,它們之間的關(guān)系不言而喻。因此我們今天的文章將會(huì)和大家分享關(guān)于京東云集群的部分最佳實(shí)踐。京東云集群采用管理節(jié)點(diǎn)全托管的方式,為用戶提供簡(jiǎn)單易用高可靠功能強(qiáng)大的容器管理服務(wù)。 京東云Kubernetes集群最佳實(shí)踐 容器是Cloud Native的基石,它們之間的關(guān)系不言而喻。了解容器對(duì)于學(xué)習(xí)Cloud Native也是十分重要的。近期,京東云Cloud N...
摘要:京東云集群最佳實(shí)踐容器是的基石,它們之間的關(guān)系不言而喻。因此我們今天的文章將會(huì)和大家分享關(guān)于京東云集群的部分最佳實(shí)踐。京東云集群采用管理節(jié)點(diǎn)全托管的方式,為用戶提供簡(jiǎn)單易用高可靠功能強(qiáng)大的容器管理服務(wù)。 京東云Kubernetes集群最佳實(shí)踐 容器是Cloud Native的基石,它們之間的關(guān)系不言而喻。了解容器對(duì)于學(xué)習(xí)Cloud Native也是十分重要的。近期,京東云Cloud N...
摘要:平臺(tái)上的微服務(wù)架構(gòu)應(yīng)用再來(lái)看一下我眼中的基于當(dāng)前最流行的微服務(wù)架構(gòu)的設(shè)計(jì)是什么樣的,即我們平臺(tái)上要運(yùn)行的典型應(yīng)用是什么樣的。 showImg(https://segmentfault.com/img/remote/1460000010900878); 8月19日的數(shù)人云Container Meetup上,張龍老師做了《基于Kubernetes的PaaS平臺(tái)的設(shè)計(jì)和思考》的精彩分享,分別...
摘要:最佳實(shí)踐使用方法及支持日志解決方案基于的實(shí)踐基于的監(jiān)控解決方案通過(guò)軟件一致性認(rèn)證已正式通過(guò)云原生計(jì)算基金會(huì)軟件一致性認(rèn)證。1、集群自動(dòng)伸縮 UK8S新上線集群自動(dòng)伸縮功能(Cluster Autoscaler),配置好伸縮策略后,可實(shí)現(xiàn)自動(dòng)擴(kuò)縮Node節(jié)點(diǎn),配合HPA(Horizontal Pod Autoscaler)一起使用,可輕松應(yīng)對(duì)突發(fā)的業(yè)務(wù)流量,降低IT運(yùn)營(yíng)成本,減輕運(yùn)維負(fù)擔(dān)...
kubeadm介紹kubeadm概述Kubeadm 是一個(gè)工具,它提供了 kubeadm init 以及 kubeadm join 這兩個(gè)命令作為快速創(chuàng)建 kubernetes 集群的最佳實(shí)踐。 kubeadm 通過(guò)執(zhí)行必要的操作來(lái)啟動(dòng)和運(yùn)行一個(gè)最小可用的集群。kubeadm 只關(guān)心啟動(dòng)集群,而不關(guān)心其他工作,如部署前的節(jié)點(diǎn)準(zhǔn)備工作、安裝各種Kubernetes Dashboard、監(jiān)控解決方案...
閱讀 3494·2021-11-24 11:17
閱讀 2281·2021-11-15 11:38
閱讀 3367·2021-10-14 09:42
閱讀 2930·2019-08-30 15:54
閱讀 2024·2019-08-28 18:09
閱讀 538·2019-08-26 11:48
閱讀 1632·2019-08-26 10:48
閱讀 2146·2019-08-26 10:45