版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
金融行業(yè)容器平臺建設(shè)方案
1.背景概述...................................................................4
2.現(xiàn)狀及分析................................................................4
2.1IT研發(fā)轉(zhuǎn)型...........................................................5
2.2IT架構(gòu)轉(zhuǎn)型...........................................................5
2.3IT運維轉(zhuǎn)型...........................................................5
2.4IT組織轉(zhuǎn)型...........................................................6
3.建設(shè)方案.....................................................................6
3.1容器平臺建設(shè)..........................................................6
3.1.1容器可編排性....................................................6
3.1.1.1多模式應(yīng)用編排..........................................13
3.1.1.1.1應(yīng)用容器編排......................................13
3.1.1.1.2應(yīng)用混合編排......................................15
3.1.1.2負(fù)載均衡................................................16
3.1.1.2.1內(nèi)置4層負(fù)載均衡解決方案.......................17
3.1.1.2.2內(nèi)置7層負(fù)載均衡解決方案.......................18
3.1.1.3存儲管理.................................................19
3.1.1.3.1數(shù)據(jù)持久化........................................19
3.1.1.3.2數(shù)據(jù)持久化保護(hù)與恢復(fù).............................20
3.1.1.4網(wǎng)絡(luò)方案.................................................21
3.1.1.4.1Calico.................................................................................22
3.1.1.4.2Flannel...............................................................................24
3.1.1.5彈性伸縮.................................................25
3.1.1.5.1彈性伸縮策略簡介..................................25
3.1.1.5.2云原生技術(shù)平臺管理系統(tǒng)的彈性伸縮策略...........26
3.1.1.6應(yīng)用管理功能............................................27
3.1.1.6.1應(yīng)用生命周期管理.................................27
3.1.1.6.2應(yīng)用資源資源......................................30
3.1.1.6.3應(yīng)用狀態(tài)查詢......................................32
3.1.1.6.4配置文件..........................................34
3.1.1.6.5鏡像工廠..........................................35
3.1.1.6.6部署管理..........................................40
3.1.1.6.7應(yīng)用商店..........................................42
3.1.1.6.8基于模板部署......................................47
3.1.1.7服務(wù)管理.................................................49
3.1.1.7.1服務(wù)管理..........................................49
3.1.1.7.2服務(wù)發(fā)現(xiàn)..........................................50
3.1.1.7.3數(shù)據(jù)庫服務(wù)........................................50
3.1.1.7.4存儲..............................................53
3.1.2容器平臺可擴(kuò)展性...............................................54
3.1.2.1集群規(guī)模擴(kuò)展能力........................................54
3.1.2.2插件擴(kuò)展能力.............................................54
3.1.2.3OpenAPI接口擴(kuò)展能力.....................................55
3.1.3安全合規(guī)性對接.................................................55
3.1.3.1統(tǒng)一身份認(rèn)證.............................................55
3.1.3.2與現(xiàn)有監(jiān)控體系對接......................................56
3.1.3.3與集中日志系統(tǒng)對接......................................57
3.1.3.4與堡壘機(jī)對接............................................59
3.2統(tǒng)一知識庫..........................................................60
3.2.1建設(shè)目標(biāo).......................................................61
3.2.2建設(shè)方案.......................................................61
3.2.3知識分類.......................................................64
3.3統(tǒng)一制品發(fā)布........................................................64
3.3.1方案架構(gòu)......................................................65
3.3.2代碼版本管理..................................................66
3.3.3自動化測試....................................................67
3.3.4打包構(gòu)建......................................................67
3.3.5運行環(huán)境......................................................68
3.3.6持續(xù)部署......................................................68
3.3.7制品交付......................................................68
3.3.8合規(guī)性檢查....................................................70
3.4統(tǒng)一資源申請平臺....................................................73
3.4.1自助資源申請服務(wù)...............................................74
3.4.2在線審批流程..................................................74
3.4.3自動化部署.....................................................74
3.4.4自助運維.......................................................75
3.4.5自助監(jiān)控告警...................................................75
3.4.6租期回收......................................................75
3.5容器統(tǒng)一規(guī)范........................................................76
3.5.1容器內(nèi)應(yīng)用的健康檢測..........................................76
3.5.2應(yīng)用容器的DNS配置...........................................76
3.5.2.1使用集群內(nèi)部的DNS服務(wù)................................77
3.5.2.2使用集群外部的DNS服務(wù)................................77
3.5.3應(yīng)用容器的應(yīng)用配置管理.......................................78
3.5.3.1通過集群管理應(yīng)用配置文件...............................78
3.5.3.2通過外置配置中心管理配置文件..........................81
3.5.3.3應(yīng)用配置文件的熱加載...................................82
3.5.4應(yīng)用容器的日志配置............................................83
3.5.4.1容器的應(yīng)用日志輸出......................................83
3.5.4.2應(yīng)用日志規(guī)范............................................86
3.5.5集群資源管理規(guī)范...............................................87
3.5.5.1應(yīng)用容器的資源配置......................................87
3.5.5.2集群資源限制和JVM的內(nèi)存分配.........................89
3.5.5.3租戶的資源管理規(guī)范......................................90
3.5.6投產(chǎn)審核.......................................................91
3.5.6.1配置信息.................................................92
3.5.6.2流程審批.................................................92
3.5.7自動化運維.....................................................92
3.5.7.1運維范圍與目標(biāo)..........................................92
3.5.7.2運維設(shè)計原則............................................93
3.5.7.3自動化運維體系建設(shè)......................................95
3.5.7.4運維技術(shù)棧關(guān)鍵設(shè)計......................................98
3.6高可用架構(gòu)體系......................................................100
3.6.1方案概述......................................................100
3.6.2高可用部署方案...............................................101
3.6.2.1容器的故障恢復(fù).........................................102
3.6.2.2鏡像倉庫的可用性.......................................102
3.6.2.3容器的可用性............................................102
3.6.2.4集群管理主機(jī)的可用性..................................103
3.6.2.5平臺組件備份設(shè)計......................................104
3.6.3總體設(shè)計......................................................107
3.6.3.1平臺部署................................................107
3.6.3.2部署架構(gòu)說明............................................108
3.6.3.3負(fù)載均衡設(shè)計..........................................108
3.6.3.4切換架構(gòu)................................................109
3.6.4災(zāi)備實現(xiàn)......................................................109
3.6.4.1數(shù)據(jù)備份................................................109
3.6.4.2應(yīng)用層備份..............................................111
3.6.4.3平臺災(zāi)備說明..........................................113
3.6.4.4回切場景................................................114
4.方案價值...................................................................114
4.1IT交付新能力...............................................115
4.2IT架構(gòu)新能力.......................................................116
4.3IT運維新能力.......................................................116
1.背景概述
“十四五”期間的核心任務(wù)之一是科技創(chuàng)新,科技創(chuàng)新是引領(lǐng)發(fā)展的
第一動力,是推動高質(zhì)量發(fā)展、建設(shè)現(xiàn)代化經(jīng)濟(jì)體系的戰(zhàn)略支撐。傳統(tǒng)企業(yè)
在今天都面臨著新興業(yè)務(wù)模式的劇烈沖擊,同質(zhì)化的競爭手段已無法讓企
業(yè)在愈演愈烈的競爭中脫穎而出,包括銀行、證券、保險以及政府金融機(jī)構(gòu)
在內(nèi)的傳統(tǒng)企業(yè),紛紛致力于數(shù)字化轉(zhuǎn)型。在數(shù)字經(jīng)濟(jì)時代,以大數(shù)據(jù)、人
工智能、數(shù)據(jù)庫為支撐的數(shù)字高速路,成為數(shù)字世界的基礎(chǔ)。且科技創(chuàng)新需
要建立在數(shù)字化轉(zhuǎn)型成功的基石和底座之上。
數(shù)字經(jīng)濟(jì)時代金融行業(yè)面臨數(shù)字化轉(zhuǎn)型挑戰(zhàn),利用容器云原生技術(shù)作
為支撐數(shù)字經(jīng)濟(jì)的數(shù)字底座,與公有云云原生采用相同的技術(shù)和架構(gòu),統(tǒng)
一的生態(tài)體系,在保障金融機(jī)構(gòu)數(shù)據(jù)權(quán)益和行業(yè)監(jiān)管的同時,能夠快速獲取
大數(shù)據(jù)、人工智能、數(shù)據(jù)庫等新型云服務(wù)能力,滿足“安全可靠+應(yīng)用創(chuàng)新”
雙重訴求,以快速應(yīng)對市場變化??梢岳萌萜髟圃系臄?shù)據(jù)治理能力,
實現(xiàn)數(shù)據(jù)統(tǒng)一管理,挖掘數(shù)據(jù)價值;可以利用容器云原生上的人工智能開發(fā)
平臺和開發(fā)框架,持續(xù)積累訓(xùn)練數(shù)據(jù)、算法模型和知識圖譜,儲備人才,探
索前沿科技;可以利用容器云原生上的應(yīng)用管理、微服務(wù)和DevOps技術(shù),
落地人工智能、金融級的應(yīng)用,并且能夠提升開發(fā)生產(chǎn)效率。倡導(dǎo)各金融機(jī)
構(gòu)結(jié)合自身實際情況,積極推進(jìn)混合云的部署和建設(shè),引入業(yè)界先進(jìn)的云服
務(wù),支撐金融機(jī)構(gòu)基于容器云原生靈活創(chuàng)新。
2.現(xiàn)狀及分析
銀行的業(yè)務(wù)應(yīng)用目前以多種形態(tài)運行在不同的技術(shù)棧上,包括互聯(lián)網(wǎng)
技術(shù)棧和商業(yè)技術(shù)棧。大多數(shù)系統(tǒng)已經(jīng)完成新一代的升級,但是隨著容器的
發(fā)展很多銀行開始試水分布式架構(gòu)體系改造。
由于銀行交易往往比較重要,有哪些系統(tǒng)最適合云原生容器化改造,應(yīng)
用在進(jìn)行改造后如何符合銀行現(xiàn)有規(guī)范等問題也顯露出來。
1.對容器技術(shù)沒接觸或接觸少的研發(fā)部門會面臨新技術(shù)的學(xué)習(xí)成本高,改
造難度大等問題;
2.互聯(lián)網(wǎng)技術(shù)棧產(chǎn)品直接進(jìn)入不符合銀行的高可用及安全要求等;
3.容器改造期間可能涉及到除容器以外的其他平臺或云產(chǎn)品;
4.開發(fā)測試環(huán)節(jié)中生成的制品、編排文件需要經(jīng)過安全審核再投產(chǎn);
5.測試資源申請面臨不同云平臺產(chǎn)品的統(tǒng)一供給問題;
6.運維部門需要在現(xiàn)有運維框架下如何更快上手,并減少運維難度問題。
在互聯(lián)網(wǎng)+金融和自主可控兩大趨勢的影響下,中國金融IT領(lǐng)域掀起
了一場規(guī)模空前的轉(zhuǎn)型大潮。傳統(tǒng)的IT流程、基礎(chǔ)架構(gòu)和運維模式已經(jīng)
無法滿足業(yè)務(wù)發(fā)展的需求和競爭形態(tài)的轉(zhuǎn)變,傳統(tǒng)金融機(jī)構(gòu)都在考慮未來
的IT開發(fā)機(jī)制、IT架構(gòu)等如何變革。
2.1IT研發(fā)轉(zhuǎn)型
?IT研發(fā)轉(zhuǎn)型-如何快速響應(yīng)用戶需求?
互聯(lián)網(wǎng)思維的根本就是快,只有快速響應(yīng)用戶需求才能在激烈的市場
競爭中占據(jù)優(yōu)勢。在互聯(lián)網(wǎng)+轉(zhuǎn)型的過程中,金融行業(yè)信息化建設(shè)的關(guān)鍵是
及時響應(yīng)業(yè)務(wù)需求、適應(yīng)多變的商業(yè)環(huán)境的靈活的IT架構(gòu),以滿足不同
部門、客戶和合作伙伴的各種需求。然而,傳統(tǒng)的研發(fā)模型已經(jīng)成為應(yīng)用交
付和迭代速度的瓶頸,IT研發(fā)流程和亟待轉(zhuǎn)型。
2.2IT架構(gòu)轉(zhuǎn)型
-IT架構(gòu)轉(zhuǎn)型-煙囪式架構(gòu)如何向分布式架構(gòu)無痛轉(zhuǎn)型?
在IT基礎(chǔ)架構(gòu)層面,很多金融企業(yè)都是煙囪式架構(gòu),煙囪式架構(gòu)帶
來的最大問題是能力孤島,不同的應(yīng)用系統(tǒng)之間的資源無法實現(xiàn)共享。并且,
在金融走向普惠、擁抱長尾市場的過程中,傳統(tǒng)金融IT架構(gòu)無法支撐巨
量涌入的長尾客戶.隨著互聯(lián)網(wǎng)+轉(zhuǎn)型的深入,IT基礎(chǔ)架構(gòu)需要獲得更多
的彈性,從而滿足互聯(lián)網(wǎng)業(yè)務(wù)對彈性伸縮的需求。
因此,IT系統(tǒng)的云化勢在必行。大部分金融企業(yè)已經(jīng)意識到從煙囪式向分
布式架構(gòu)轉(zhuǎn)型的重要性。然而,當(dāng)前許多架構(gòu)轉(zhuǎn)型的方案需要經(jīng)歷推倒重來
的陣痛,這讓他們對云化IT基礎(chǔ)架構(gòu)裹足不前。他們需要一套能夠?qū)崿F(xiàn)
無痛、漸進(jìn)式向云計算遷移的方案。
2.3IT運維轉(zhuǎn)型
?IT運維轉(zhuǎn)型-高復(fù)雜環(huán)境下如何確保系統(tǒng)的高可用性?
金融IT運維人員的壓力之大眾所周知,這源于金融行業(yè)對業(yè)務(wù)連續(xù)
性和可用性的嚴(yán)苛要求。然而,隨著金融信息化的不斷發(fā)展,金融IT環(huán)
境正在變得越來越復(fù)雜:應(yīng)用紛繁復(fù)雜、IT架構(gòu)異構(gòu)、IT規(guī)模日益增大,
這些都導(dǎo)致運維的難度越來越大,運維部門需要全新的思路來應(yīng)對復(fù)雜環(huán)
境下IT系統(tǒng)運維的壓力。
2.4IT組織轉(zhuǎn)型
-IT組織轉(zhuǎn)型-如何平衡唯快不破和安全第一
互聯(lián)網(wǎng)的業(yè)務(wù)拓展和產(chǎn)品研發(fā),講究唯快不破。業(yè)務(wù)的交付速度、快速
迭代和幾乎實時的用戶響應(yīng),是互聯(lián)網(wǎng)公司所追求的目標(biāo);其研發(fā)、運營等
組織結(jié)構(gòu)的設(shè)計,內(nèi)部流程審批等權(quán)力的分配,也都充分考慮了這樣的業(yè)務(wù)
特征和目標(biāo)。金融行業(yè)追求安全第一,但在互聯(lián)網(wǎng)的節(jié)奏下,如何平衡唯快
不破與安全第一?如何優(yōu)化組織結(jié)構(gòu),在使用技術(shù)手段保障安全的同時,在
運營環(huán)節(jié)提高效率、精簡流程?這是很多金融決策者需要思考的問題,也
是對金融企業(yè)管理層提出的新挑戰(zhàn)。
3.建設(shè)方案
3.1容器平臺建設(shè)
容器技術(shù)在金融行業(yè)的應(yīng)用場景非常廣泛,從開發(fā)測試環(huán)境到生產(chǎn)環(huán)
境,都可以采用容器技術(shù)。以Docker為代表的容器技術(shù),為金融IT和
業(yè)務(wù)轉(zhuǎn)型帶來了近乎顛覆性的思路。
從容器技術(shù)的使用場景來看,非常適合使用容器技術(shù)的應(yīng)用主要包括
幾個類型:需要經(jīng)常更新和快速迭代的應(yīng)用、需要在云中運行的應(yīng)用,以及
需要從DevOps和微服務(wù)中受益的應(yīng)用等。下面總結(jié)了幾個適合采用
Docker容器技術(shù)的場景,包括CI/CD持續(xù)交付、大規(guī)模集群管理、混合
云、數(shù)據(jù)分析應(yīng)用、微服務(wù)化應(yīng)用、以及云原生應(yīng)用(CloudNative
Application)等。
3.1.1容器可編排性
容器云平臺技術(shù)架構(gòu),需要符合云原生技術(shù)的發(fā)展方向,能支持分布
式應(yīng)用,故而選擇合適的容器的管理和編排(Orchestration)工具尤為重
要。初級的編排,是資源的編排,即針對物理機(jī)或者虛擬機(jī);但更高層次的
是服務(wù)的編排,需要對架構(gòu)層次在整體上有一個完整的定義。
Docker技術(shù)所解決問題的對象是面向“一個應(yīng)用”。而在真實的云環(huán)
境中,工程師需要面對的是將數(shù)十類應(yīng)用構(gòu)成的“綜合系統(tǒng)”,部署為成
百上千個具體實例。這樣龐大的工作依靠人工來進(jìn)行實施顯然是難度巨大
且風(fēng)險和成本均極高的。因此就需要有對應(yīng)于容器運行時的編排技術(shù)來解
決海量容器的生命周期管理工作,Kubernetes就是原生技術(shù)生態(tài)中已成為
事實行業(yè)標(biāo)準(zhǔn)的一種容器編排技術(shù)。
Kubernetes這個名字起源于古希臘,譯為“舵手”。如果Docker把
自己定位為馱著集裝箱在大海上遨游的鯨魚,那么Kubernetes就是掌舵
大航海時代話語權(quán)的舵手,指揮著這條鯨魚按照舵手設(shè)定的路線巡游。
Kubernetes是Google開源的容微集群管理系統(tǒng),由Google多年大
規(guī)模容器管理技術(shù)Borg演化而來,并贈給云原生計算基金會(CNCF),其
主要功能包括:
?基于容器的應(yīng)用部署、維護(hù)和滾動升級;
?負(fù)載均衡和服務(wù)發(fā)現(xiàn);
?跨機(jī)器和跨地區(qū)的集群調(diào)度;
?容器負(fù)載自動伸縮;
?無狀態(tài)服務(wù)和有狀態(tài)服務(wù);
?開放API以獲得擴(kuò)展性支持。
apiVersion:
extensions/vlbeTal
kind:Ingress
metadata:
name:test
spec:
rules:
-host:www.example.CM
http:
paths:
-path:Ztastl
backend:
serviceNarte:si
servicePort:80
-path:/test2
backend:
serviceNarte:s2
servicePort:80
聲明式語言定義服務(wù)狀態(tài)自動化實現(xiàn)并維持服務(wù)狀態(tài)
圖-Kubernetes定義容器狀態(tài)的機(jī)制
如上圖所示,Kubernetes通過符合YAML標(biāo)準(zhǔn)的聲明式語言定義
Kubernetes內(nèi)所有允許的資源類型,包括如Pod^DeploymentxService
等等。作為基礎(chǔ)調(diào)度單元,容器組(Pod)通過組織一組緊密關(guān)聯(lián)的容器
(Container),他們共享網(wǎng)絡(luò)和文件系統(tǒng)的特性,而對外提供某一項應(yīng)用
服務(wù)能力,并接受Kubernetes對于其生命周期和接口能力的管理。
通過這樣的機(jī)制,Kubernetes可以為應(yīng)用提供以下解決方案:
?解決了大規(guī)模應(yīng)用運維的規(guī)模性問題,自動化支持海量應(yīng)用的編排及
生命周期管理;
?通過簡單的聲明式語言(YAML)描述了應(yīng)用的拓?fù)浣Y(jié)構(gòu)和生命周期,
解決了Dockerfile無法描述應(yīng)用自身之外的環(huán)境問題,將“從代
碼到應(yīng)用”演進(jìn)到“從代碼到服務(wù)”;
?應(yīng)用負(fù)載實時彈性擴(kuò)容,無需經(jīng)過冗長的申請資源、安裝操作系統(tǒng)、
部署應(yīng)用、測試、負(fù)載上線的繁瑣過程,輕松面對流量波峰,完整釋
放Docker的生產(chǎn)力;
?流量切分和發(fā)布策略配合,實現(xiàn)持續(xù)交付,整合精益管理,支持
DevOps實踐落地;
?開放API,實現(xiàn)對各種第三方網(wǎng)絡(luò)、存儲解決方案的支持能力,滿足
企業(yè)用戶的生產(chǎn)需求;
?抽象底層環(huán)境,標(biāo)準(zhǔn)化鏡像、標(biāo)準(zhǔn)化編排,大規(guī)模應(yīng)用亦可隨時遷移,
不用擔(dān)心被廠商綁定。
除功能支持外,對于企業(yè)生產(chǎn)級支撐平臺的選型考慮,編排引擎作為調(diào)
度核心能力的實現(xiàn)技術(shù),應(yīng)考慮其未來長期可持續(xù)擴(kuò)展的能力是否能夠滿
足企業(yè)業(yè)務(wù)增長需求。Kubernetes單一集群內(nèi)最大可支持5000個節(jié)點部
署,支持包含150000個容器組或300000個容器。再加上多集群擴(kuò)展的能
力,從生產(chǎn)規(guī)模支持上完全可滿足企業(yè)未來長期的業(yè)務(wù)增長需求。
Kubernetes自身提供的是對由一組容器定義的對象Pod提供了運維
能力、彈性能力、調(diào)度能力、及服務(wù)訪問能力等幾個方面的功能,其對容器
運行時、存儲、網(wǎng)絡(luò)等等所有會差異化的外圍服務(wù)均在以接口驅(qū)動的形式來
提供支持,即ContainerRuntimeInterface(CRT)、ContainerStorage
Interface(CSI)、ContainerNetworkInterface(CNI)。如下圖所示:
ContainerRuntimeInterface
圖-Kubernetes的Interface設(shè)計模式
對于極特殊情況,當(dāng)原生內(nèi)部定義的資源對象如存儲類型等無法滿足
企業(yè)需求時,也可以通過CustomResourceDefinition(CRD)來實現(xiàn)新的
資源定義擴(kuò)展API,使得Kubernetes的開放性可以進(jìn)一步被無限放大。
如下圖所示CRD原理:
client-go
1)Ust&Watch
ReflectorKubernetes
API
2)AddObject
Kubernetesserver-side
DeltaRfo
queue
3)PopObject
4)AddObject
Informer
ResEvertHandlers
referenceThreadsafestore
6)
CustomController)
Informer^Indexer
Resource
referencereferenc
Event
Handlers9)GetObjectforKey
8)GetKeyProcessHandle
ItemObject
7)Enqueue-
O*dWorkqueue
Key
Custom
圖-CRD原理
通過以上設(shè)計,使得Kubernetes面對不同的容器運行時、網(wǎng)絡(luò)、存儲
實現(xiàn)甚至是特殊的資源形態(tài)要求時,均可通過擴(kuò)展驅(qū)動實現(xiàn)有效兼容,而不
用更改其核心功能實現(xiàn),換言之Kubernetes的兼容性設(shè)計很大程度上取
決于它的設(shè)計邊界即是操作這些資源驅(qū)動程序,而不是操作某個資源實體
本身,是一個高度通用的抽象?;谶@樣的架構(gòu)設(shè)計,使得Kubernetes具
備了與生俱來的可兼容性,原理上可以認(rèn)為,只要下游部署實現(xiàn)不修改上游
原有的代碼,即使各類部署均具備了對Kubernetes的一致兼容性。
Kubernetes已經(jīng)成為事實上的容器管理的標(biāo)準(zhǔn),世界上大多數(shù)公司都
使用它作為容器管理和編排,其有以下兒大優(yōu)勢:
?開源的力量
在不斷擴(kuò)大的容器應(yīng)用領(lǐng)域,Kubernetes已發(fā)展成為事實上的行業(yè)標(biāo)
準(zhǔn)。因此,您可以選擇多種服務(wù)提供商來幫助您在組織的IT基礎(chǔ)架構(gòu)中
實施它。如果出現(xiàn)任何問題,Kubernetes開發(fā)者的開放社區(qū)可以指望做正
確的事情。更重要的是,Kubernetes并不是一個開源了就不再活躍的項目,
而是一個全年四次大版本更新的項目。
?成本效益
容器的復(fù)雜性和占用空間都很輕,而且設(shè)置它們比設(shè)置VM要簡單得
多。這使得Kubernetes成為管理容器化應(yīng)用程序的非常靈活的平臺。
Kubernetes配置可減少錯誤的CPU周期和GB的RAM,從而縮短響應(yīng)時
間,最終提高系統(tǒng)性能。并且由于Kubernetes的負(fù)載平衡引擎,它可以在
需要時啟動,停止和優(yōu)先處理給定的容器-所有這些都可以保持性能一致。
?可移植性
由于其多功能性,Kubernetes可以在您的組織內(nèi)本地設(shè)置和運行在大
量底層操作系統(tǒng)上。此外,如果您決定在整個生命周期的部署過程中遷移到
備用操作系統(tǒng),您可以隨身攜帶現(xiàn)有工作負(fù)載,而無需重新設(shè)計應(yīng)用程序
或廢品并重新構(gòu)建基礎(chǔ)架構(gòu)。Kubernetes避免了供應(yīng)商鎖定,您的設(shè)置將
繼續(xù)標(biāo)準(zhǔn)化并隨著時間的推移而簡化。
?可擴(kuò)展性
Kubernetes從頭開始設(shè)計為模塊化容器管理工具(CM),您可以自
由選擇混合和匹配組件,實現(xiàn)真正的交鑰匙和定制實施。使用Kubernetes,
您可以決定要運行的操作系統(tǒng),應(yīng)用運行時(Libs/Bins),文件系統(tǒng),
處理器架構(gòu)甚至云平臺。應(yīng)用程序開發(fā)人員還可以直接調(diào)用Kubernetes
API(應(yīng)用程序編程接口),并加強應(yīng)用程序的集成,以提高性能和可管理
性。
?自愈
軟件將不時遭受奇怪的故障,導(dǎo)致功能癱瘓和系統(tǒng)失敗。然而,這些陷
阱將使您成為可靠性困境的犧牲品。但不要害怕:Kubernetes能夠定期監(jiān)
控您的完整基礎(chǔ)設(shè)施(容器,節(jié)點,Pod,網(wǎng)絡(luò),硬件,操作系統(tǒng))。如果
軟件錯誤導(dǎo)致系統(tǒng)的某些部分崩潰,Kubernetes將立即重啟應(yīng)用程序。如
果錯誤是由于硬件故障引起的,Kubernetes將檢測到它并將應(yīng)用程序分
布在多個pod中。在這兩種情況下,應(yīng)用程序停機(jī)時間都減少到最低限度。
?云服務(wù)
因為Kubernetes很受歡迎,用戶不需要自己處理內(nèi)部實現(xiàn),也不需
要在硬件上花錢。事實上,用戶可以通過注冊托管的Kubernetes解決方
案來外包流程:PaaS(平臺即服務(wù))或laaS(基礎(chǔ)架構(gòu)即服務(wù))。用戶的
角色是專注于通過用戶的應(yīng)用提供最佳體驗,將負(fù)載平衡和云服務(wù)留給
Kuberneteso
綜上所述,容器管理和編排技術(shù)建議選擇Kubernetes,根據(jù)開源社區(qū)
版本迭代計劃,融合業(yè)內(nèi)實踐,推薦版本為Kubernetes1.16及以上穩(wěn)定
版本。
容器平臺提供應(yīng)用可視化編排部署的相關(guān)管理功能,包括拓?fù)淇梢暬?/p>
組件可視化、配置可視化等核心功能。在此基礎(chǔ)之上,容器平臺還提供了F5、
數(shù)據(jù)庫、DNS、軟件負(fù)載均衡等常見平臺組件及服務(wù)的封裝功能,實現(xiàn)組件
的配置管理、可視化編排支持等功能。容器平臺支持的編排功能如下:
?應(yīng)用模板管理與認(rèn)證:應(yīng)用模板管理功能支持應(yīng)用模板新建、刪除、
修改等操作。同時容器平臺提供豐富的應(yīng)用模板管理能力,比如批量
上傳應(yīng)用模板、添加/修改模板變量、展示和修改應(yīng)用模板描述信息、
展示模板與相關(guān)應(yīng)用的關(guān)聯(lián)情況、提供從模板部署應(yīng)用的向?qū)?、支?/p>
模板分類和搜索。模板功能還支持驗證公有/私有模板,并且支持模
板權(quán)限配置,設(shè)定訪問權(quán)限。
?應(yīng)用編排管理:容器平臺的應(yīng)用編排管理功能較為豐富。不僅支持與
數(shù)據(jù)庫、F5等周邊系統(tǒng)混編,還支持更為完善的應(yīng)用編排管理能
力,比如支持KubernetesYAML編排標(biāo)準(zhǔn)、支持圖形化展示編排、
同時編排基礎(chǔ)設(shè)施資源、支持編排時指定日志策略/調(diào)度策略、支
持圖形化修改和維護(hù)編排。
?應(yīng)用配置管理:容器平臺可以為應(yīng)用編排設(shè)置應(yīng)用程序日志、應(yīng)用端
口等配置信息。
?容器信息查詢:容器平臺支持用戶以應(yīng)用系統(tǒng)為維度,查看應(yīng)用中容
器名稱、軟件版本、配置信息、所屬應(yīng)用、所屬宿主機(jī)、運行狀態(tài)等
信息。同時容器平臺根據(jù)企業(yè)級用戶的需求,展示更多可用信息,包
括鏡像層級信息、鏡像改動記錄、容器內(nèi)進(jìn)程信息、容器網(wǎng)絡(luò)信息、
容器存儲信息、應(yīng)用/容器操作審計日志信息、應(yīng)用可視化拓?fù)湟约?/p>
編排信息等。
.容器操作功能:在編排功能下,容器平臺提供了常用的應(yīng)用容器操作
功能,包括啟動、停止、創(chuàng)建、刪除等。并且容器平臺為了方便企業(yè)
級用戶的操作,額外提供了更為豐富的容微操作功能,包括從容器內(nèi)
下載文件、向容器上傳文件、支持打開容器內(nèi)部Shell控制臺、
支持從容器一鍵制作新鏡像、重啟容器、暫停以及恢復(fù)容器、在不中
斷容器內(nèi)業(yè)務(wù)服務(wù)的情況下修改容器資源配額。
?負(fù)載均衡展示:容器平臺提供內(nèi)置負(fù)載均衡,并能夠展示應(yīng)用整體負(fù)
載情況,同時容器平臺可對接F5等外部負(fù)載均衡系統(tǒng)或設(shè)備,并且
支持提供應(yīng)用級別的負(fù)載均衡,應(yīng)對微服務(wù)架構(gòu)。
?服務(wù)到容器的自動負(fù)載分發(fā):容器平臺負(fù)載均衡默認(rèn)采用Linux內(nèi)
核中的LVS技術(shù),相對于其他軟件負(fù)載性能較高,并且負(fù)載均衡可
以配置SSL證書,當(dāng)服務(wù)的容器擴(kuò)展后,負(fù)載均衡可以自動發(fā)現(xiàn)后
端服務(wù)變化并自動適配,負(fù)載均衡可提供多種負(fù)載策略,可以通過環(huán)
境變量進(jìn)行配置,具備會話保持的功能。
?版本管理/灰度發(fā)布:針對企業(yè)級發(fā)布應(yīng)用的場景,容器平臺支持應(yīng)用
版本升級時對各集群進(jìn)行灰度升級,保證業(yè)務(wù)的不間斷運行,同時容
器平臺還支持更高級的灰度發(fā)布選項,比如設(shè)定并行發(fā)布實例數(shù)、設(shè)
置發(fā)布失敗后的錯誤處理機(jī)制、配置發(fā)布時舊版本實例優(yōu)雅下線策
略。
3.LI.1多模式應(yīng)用編排
3.1.1.1.1應(yīng)用容器編排
云原生技術(shù)平臺管理系統(tǒng)提供了應(yīng)用可視化編排部署的相關(guān)管理功能,
包括拓?fù)淇梢暬⒔M件可視化、配置可視化等核心功能。在此基礎(chǔ)之上,云
原生技術(shù)平臺管理系統(tǒng)還提供了F5、數(shù)據(jù)庫、DNS、軟件負(fù)載均衡等常見平
臺組件及服務(wù)的封裝功能,實現(xiàn)組件的配置管理、可視化編排支持等功能。
云原生技術(shù)平臺管理系統(tǒng)支持的編排功能有:
?應(yīng)用模板管理與認(rèn)證:應(yīng)用模板管理功能支持應(yīng)用模板新建、刪除、
修改等操作。同時云原生技術(shù)平臺管理系統(tǒng)提供了更為豐富的應(yīng)用模
板管理能力,比如批量上傳應(yīng)用模板、添加/修改模板變量、展示
和修改應(yīng)用模板描述信息、展示模板與相關(guān)應(yīng)用的關(guān)聯(lián)情況、提
供從模板部署應(yīng)用的向?qū)А⒅С帜0宸诸惡退阉?。模板功能還支持
驗證公有/私有模板,并且支持模板權(quán)限配置,設(shè)定訪問權(quán)限。
?應(yīng)用編排管理:云原生技術(shù)平臺管理系統(tǒng)的應(yīng)用編排管理功能較為豐
富。不僅支持與數(shù)據(jù)庫、F5等周邊系統(tǒng)混編,還支持更為完善的應(yīng)
用編排管理能力,比如支持KubernetesYAML編排標(biāo)準(zhǔn)、支持圖形
化展示編排、同時編排基礎(chǔ)設(shè)施資源、支持編排時指定日志策略/調(diào)
度策略、支持圖形化修改和維護(hù)編排。
?應(yīng)用配置管理:云原生技術(shù)平臺管理系統(tǒng)可以為應(yīng)用編排設(shè)置應(yīng)用程
序日志、應(yīng)用端口等配置信息。
?容器信息查詢:云原生技術(shù)平臺管理系統(tǒng)支持用戶以應(yīng)用系統(tǒng)為維度,
查看應(yīng)用中容器名稱、軟件版本、配置信息、所屬應(yīng)用、所屬宿主機(jī)、
運行狀態(tài)等信息。同時云原生技術(shù)平臺管理系統(tǒng)根據(jù)企業(yè)級用戶的需
求,展示更多可用信息,包括鏡像層級信息、鏡像改動記錄、容器內(nèi)
進(jìn)程信息、容器網(wǎng)絡(luò)信息、容器存儲信息、應(yīng)用/容器操作審計日
志信息、應(yīng)用可視化拓?fù)湟约熬幣判畔⒌取?/p>
?容器操作功能:在編排功能下,云原生技術(shù)平臺管理系統(tǒng)提供了常用
的應(yīng)用容器操作功能,包括啟動、停止、創(chuàng)建、刪除等。并且云原生
技術(shù)平臺管理系統(tǒng)為了方便企業(yè)級用戶的操作,額外提供了更為豐富
的容器操作功能,包括從容器內(nèi)下載文件、向容器上傳文件、支持打
開容器內(nèi)部Shell控制臺、支持從容器一鍵制作新鏡像、重啟容器、
暫停以及恢復(fù)容器、在不中斷容器內(nèi)業(yè)務(wù)服務(wù)的情況下修改容器資源
配額。
?負(fù)載均衡展示:云原生技術(shù)平臺管理系統(tǒng)提供內(nèi)置負(fù)載均衡,并能夠
展示應(yīng)用整體負(fù)載情況,同時云原生技術(shù)平臺管理系統(tǒng)可對接F5
等外部負(fù)載均衡系統(tǒng)或設(shè)備,并且支持提供應(yīng)用級別的負(fù)載均衡,應(yīng)
對微服務(wù)架構(gòu)。
?服務(wù)到容器的自動負(fù)載分發(fā):云原生技術(shù)平臺管理系統(tǒng)負(fù)載均衡默認(rèn)
采用Linux內(nèi)核中的LVS技術(shù),相對于其他軟件負(fù)載性能較高,
并且負(fù)載均衡可以配置SSL證書,當(dāng)服務(wù)的容器擴(kuò)展后,負(fù)載均衡
可以自動發(fā)現(xiàn)后端服務(wù)變化并自動適配,負(fù)載均衡可提供多種負(fù)載
策略,可以通過環(huán)境變量進(jìn)行配置,具備會話保持的功能。
?版本管理/灰度發(fā)布:針對企業(yè)級發(fā)布應(yīng)用的場景,云原生技術(shù)平臺
管理系統(tǒng)支持應(yīng)用版本升級時對各集群進(jìn)行灰度升級,保證業(yè)務(wù)的不
間斷運行,同事云原生技術(shù)平臺管理系統(tǒng)還支持更高級的灰度發(fā)布選
項,比如設(shè)定并行發(fā)布實例數(shù)、設(shè)置發(fā)布失敗后的錯誤處理機(jī)制、配
置發(fā)布時舊版本實例優(yōu)雅下線策略。
3.1.1.1.2應(yīng)用混合編排
現(xiàn)有的應(yīng)用開發(fā)流程中,為了提高研發(fā)效率,相關(guān)部門會預(yù)先配置好一
部分?jǐn)?shù)據(jù)庫服務(wù)用于研發(fā)測試。根據(jù)研發(fā)業(yè)務(wù)的不同,數(shù)據(jù)庫服務(wù)包
括:Oracle服務(wù),MSSQL服務(wù)以及DB2服務(wù)。
隨著業(yè)務(wù)量的增長,相應(yīng)的研發(fā)生產(chǎn)線也呈多樣化發(fā)展,向研發(fā)測試提
供數(shù)據(jù)庫服務(wù)部門的壓力也越來越大?,F(xiàn)有的情況下,研發(fā)測試面臨著申請
數(shù)據(jù)庫服務(wù)流程周期長,服務(wù)部門向不同研發(fā)生產(chǎn)線交付相應(yīng)的數(shù)據(jù)庫服
務(wù)的壓力也越來越大。
云原生技術(shù)平臺管理系統(tǒng)的數(shù)據(jù)庫混合編排借鑒了公有云的數(shù)據(jù)庫編
排服務(wù),經(jīng)過了大規(guī)模使用的驗證。云原生技術(shù)平臺管理系統(tǒng)的數(shù)據(jù)庫混
合編排主要有以下幾點特征:
?服務(wù)注冊:當(dāng)服務(wù)部門配置好相關(guān)數(shù)據(jù)庫服務(wù)后,可通過WEB頁面
向服務(wù)注冊模塊注冊該數(shù)據(jù)庫服務(wù),供研發(fā)測試部門使用??赏ㄟ^選
擇不同的數(shù)據(jù)庫服務(wù)類型來注冊數(shù)據(jù)庫服務(wù),包括:Oracle數(shù)據(jù)庫服
務(wù)、MSSQL數(shù)據(jù)庫服務(wù)、DB2數(shù)據(jù)庫服務(wù)等。
?服務(wù)管理:可通過WEB頁面對已注冊的數(shù)據(jù)庫服務(wù)進(jìn)行管理,管理
操作包括:增加新數(shù)據(jù)庫服務(wù),刪除已有數(shù)據(jù)庫服務(wù),更新已有數(shù)據(jù)
庫服務(wù)配置,刪除數(shù)據(jù)庫服務(wù)。
?服務(wù)綁定:可通過應(yīng)用的頁面將數(shù)據(jù)庫服務(wù)綁定到應(yīng)用容器內(nèi),服務(wù)
綁定將數(shù)據(jù)庫的信息設(shè)置到應(yīng)用容器的環(huán)境變量內(nèi),供應(yīng)用容器取用。
?服務(wù)發(fā)現(xiàn):該方案依托客戶端服務(wù)發(fā)現(xiàn)的場景,“數(shù)據(jù)庫服務(wù)發(fā)現(xiàn)應(yīng)
用”提供了一系列RESTAPI供客戶端調(diào)用,并可將數(shù)據(jù)庫配置信息
以結(jié)構(gòu)化數(shù)據(jù)的形式返回供客戶端使用。
云原生技術(shù)平臺管理系統(tǒng)的混合編排方案架構(gòu)圖如下所示:
圖-混合編排架構(gòu)圖
云原生技術(shù)平臺管理系統(tǒng)數(shù)據(jù)庫混合編排服務(wù)將云原生技術(shù)平臺管理
系統(tǒng)與數(shù)據(jù)庫資源池深度集成?!皵?shù)據(jù)庫服務(wù)編排應(yīng)用”以插件的形式部
署在云原生技術(shù)平臺管理系統(tǒng)平臺上。該應(yīng)用將提供對接云原生技術(shù)平臺
管理系統(tǒng)用戶權(quán)限控制模塊的功能。通過對API進(jìn)行授權(quán)訪問,可控制特
定用戶訪問特定的數(shù)據(jù)庫服務(wù)資源?!皵?shù)據(jù)庫服務(wù)發(fā)現(xiàn)應(yīng)用”將對接云原
生技術(shù)平臺管理系統(tǒng)的用戶權(quán)限控制,避免二次配置用戶權(quán)限。
3.1.1.2負(fù)載均衡
云原生技術(shù)平臺管理系統(tǒng)支持兩種負(fù)載均衡方案:7層負(fù)載均衡和4
層負(fù)載均衡,需要在不同的應(yīng)用場景下選用不同的負(fù)載均衡方案。云原生技
術(shù)平臺管理系統(tǒng)負(fù)載均衡方案整體架構(gòu)圖如下所示:
訪問審核/DDOS清洗
圖-負(fù)載均衡
3.1.1.2.1內(nèi)置4層負(fù)載均衡解決方案
云原生技術(shù)平臺管理系統(tǒng)的4層負(fù)載均衡TPVS解決方案主要用于
彈性伸縮的場景,通過端口轉(zhuǎn)發(fā)將請求轉(zhuǎn)發(fā)至多個容器內(nèi),應(yīng)用場景如下圖
所示:
0LB:PORT
O部署應(yīng)用,并配置多實例
開發(fā)
針對該場景,云原生技術(shù)平臺管理系統(tǒng)內(nèi)置了一套TPVS負(fù)載均衡的
解決方案。
LVS是一個高性能的負(fù)載均衡,并能夠支持自動的服務(wù)發(fā)現(xiàn)功能。
云原生技術(shù)平臺管理系統(tǒng)的4層負(fù)載均衡解決方案架構(gòu)圖如下所示:
訪問應(yīng)用IP:8O8O
訪問應(yīng)用IP:8080
808080808080?
集群啟用
RoutingMesh
O?Ingress網(wǎng)絡(luò)/
導(dǎo)出端口至8080
開發(fā)
使用IPVS作為負(fù)載均衡解決方案的優(yōu)勢:
?Docker內(nèi)置機(jī)制
?基于內(nèi)核LVS技術(shù),高效轉(zhuǎn)發(fā)高性能請求轉(zhuǎn)發(fā)
?高可用架構(gòu)(如果云原生技術(shù)平臺管理系統(tǒng)有多個節(jié)點)
?自動適配后端應(yīng)用變化
?自動檢測后端狀態(tài),并實現(xiàn)容錯
?熱更新,無中斷的配置更新
3.1.1.2.2內(nèi)置7層負(fù)載均衡解決方案
云原生技術(shù)平臺管理系統(tǒng)內(nèi)置的IPVS能力之上提供了一套7層負(fù)
載均衡組件如Nginx、HAProxy和Traefik等,該組件通過自動獲得集
群中服務(wù)的域名配置(目前通過服務(wù)label實現(xiàn)),自動更新負(fù)載均衡轉(zhuǎn)發(fā)
策略。
下圖表示以Traefik為例的解決方案整體架構(gòu)圖:
O為應(yīng)用配置域名
LB狀毒。訪問應(yīng)用域名
開發(fā)一—一—J
_________________________L
「一q
80808080
0前■條伸1:
部署黑蛆上,并創(chuàng)建|Manager][LB]
?1映LB的80端口被導(dǎo)出
LB專用'&n血網(wǎng)絡(luò)sl
至DCE80端口
?DNS能把域名解析至DCE
的某幾臺1P
注:
?如臬DCE的80端口被占用
APP3
了,應(yīng)用的訪問URL就需要
v,
①用一一一一一一―^r^2T2?~22用URL:PORT
I笳入Is城K
開發(fā)
使用七層負(fù)載均衡解決方案的優(yōu)勢:
?友好的圖形界面管理能力
?支持用戶/租戶級別的LB,適應(yīng)微服務(wù)場景
?高性能請求轉(zhuǎn)發(fā)
?高可用架構(gòu)(如果云原生技術(shù)平臺管理系統(tǒng)有多個控制器)
?自動適配后端應(yīng)用變化
?優(yōu)雅的中斷HTTP連接
?自動后端健康檢查,并實現(xiàn)容錯
?熱更新,無中斷的配置更新
?提供簡單的性能監(jiān)控報表
?HTTP2支持
?Websocket支持
?HTTPS/SSL支持
3.1.1.3存儲管理
3.1.1.3.1數(shù)據(jù)持久化
容器運行期間產(chǎn)生的數(shù)據(jù)是不會在寫鏡像里面的,重新用此鏡像啟動
新的容器就會初始化鏡像,會加一個全新的讀寫入層來保存數(shù)據(jù)。如果想做
到數(shù)據(jù)持久化,就必須尋求其他解決方案來保存數(shù)據(jù)。
云原生技術(shù)平臺管理系統(tǒng)通過存儲卷(volume)用于持久化存儲
Docker容器的數(shù)據(jù),存儲卷分為本地卷和遠(yuǎn)程卷和快照,其中本地卷是對
本機(jī)磁盤的映射,遠(yuǎn)程卷和和快照需要在集成中心集成第三方存儲服務(wù)(比
如ScalelO)才可以使用:
?本地存儲卷:本地卷沒有容量或讀寫性能的限制(上限由磁盤的規(guī)格
和性能決定)。本地卷亦不可創(chuàng)建快照。一般地,在創(chuàng)建應(yīng)用時,可
以通ComposeYAML指定。
?遠(yuǎn)程存儲卷二遠(yuǎn)程卷的創(chuàng)建以及使用過程同本地卷類似。云原生技術(shù)
平臺管理系統(tǒng)遠(yuǎn)程存儲卷包括NFS存儲卷和其他遠(yuǎn)程存儲卷。NFS
遠(yuǎn)程卷的創(chuàng)建需要增加設(shè)備、讀寫權(quán)限、設(shè)備目錄的信息。其他遠(yuǎn)程
存儲卷主要包括支持ScalelO等存儲軟件的REXRAY驅(qū)動存儲卷,
以及VMDK存儲卷。
3.1.1.3.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教研成果成果轉(zhuǎn)化
- 裝修設(shè)計師的工作總結(jié)
- 房地產(chǎn)行業(yè)設(shè)計師工作總結(jié)
- 2024年爬山安全教案
- 2024年計算機(jī)應(yīng)屆生簡歷
- 農(nóng)田租賃協(xié)議書(2篇)
- 2024年苯噻草胺項目營銷方案
- 《贛州市國家稅務(wù)局》課件
- 烏魯木齊市實驗學(xué)校2023-2024學(xué)年高三上學(xué)期1月月考政治試題(解析版)
- 甘肅省部分學(xué)校2025屆高三上學(xué)期第一次聯(lián)考(期末)歷史試卷(含答案解析)
- 視頻監(jiān)控室值班記錄表
- 歌曲《梁?!泛喿V完整版
- 四川2020版清單定額
- 教材編寫工作總結(jié)
- 企業(yè)員工上下班交通安全培訓(xùn)(簡詳共2份)
- 城市高密度建成區(qū)合流制溢流污染系統(tǒng)研究-黃孝河機(jī)場河水環(huán)境綜合治理項目實踐
- word 公章 模板
- T∕ZSQX 008-2020 建設(shè)工程全過程質(zhì)量行為導(dǎo)則
- ISO-IEC17025-2017實驗室管理體系全套程序文件
- 深圳智能水表項目商業(yè)計劃書_參考模板
- 地理信息系統(tǒng)原理全冊配套完整課件
評論
0/150
提交評論