精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

阿里集團(tuán)八年容器化演進(jìn)之路

新聞 前端
近日,阿里集團(tuán)內(nèi)部已經(jīng)實(shí)現(xiàn) 100% 容器化鏡像化;距離 PouchContainer 開(kāi)源不到一年時(shí)間,PouchContainer 開(kāi)源版 1.0 GA 版本發(fā)布,已經(jīng)完全達(dá)到生產(chǎn)級(jí)別。

 近日,阿里集團(tuán)內(nèi)部已經(jīng)實(shí)現(xiàn) 100% 容器化鏡像化;距離 PouchContainer 開(kāi)源不到一年時(shí)間,PouchContainer 開(kāi)源版 1.0 GA 版本發(fā)布,已經(jīng)完全達(dá)到生產(chǎn)級(jí)別。另外,作為***開(kāi)源容器技術(shù),PouchContainer 被收錄進(jìn)為高校教材《云計(jì)算導(dǎo)論》。

PouchContainer 現(xiàn)在服務(wù)于阿里巴巴集團(tuán)和螞蟻金服集團(tuán)的絕大部分 BU, 包括交易&中間件,B2B/CBU/ICBU,搜索廣告數(shù)據(jù)庫(kù),還有收購(gòu)或入股的一些公司,比如優(yōu)酷高德、UC等。其中體量***的是交易和電商平臺(tái),在 2017 年雙 11 的時(shí)候我們支撐了破紀(jì)錄的峰值,背后的應(yīng)用都是跑在 PouchContainer 里面,整體容器實(shí)例已經(jīng)到了***規(guī)模。使用了 PouchContainer 的應(yīng)用涵蓋了各種各樣的場(chǎng)景。這些場(chǎng)景從運(yùn)行模式來(lái)看,有標(biāo)準(zhǔn)的在線(xiàn) App,還有像購(gòu)物車(chē)、廣告、測(cè)試環(huán)境等比較特殊的場(chǎng)景。不同的場(chǎng)景對(duì) PouchContainer 有不同的使用方式和需求。從編程語(yǔ)言看,實(shí)際運(yùn)行著 Java、C/C++,Nodejs,GoLang 等語(yǔ)言編寫(xiě)的應(yīng)用。從技術(shù)棧的角度看,包含了電商、DB、流計(jì)算、大數(shù)據(jù)、專(zhuān)有云等場(chǎng)景,每個(gè)場(chǎng)景對(duì)于容器各方面要求,所用到的特性都不太一樣,PouchContainer 針對(duì)每個(gè)場(chǎng)景的需求都在產(chǎn)品上都做了支持。

PouchContainer 容器技術(shù)在阿里的演進(jìn)過(guò)程伴隨著阿里技術(shù)架構(gòu)本身的演進(jìn)。阿里內(nèi)部技術(shù)架構(gòu)經(jīng)歷了一個(gè)從集中式單體應(yīng)用到分布式微服務(wù)化的演進(jìn)。

淘寶最開(kāi)始是一個(gè)巨石型的應(yīng)用,一個(gè)應(yīng)用里包含了商品、用戶(hù)、下單等等所有交易鏈路的功能。隨著功能越來(lái)越完善,維護(hù)起來(lái)也越來(lái)越困難。為了提高研發(fā)效率,從 2008 年開(kāi)始我們逐漸把這個(gè)應(yīng)用拆分成了多個(gè)分布式應(yīng)用,商品的,交易的,用戶(hù)的,前臺(tái)的,后端的;通過(guò) HSF 遠(yuǎn)程調(diào)用框架,TDDL 分布式數(shù)據(jù)層和 Notify 分布式消息中間件串聯(lián)起來(lái)。其中每個(gè)服務(wù)都有多個(gè)實(shí)例,都可以獨(dú)立研發(fā)演進(jìn),并可以進(jìn)一步繼續(xù)拆分。于是就逐漸形成了一個(gè)龐大的分布式服務(wù)集群。從巨石型應(yīng)用到多個(gè)單一功能的輕量級(jí)服務(wù)型應(yīng)用,總的應(yīng)用實(shí)例數(shù)變多了,每個(gè)實(shí)例需要的系統(tǒng)資源變少了。于是從最初的每個(gè)實(shí)例直接使用物理機(jī)自然過(guò)渡到使用 Xen,KVM 等虛擬化技術(shù)。VM 使用了一段時(shí)間之后,發(fā)現(xiàn)整體物理機(jī)的利用率還是很低。當(dāng)時(shí)一個(gè) 24 核的物理機(jī)只能虛出 4 臺(tái) 4 核的 VM,除了當(dāng)時(shí)虛擬化本身的開(kāi)銷(xiāo)不小外,每個(gè)應(yīng)用實(shí)例在 VM 里仍然用不完分到的資源。于是就想能不能不用虛擬機(jī),用更輕量的基于進(jìn)程級(jí)別的資源切分使用方式。

這個(gè)時(shí)候阿里內(nèi)部的運(yùn)維體系已經(jīng)比較龐大了,從應(yīng)用的構(gòu)建部署到分發(fā),到一些運(yùn)行期的監(jiān)控告警等管控系統(tǒng),都依賴(lài)于一個(gè)應(yīng)用實(shí)例跑在一個(gè)獨(dú)立機(jī)器里的假定。這個(gè)假定已經(jīng)不經(jīng)意間貫穿到了研發(fā)運(yùn)維的各個(gè)環(huán)節(jié)里面,包括系統(tǒng)的設(shè)計(jì),運(yùn)維習(xí)慣等都嚴(yán)重依賴(lài)這個(gè)假定。我們不可能重新搭建集群,把存量的業(yè)務(wù)停掉再到新的集群里面用新的運(yùn)維模式去跑起來(lái),這個(gè)業(yè)務(wù)和運(yùn)維上都是沒(méi)法接受的,不可能電商交易的研發(fā)停幾個(gè)月,系統(tǒng)停幾天來(lái)搞這個(gè)事情。所以我們首先要做到兼容,新的資源使用方式必須兼容原先的假定。我們經(jīng)過(guò)仔細(xì)分析了這個(gè)假定的內(nèi)涵,發(fā)現(xiàn)每個(gè)應(yīng)用實(shí)例歸納下來(lái)無(wú)非有如下 4 點(diǎn)要求:

  • 有獨(dú)立IP
  • 能夠SSH登陸
  • 有獨(dú)立的,隔離的文件系統(tǒng)
  • 資源隔離,并且使用量和可見(jiàn)性隔離

首先是有獨(dú)立 IP,能夠 SSH 登錄。其次有獨(dú)立的文件系統(tǒng),應(yīng)用程序跑起來(lái),希望程序看到的整個(gè)文件系統(tǒng)都是給他專(zhuān)用的,因?yàn)楝F(xiàn)有的代碼和配置中必然有很多路徑的硬編碼,需要滿(mǎn)足這個(gè)潛在要求。還有不管通過(guò)工具還是代碼,他只能看到分配給他自己的資源。比如 4 個(gè) CPU,8G 的內(nèi)存,他能夠根據(jù)這些資源的用量做一些監(jiān)控,做一些對(duì)自己資源使用量的采集和告警。這四個(gè)特點(diǎn)總結(jié)下來(lái)就是新的資源使用方式要做到和物理機(jī)或者 VM 的使用體驗(yàn)一致。能夠做到這樣的話(huà)原先跑在 VM 里的應(yīng)用就可以很平滑的遷移過(guò)來(lái),現(xiàn)有的應(yīng)用系統(tǒng)和運(yùn)維系統(tǒng)不需要做很大的改動(dòng)。

我們?yōu)榱四苓_(dá)到這四點(diǎn),最開(kāi)始是多隆大神手工 Hack 系統(tǒng)調(diào)用,glibc 基礎(chǔ)庫(kù)等,實(shí)現(xiàn)了一些資源上的隔離。像有獨(dú)立的 IP 可登錄 ,就用虛擬網(wǎng)卡,在每個(gè)容器里面起一個(gè) sshd 進(jìn)程;資源的隔離和可見(jiàn)性上,就用 Cgroup 和 Namespace 等內(nèi)核特性;后來(lái)發(fā)現(xiàn)開(kāi)源的 LXC 項(xiàng)目也在做同樣的事情,并且比手工 Hack 更通用化,更優(yōu)雅一些。于是我們集成 LXC,并且在內(nèi)核上加了定制的資源可見(jiàn)性隔離的 patch,讓用戶(hù)的實(shí)例只能看到分配給他的 CPU和內(nèi)存,另外還增加了基于目錄的磁盤(pán)空間隔離的 patch,這樣就形成了我們***代的容器產(chǎn)品。這個(gè)產(chǎn)品當(dāng)時(shí)代號(hào)是 T4,寓意是第四代淘寶技術(shù),淘寶 4.0;在 2011 年的時(shí)候 T4 容器技術(shù)灰度上線(xiàn)。T4 相比 VM,完全沒(méi)有虛擬化 Hypervisor 層的開(kāi)銷(xiāo),資源切分和分配上更加靈活,可以支持不同程度的資源超賣(mài)。這樣就很好的支持了業(yè)務(wù)爆發(fā)增長(zhǎng)的需求,控制了物理機(jī)按業(yè)務(wù)增長(zhǎng)比例膨脹的勢(shì)頭。另外因?yàn)?T4 完全兼容了之前研發(fā)和運(yùn)維對(duì)物理機(jī)和 VM 的使用習(xí)慣,絕大多數(shù)應(yīng)用都能夠做到透明的切換,應(yīng)用無(wú)感知。因?yàn)橛羞@些特性,在接下來(lái)的短短幾年時(shí)間里,T4 逐步接管了交易和電商主體的在線(xiàn)應(yīng)用。

到 2015 年的時(shí)候 Docker 技術(shù)火起來(lái)了。我們寫(xiě)程序的都知道有個(gè)著名的公式,程序=數(shù)據(jù)結(jié)構(gòu)+算法。從程序交付使用變成一個(gè)軟件產(chǎn)品的角度來(lái)看,我們可以套用這個(gè)公式:

  • 軟件= 文件(集)+ 進(jìn)程(組);

從靜態(tài)來(lái)看,軟件從構(gòu)建分發(fā)到部署,最終形式是一個(gè)有依賴(lài)層次的文件集。從動(dòng)態(tài)來(lái)看,這些文件集,包括二進(jìn)制和配置,由操作系統(tǒng)加載到內(nèi)存后執(zhí)行,就是一個(gè)有交互關(guān)系的進(jìn)程組。我們之前的 T4 容器在進(jìn)程(組),或者說(shuō)運(yùn)行時(shí)上做的事情和 Docker 基本類(lèi)似,比如說(shuō)都使用了 Cgroup、Namespace、linux bridge 等技術(shù)。還有些是 T4 特有的,比如基于目錄的磁盤(pán)空間的隔離,資源可見(jiàn)性隔離,對(duì)老版本內(nèi)核的兼容等。我們從最早物理機(jī)演化到 VM,再到現(xiàn)在的容器,內(nèi)核的升級(jí)周期比較漫長(zhǎng),迭代很慢,15年的時(shí)候存量的機(jī)器上全部都是 2.6.32 內(nèi)核,T4是兼容 2.6.32 內(nèi)核的。 但是另一方面在文件(集)的處理上 Docker 做得更好,更加系統(tǒng)化。 T4 只做了很薄的一層鏡像,給相同的業(yè)務(wù)域做了一個(gè)基礎(chǔ)的運(yùn)行和配置環(huán)境,這個(gè)鏡像沒(méi)有深入到每一個(gè)特定的應(yīng)用。 而 Docker 是將每個(gè)應(yīng)用的整個(gè)依賴(lài)棧打包到了鏡像中。因此在 2015 年我們引入了 Docker 的鏡像機(jī)制來(lái)完善自己的容器。

在將 Docker 鏡像整合進(jìn)來(lái)之后,原來(lái)基于 T4 的研發(fā)運(yùn)維體系受到了很大的沖擊。 首先交付方式變了,之前是 build 一個(gè)應(yīng)用的代碼包,把代碼包交給我們的部署發(fā)布系統(tǒng),后者創(chuàng)建一個(gè)空的容器,根據(jù)這個(gè)業(yè)務(wù)所在的很薄的模板把一個(gè)空的容器跑起來(lái),再到容器里面安裝依賴(lài)的一些 IPM 包,設(shè)置一些配置,按每個(gè)應(yīng)用定好的一個(gè)列表一個(gè)一個(gè)的安裝好,然后把應(yīng)用包解壓?jiǎn)?dòng)起來(lái)。這個(gè)應(yīng)用依賴(lài)的軟件和配置列表我們內(nèi)部叫做應(yīng)用的基線(xiàn)。引入鏡像之后,在將 Docker 鏡像整合進(jìn)來(lái)之后,原有的交付方式發(fā)生了變化。之前是 build 一個(gè)應(yīng)用的代碼包,把代碼包交給我們的部署發(fā)布系統(tǒng),后者創(chuàng)建一個(gè)空的容器,根據(jù)這個(gè)業(yè)務(wù)對(duì)應(yīng)的很薄的一個(gè)模板,把一個(gè)空的容器跑起來(lái),再到容器里面安裝依賴(lài)的一些 RPM 包,設(shè)置一些配置,按每個(gè)應(yīng)用定好的一個(gè)清單一個(gè)一個(gè)的安裝好,然后把應(yīng)用包解壓到主目錄啟動(dòng)起來(lái)。這個(gè)應(yīng)用依賴(lài)的軟件和配置清單我們內(nèi)部叫做應(yīng)用的基線(xiàn)。引入鏡像之后,我們應(yīng)用的代碼包和依賴(lài)的所有的這些三方軟件、二方軟件都會(huì)打成一個(gè)鏡像。之前通過(guò)基線(xiàn)維護(hù)應(yīng)用依賴(lài)環(huán)境,現(xiàn)在都放到每個(gè)應(yīng)用自己的 Dockerfile 中了,整個(gè)研發(fā)構(gòu)建和分發(fā)運(yùn)維的過(guò)程大大簡(jiǎn)化了。

做了這個(gè)事情之后,研發(fā)和運(yùn)維之間的職責(zé)和邊界就發(fā)生了變化。之前研發(fā)只需要關(guān)注功能,性能,穩(wěn)定性,可擴(kuò)展性,可測(cè)試性等等。引入了鏡像之后,因?yàn)橐约喝?xiě) Dockerfile,要了解這個(gè)技術(shù)依賴(lài)和運(yùn)行的環(huán)境倒底是什么,應(yīng)用才能跑起來(lái),原來(lái)這些都是相應(yīng)運(yùn)維人員負(fù)責(zé)的。研發(fā)人員自己梳理維護(hù)起來(lái)后,就會(huì)知道這些依賴(lài)是否合理,是否可以?xún)?yōu)化等等。研發(fā)還需要額外關(guān)注應(yīng)用的可運(yùn)維性和運(yùn)維成本,關(guān)注自己的應(yīng)用是有狀態(tài)的還是無(wú)狀態(tài)的,有狀態(tài)的運(yùn)維成本就比較高。這個(gè)職責(zé)的轉(zhuǎn)換,可以更好的讓研發(fā)具備全棧的能力,思考問(wèn)題涵蓋運(yùn)維領(lǐng)域后,對(duì)如何設(shè)計(jì)更好的系統(tǒng)會(huì)帶來(lái)更深刻的理解。所以引入 Docker 之后對(duì)研發(fā)也提出了新的要求。我們總結(jié)新的時(shí)期,新的運(yùn)維模式下對(duì)研發(fā)能力要求的幾個(gè)要素,總結(jié)起來(lái)就是幾個(gè)原則:

為了更好的把自己的系統(tǒng)建設(shè)好,我們要倡導(dǎo)研發(fā)從***天建立系統(tǒng)的時(shí)候,就要考量最終的可運(yùn)維性,比如參數(shù)是否可配置,是否可以隨時(shí)重啟。機(jī)器每天都有硬件故障產(chǎn)生,這些硬故障不可能每天都人工處理,必須要盡可能自動(dòng)化處理,自動(dòng)化處理時(shí),雖然有些故障只影響了一部分實(shí)例,另一部分是好的,但是也可能需要一起處理,比如需要物理機(jī)上的業(yè)務(wù)全部遷移走來(lái)維修物理機(jī)的時(shí)候。所以不管當(dāng)時(shí)容器里的業(yè)務(wù)是好的還是不好的,都要滿(mǎn)足隨時(shí)可重啟,可遷移的要求。原來(lái)是部分交付,現(xiàn)在要考慮你到底運(yùn)行環(huán)境是什么樣的,什么樣的運(yùn)行環(huán)境才能跑起來(lái),盡量做標(biāo)準(zhǔn)化的操作。比如說(shuō)啟動(dòng),Dockerfile 里面寫(xiě)好啟動(dòng)的路徑,不要再搞一些特殊的處理,如果有任何特殊的處理都沒(méi)法做統(tǒng)一的調(diào)度和運(yùn)維。統(tǒng)一的業(yè)務(wù)遷移,機(jī)器騰挪也沒(méi)法做。我們的目標(biāo)其實(shí)就是從一開(kāi)始的比較粗放的運(yùn)維,到不斷的開(kāi)發(fā)自動(dòng)化的工具和系統(tǒng),形成一個(gè)體系,通過(guò)前期人工運(yùn)維的過(guò)程把一些固定的故障處理的流程模式化,***提取出來(lái)一些可以自動(dòng)處理故障,自動(dòng)恢復(fù)的機(jī)制。我們的最終目標(biāo)是無(wú)人職守。所有這些加起來(lái)其實(shí)就是我們引入鏡像化之后,并且要朝著無(wú)人值守的方向演進(jìn)時(shí),對(duì)研發(fā)和運(yùn)維的新的要求。

上面是 PouchContainer 容器的 Roadmap, 2011 年的時(shí)候 T4上線(xiàn) ,到 2015 年 3 月的T4 覆蓋了交易的大部分應(yīng)用。這個(gè)時(shí)候開(kāi)始引入了 Docker 鏡像機(jī)制,這里面做了很多兼容性的工作。比如說(shuō)原來(lái) T4 輕量化的模板轉(zhuǎn)化成對(duì)應(yīng)的基礎(chǔ)鏡像,里面兼容了很多之前運(yùn)維的習(xí)慣和運(yùn)維的工具,如賬號(hào)推送,安全策略,系統(tǒng)檢測(cè)。我們?cè)?2016 年初上線(xiàn)了***個(gè)鏡像化應(yīng)用,到 5 月份的時(shí)候集團(tuán)決定主站全部應(yīng)用容器化。在做鏡像之前阿里是有一兩百人的團(tuán)隊(duì)做每個(gè)應(yīng)用的部署,運(yùn)維,穩(wěn)定性控制,后來(lái)這個(gè)團(tuán)隊(duì)都沒(méi)有了,全部轉(zhuǎn)成了 DevOps,轉(zhuǎn)向開(kāi)發(fā)工具和運(yùn)維平臺(tái),通過(guò)代碼的方式,工具的方式解決運(yùn)維的問(wèn)題。之前專(zhuān)職做運(yùn)維的同學(xué)***的負(fù)擔(dān)就是線(xiàn)上環(huán)境的變更,研發(fā)提交變更申請(qǐng)給運(yùn)維同學(xué),運(yùn)維同學(xué)做線(xiàn)上操作,研發(fā)不知道代碼運(yùn)行環(huán)境具體依賴(lài)了哪些基礎(chǔ)軟件。做了鏡像化的事情后,研發(fā)自己負(fù)責(zé)編寫(xiě) Dockerfile,運(yùn)維就把環(huán)境變更的事情通過(guò) Dockerfile 的機(jī)制移交給了研發(fā)。運(yùn)維和研發(fā)之間的邊界就非常清楚了,這個(gè)邊界就是由 Dockerfile 來(lái)定義的。研發(fā)負(fù)責(zé)把他代碼依賴(lài)的環(huán)境在 Dockerfile 定義好,運(yùn)維保證其構(gòu)建分發(fā)時(shí)沒(méi)有問(wèn)題。我們?cè)?2016 年雙11的時(shí)候完成了交易核心應(yīng)用的鏡像化 PouchContainer 化改造。在 2017 年雙11的時(shí)候交易全部應(yīng)用完成了鏡像化改造。然后我們?cè)?2017 年 11 月 19 日的時(shí)候宣布了 PouchContainer 的正式開(kāi)源。

我們的內(nèi)部 PouchContainer 經(jīng)過(guò)大規(guī)模的運(yùn)行,支持了各種各樣的業(yè)務(wù)場(chǎng)景,各種不同的技術(shù)棧,不同的運(yùn)行形態(tài),積累了非常多的經(jīng)驗(yàn)。這些經(jīng)驗(yàn)之前跟阿里內(nèi)部的環(huán)境耦合性比較大。比如說(shuō)我們的網(wǎng)絡(luò)模型,我們其實(shí)是嵌入到了阿里內(nèi)部的網(wǎng)絡(luò)管控平臺(tái),包括IP分配在內(nèi)部都有獨(dú)立的系統(tǒng)去完成。比如什么時(shí)候啟用 IP,什么時(shí)候下發(fā)路由等等,這些是有一個(gè)統(tǒng)一的 SDN 網(wǎng)絡(luò)管理系統(tǒng)來(lái)管理的。還有類(lèi)似的內(nèi)部存儲(chǔ)系統(tǒng),還有運(yùn)維的一些指令推送系統(tǒng)。內(nèi)部系統(tǒng)耦合性比較大,沒(méi)法直接開(kāi)源。所以我們***選擇的策略是先在外部孵化一個(gè)從零開(kāi)始全新的項(xiàng)目,把內(nèi)部的特性一點(diǎn)點(diǎn)搬上去。這個(gè)過(guò)程中我們內(nèi)部的版本也會(huì)做重構(gòu),把內(nèi)部的依賴(lài)做一些插件化解耦合的方式,這樣***全新的項(xiàng)目在外部可以跑得很好;在內(nèi)部用一些耦合內(nèi)部環(huán)境的插件也可以跑起來(lái),最終的目標(biāo)是內(nèi)外用一套開(kāi)源版本。

那么我們的 PouchContainer 容器相對(duì)于其他容器有什么差異呢?主要體現(xiàn)在隔離性、鏡像分發(fā)優(yōu)化、富容器模式、規(guī)模化應(yīng)用和內(nèi)核兼容性幾個(gè)方面。傳統(tǒng)的容器隔離維度就是 namespace、cgroup;在資源可見(jiàn)性方面,我們前幾年是通過(guò)在內(nèi)核上打 patch,在容器內(nèi)看內(nèi)存和 CPU 利用率等數(shù)據(jù)時(shí),把統(tǒng)計(jì)數(shù)值和當(dāng)前容器的 Cgroup 和 Namespace 關(guān)聯(lián)起來(lái),使容器能使用的資源和已使用的資源都是容器自己的。18年的時(shí)候我們引入了社區(qū)的lxcfs,這樣就不需要對(duì)特定內(nèi)核 patch 的依賴(lài)了。磁盤(pán)空間的限制也是在低版本內(nèi)核上加了補(bǔ)丁,支持了基于文件目錄的磁盤(pán)空間隔離,能夠把每個(gè)容器的 rootfs 限制住。在 4.9 以上的內(nèi)核上,我們是用 overlay2 文件系統(tǒng)來(lái)完成同樣功能的。我們也在做基于 hypervisor 的容器方案,提升容器的隔離性和安全性,我們?cè)?PouchContainer 里面集成了 RunV,用于一些多租戶(hù)的場(chǎng)景。

阿里內(nèi)部的離在線(xiàn)混部之所以能推進(jìn),在同一個(gè)機(jī)器上既能跑在線(xiàn)的業(yè)務(wù)又能跑離線(xiàn)的一些任務(wù),互相之間不會(huì)出現(xiàn)太大的干擾,其核心的技術(shù)就是 PouchContaienr 容器可以根據(jù)優(yōu)先級(jí),把不同業(yè)務(wù)的資源使用隔離開(kāi)來(lái),保證在線(xiàn)業(yè)務(wù)優(yōu)先使用資源。這個(gè)資源包括很多的維度,比如 CPU、內(nèi)存,CPU cache、磁盤(pán)、網(wǎng)絡(luò)等等。

這是 PouchContainer 的鏡像分發(fā)設(shè)計(jì)。我們內(nèi)部有很多比較核心的應(yīng)用,體量比較大,實(shí)例會(huì)分布在上萬(wàn)臺(tái)物理機(jī)上。發(fā)布新版本的時(shí)候上萬(wàn)臺(tái)機(jī)器同時(shí)拉鏡像,任何中心的鏡像倉(cāng)庫(kù)都扛不住。因此我們?cè)O(shè)計(jì)了一套鏡像分發(fā)的二級(jí)架構(gòu),在每個(gè)地域建一個(gè) mirror,在同一個(gè)地域內(nèi)拉鏡像的時(shí)候用 P2P 分發(fā)技術(shù)---我們內(nèi)部的產(chǎn)品名叫蜻蜓,已經(jīng)開(kāi)源;需要拉鏡像的服務(wù)器之間可以分散互相拉文件片段,這樣就直接化解了中心鏡像倉(cāng)庫(kù)的服務(wù)壓力和網(wǎng)絡(luò)壓力。后面其實(shí)還有更好的解決鏡像分發(fā)的思路,我們正在嘗試鏡像的遠(yuǎn)程化,通過(guò)存儲(chǔ)計(jì)算分離技術(shù),用遠(yuǎn)程盤(pán)的方式掛載鏡像,直接跳過(guò)或者說(shuō)異步化了鏡像分發(fā)這一步,目前正在內(nèi)部環(huán)境灰度運(yùn)行中。

這是 PouchContainer 內(nèi)部版本的體系結(jié)構(gòu)。在***層的宿主機(jī)層面,我們會(huì)做一些管理和運(yùn)維,目的是為了確保容器運(yùn)行依賴(lài)的基礎(chǔ)環(huán)境是健康的,包括宿主機(jī)的一些鏡像清理,包括安全控制、權(quán)限管理等。OS 的低版本內(nèi)核我們是適配到*** 2.6.32 內(nèi)核,包括容器里面的進(jìn)程管理也做了很多的適配。資源隔離前面講過(guò)了,網(wǎng)絡(luò)模型我們內(nèi)部其實(shí)主體用的是 Bridge,但是其他各種各樣的場(chǎng)景也都支持。我們開(kāi)發(fā)了很多插件,PouchContainer 開(kāi)源后,我們才將這些插件逐步做了標(biāo)準(zhǔn)化,兼容適配了社區(qū)的 CNI 標(biāo)準(zhǔn)。最上層是一個(gè)富容器模式的支持,每個(gè)容器里面會(huì)啟動(dòng)一些跟內(nèi)部的運(yùn)維工具,運(yùn)維系統(tǒng)息息相關(guān)的一些組件,包括一些發(fā)布模式的優(yōu)化。可以看到我們內(nèi)部體系結(jié)構(gòu)是比較復(fù)雜的,尤其依賴(lài)內(nèi)部的其他系統(tǒng)比較多,在外部直接跑是跑不起來(lái)的,因此也沒(méi)法直接開(kāi)源。

所以我們開(kāi)源版本是重新開(kāi)始搭建的,這樣會(huì)比較清爽一些。我們引入了contained,支持不同的 runtime 實(shí)現(xiàn),包括我們自己包裝 lxc 開(kāi)發(fā)的 RunLXC 運(yùn)行時(shí),可以用來(lái)支持老版本 2.6.32 內(nèi)核。開(kāi)源版 PouchContainer 兼容所有 Docker 的接口,也支持 CRI 協(xié)議,這樣也就同時(shí)支持了比較主流的兩種集群管理系統(tǒng)。網(wǎng)絡(luò)方面我們內(nèi)部基于 libnetwork 做了增強(qiáng),包括不同場(chǎng)景暴露出來(lái)的一些問(wèn)題,一些穩(wěn)定性,規(guī)模化的時(shí)候各種細(xì)節(jié)的一些優(yōu)化。存儲(chǔ)方面我們支持了多盤(pán),內(nèi)存盤(pán),遠(yuǎn)程盤(pán)等各種不同形式的存儲(chǔ)。PouchContainer 可以無(wú)縫集成到上層編排工具中,包括 Kubelet 和 Swarm 等。我們內(nèi)部的 Sigma 調(diào)度系統(tǒng),不同的版本Docker 協(xié)議和CRI協(xié)議都會(huì)使用。

這是 PouchContainer 的開(kāi)源地址: https://github.com/alibaba/pouch

如何貢獻(xiàn): https://github.com/alibaba/pou ... NG.md

最近 PouchContainer 開(kāi)源版本 GA 已經(jīng)發(fā)布,PouchContainer 能夠在如此短的時(shí)間內(nèi) GA,離不開(kāi)容器社區(qū)的支持,在超過(guò) 2300 個(gè) commit 的背后,有 80 多位社區(qū)開(kāi)發(fā)者的踴躍貢獻(xiàn),其中不乏國(guó)內(nèi)一線(xiàn)互聯(lián)網(wǎng)公司、容器明星創(chuàng)業(yè)公司貢獻(xiàn)者的參與。

PouchContainer 開(kāi)源版本發(fā)布 GA 之前,此開(kāi)源容器引擎技術(shù)已在阿里巴巴數(shù)據(jù)中心得到大規(guī)模的驗(yàn)證;GA 之后,相信其一系列的突出特性同樣可以服務(wù)于行業(yè),作為一種開(kāi)箱即用的系統(tǒng)軟件技術(shù),幫助行業(yè)服務(wù)在推進(jìn)云原生架構(gòu)轉(zhuǎn)型上占得先機(jī)。

Q:你們是怎么樣做到把阿里巴巴集團(tuán)包括高德還有菜鳥(niǎo)那些,都能把這個(gè)技術(shù)推過(guò)去,因?yàn)榇蠊驹诓煌牟块T(mén)跨部門(mén)甚至是跨子公司之間要想推行你們的某一個(gè)部門(mén)的研究成果是一件比較困難的事情。

A:這是一個(gè)好問(wèn)題,我們其實(shí)也面臨過(guò)這個(gè)問(wèn)題。我們的方法就是首先要和大家宣導(dǎo)這個(gè)理念,讓大家在認(rèn)知上都接受鏡像化運(yùn)維能帶來(lái)的優(yōu)勢(shì),長(zhǎng)遠(yuǎn)發(fā)展的好處。雖然很難有直接立竿見(jiàn)影的收益,長(zhǎng)遠(yuǎn)來(lái)看一定能提高運(yùn)維效率,降低資源使用的成本。實(shí)際上從這兩年來(lái)看,我們確實(shí)降低了不少運(yùn)維成本。

Q:你好,我想問(wèn)一下容器里面的那些持久化是怎么處理的?

A:容器我們持久化現(xiàn)在大體分兩類(lèi)數(shù)據(jù),一個(gè)是日志,一種是應(yīng)用自己會(huì)寫(xiě)一些數(shù)據(jù),像搜索業(yè)務(wù)。要么就是放在本地盤(pán),放在本地的話(huà)做遷移的時(shí)候要自己處理數(shù)據(jù)的遷移,每個(gè)不同的業(yè)務(wù)處理的都不太一樣。還有一種方式是用遠(yuǎn)程,數(shù)據(jù)遠(yuǎn)程化。我們有分布式存儲(chǔ)系統(tǒng)“盤(pán)古”,通過(guò)容器創(chuàng)建的時(shí)候在遠(yuǎn)程存儲(chǔ)集群建一塊遠(yuǎn)程盤(pán),我們現(xiàn)在用的是塊設(shè)備,然后掛載到容器里面,容器用完或者是遷移的時(shí)候,數(shù)據(jù)是在遠(yuǎn)端的,可以隨意遷移到另一個(gè)地方,再把這個(gè)數(shù)據(jù)盤(pán)掛載回來(lái)。

搜索也可以放遠(yuǎn)端,對(duì)于阿里各種搜索場(chǎng)景,我理解如果replica數(shù)多的話(huà),用遠(yuǎn)端存儲(chǔ)是比較經(jīng)濟(jì)劃算的,如果replica數(shù)就1行,或2行,而且遠(yuǎn)端性能又滿(mǎn)足不了部分場(chǎng)景的需求,短時(shí)間內(nèi)就不如本地多塊盤(pán)來(lái)進(jìn)行混部。總體趨勢(shì)來(lái)說(shuō),如果沒(méi)有性能要求的話(huà),都放遠(yuǎn)端是趨勢(shì)。

Q:哪種方式會(huì)更多一些?

A:宿主機(jī)直接到容器里面,相對(duì)來(lái)說(shuō)***的場(chǎng)景是在數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)現(xiàn)在大部分是在本地,但是有一部分是放在遠(yuǎn)端的,正在演進(jìn)的過(guò)程中,還沒(méi)有***完成存儲(chǔ)計(jì)算的分離。后面有一天可能就完全沒(méi)有本地?cái)?shù)據(jù)了。

Q:這是云框架,一聽(tīng)到云這個(gè)架構(gòu)就感覺(jué)很大,是一個(gè)什么海量運(yùn)維,海量數(shù)據(jù),對(duì)于中小型公司規(guī)模可能沒(méi)那么大,對(duì)于要想用這套框架,實(shí)施的成本是多少,用戶(hù)量在多少以下適合或者不適合?

A:很難有明確的臨界點(diǎn),說(shuō)什么時(shí)候該用云化架構(gòu)了。從中小型公司來(lái)說(shuō)可以從***天就往這個(gè)方向,或者是朝這個(gè)模式去實(shí)現(xiàn)。比如說(shuō)搭一個(gè)很小的資源池,通過(guò)彈性混合云的方式,在云上去擴(kuò)容,這也是一種很好的方式。如果***天完全不考慮這些事情,怎么方便怎么搭建,也不考慮這些單點(diǎn),容災(zāi)這些彈性的事情,后面改造起來(lái)可能就會(huì)比較痛苦。

Q:這個(gè)部署的成本,兩個(gè)人或者三個(gè)人的研發(fā)團(tuán)隊(duì),用你這個(gè)東西周期有多長(zhǎng)時(shí)間呢?它的難易度,因?yàn)橐斫庹麄€(gè)框架,你要部署這個(gè)東西要理解這個(gè)東西,我覺(jué)得學(xué)習(xí)的曲線(xiàn)還有部署的難度到底是什么樣的?

A:后面這套系統(tǒng)在做 Sigma 敏捷版就是解決中小企業(yè)的問(wèn)題,兩三個(gè)開(kāi)發(fā)者不可能開(kāi)發(fā)出一套像現(xiàn)在這個(gè)規(guī)模的完整云化架構(gòu),***的是用云上支持這些場(chǎng)景的產(chǎn)品。云產(chǎn)品本身經(jīng)過(guò)很多用戶(hù)的考驗(yàn),有這么多云上運(yùn)作的一些經(jīng)驗(yàn),一些技術(shù)上的沉淀,比自己開(kāi)發(fā)要靠譜得多。

Q:我想問(wèn)一下 PouchContainer 這個(gè)容器跟底層還會(huì)去封裝 Docker 之類(lèi)的東西,我***次接觸這個(gè),另外鏡像庫(kù)的話(huà)是能夠跟 Docker 兼容嗎?

A:首先鏡像庫(kù)跟 Docker 是完全兼容的,Docker 分了很多層,底層的 runV 和 containerd 都貢獻(xiàn)到了社區(qū),是開(kāi)源的,我們?cè)?runV 和 containerd 的基礎(chǔ)上做了增強(qiáng)。總體來(lái)說(shuō)是兼容兩個(gè)社區(qū)的兩種主流的技術(shù)路線(xiàn),兩種集群管理系統(tǒng),Kubernetes 和 Docker 公司 Swarm,這種兩種路徑都支持。

 
責(zé)任編輯:張燕妮 來(lái)源: DockOne
相關(guān)推薦

2018-01-09 22:18:18

架構(gòu)阿里巴巴服務(wù)器

2015-07-17 08:23:06

品高云計(jì)算

2019-01-15 18:03:54

數(shù)據(jù)庫(kù)運(yùn)維 技術(shù)

2023-02-01 10:11:06

轉(zhuǎn)轉(zhuǎn)容器日志

2021-12-16 13:04:41

消息隊(duì)列緩存

2017-03-13 10:18:53

重慶稅務(wù)

2016-12-22 11:50:26

重慶地稅虛擬化云計(jì)算

2018-08-01 14:42:07

團(tuán)隊(duì)職業(yè)工作

2019-12-20 10:45:47

Kubernetes容器網(wǎng)絡(luò)

2014-04-24 13:33:13

程序員求職

2021-08-18 17:16:10

Git分片讀寫(xiě)分離

2022-04-07 07:36:04

APIJava 8JWT

2020-02-13 09:04:00

.com域名費(fèi)用

2010-04-26 16:16:28

龍芯服務(wù)器

2014-10-30 09:50:05

HTML5

2015-07-24 12:21:14

wot 2015移動(dòng)開(kāi)發(fā)者大會(huì)

2023-07-02 11:14:21

工具TypeScript框架

2023-01-10 07:26:12

監(jiān)控標(biāo)準(zhǔn)化演進(jìn)

2021-09-16 16:15:14

Linux設(shè)備虛擬化機(jī)器模擬器

2020-11-19 15:21:21

密碼網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)安全
點(diǎn)贊
收藏

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

欧美日韩电影免费看| 91精品国产乱码久久| 亚洲v天堂v手机在线| 精品久久久久久久久久| 91网站免费看| 黑人巨大精品一区二区在线| 亚洲国产天堂| 亚洲一区在线看| 精品国产免费久久久久久尖叫| 亚洲 欧美 日韩 综合| 亚洲国产网址| 日本福利一区二区| 午夜啪啪免费视频| 国产精品欧美久久久久天天影视| 欧美黄色免费| 亚洲乱码国产乱码精品精| 91极品尤物在线播放国产| 日本在线天堂| 国产精品一区二区果冻传媒| 97婷婷涩涩精品一区| 在线观看免费小视频| 伊人久久大香线蕉综合影院首页| 亚洲一区二区三区视频在线| 欧洲精品久久| 精品国产免费无码久久久| 一本久道久久综合狠狠爱| 中文字幕亚洲欧美| av电影在线播放| 最新日韩一区| 午夜视频一区在线观看| 日韩精品伦理第一区| 精品免费久久久| 久久亚洲风情| 色综合久久悠悠| 欧美黄色一级生活片| heyzo欧美激情| 91久久精品网| 男女视频网站在线观看| 欧美极品视频| 26uuu另类欧美| 亚洲影院色在线观看免费| 影音先锋在线国产| 最新欧美人z0oozo0| 国产一区二区三区中文| 国产成人精品无码片区在线| aa亚洲一区一区三区| 一本到不卡免费一区二区| 成人免费网站入口| 色开心亚洲综合| 久久麻豆一区二区| 国产高清在线一区二区| 无码人妻熟妇av又粗又大| 欧美三区视频| 久久精品亚洲热| 免费黄色在线网址| 蜜臀91精品国产高清在线观看| 欧美一级夜夜爽| xxxx在线免费观看| 先锋欧美三级| 在线亚洲高清视频| aa免费在线观看| 99久久精品免费看国产小宝寻花| 自拍偷拍亚洲综合| 色香蕉在线观看| 欧美13一16娇小xxxx| 国产精品欧美一区喷水| 日韩欧美一区二区视频在线播放| 最新精品视频| 中文字幕12页| 国产精一区二区| 91精品国产色综合久久久蜜香臀| wwww.国产| 青青青免费在线视频| 亚洲高清视频的网址| 日韩一区二区高清视频| 高清在线视频不卡| 第一福利永久视频精品| 无人在线观看的免费高清视频| 亚洲成人av观看| 欧美丰满嫩嫩电影| 91成人在线观看喷潮蘑菇| 国产精品毛片av| 亚洲视频在线观看| 日韩亚洲欧美中文字幕| 欧美午夜一区| 国产成人jvid在线播放| 97精品人妻一区二区三区在线| 国模无码大尺度一区二区三区| 超碰97在线资源| 精品福利视频导航大全| 亚洲嫩草精品久久| 免费无码不卡视频在线观看| 成人涩涩视频| 精品国产乱码91久久久久久网站| 丝袜美腿中文字幕| 亚洲精品一区二区妖精| 午夜免费久久久久| 91国内精品视频| 久久这里都是精品| 91免费网站视频| 欧美aa免费在线| 欧美精品电影在线播放| 91玉足脚交白嫩脚丫| 希岛爱理av一区二区三区| 97成人超碰免| 国内毛片毛片毛片毛片| 国产日韩欧美高清在线| 无码人妻精品一区二区蜜桃网站| 婷婷综合六月| 欧美www视频| 日本精品久久久久中文| 亚洲午夜激情在线| 成人精品久久久| 欧美色综合一区二区三区| 伊人色综合久久天天人手人婷| chinese少妇国语对白| 日韩精品一级| 色偷偷噜噜噜亚洲男人| 日韩精品一区不卡| 不卡在线视频中文字幕| 免费看av软件| 国产69精品久久久久按摩| 亚洲精品xxx| 久久久久久久伊人| 国产一区亚洲一区| 亚洲图片小说在线| 写真福利精品福利在线观看| 亚洲第一福利网| 欧美三根一起进三p| 美日韩一区二区| 欧美三级电影在线播放| 男人天堂视频在线观看| 精品电影一区二区| 免费在线一区二区三区| 国产在线不卡视频| 一区精品在线| 国产福利91精品一区二区| 日韩电影中文字幕| 天堂网av手机版| 成人性生交大合| 国产日韩亚洲欧美在线| 91久久精品无嫩草影院| 欧美成人一区在线| 国产毛片久久久久| 亚洲天堂成人在线观看| 黄色一级片免费的| 欧美好骚综合网| 国产日韩在线视频| 在线视频自拍| 欧美精品久久一区| 国产女人18水真多毛片18精品| 精品制服美女丁香| 91制片厂免费观看| 国产精品日本一区二区不卡视频| 久久精品中文字幕| 99热这里只有精品3| 亚洲女子a中天字幕| 免费欧美一级片| 女人色偷偷aa久久天堂| 国产精品免费一区二区三区四区| 日本高清成人vr专区| 欧美r级电影在线观看| 国产无码精品在线播放| 91色porny| 爱情岛论坛vip永久入口| 日韩国产综合| 亚洲aaaaaa| av丝袜在线| 亚洲欧美中文日韩在线v日本| 无码人妻精品一区二| 亚洲国产精品成人综合| 日韩av片免费观看| 狠狠色狠狠色综合日日tαg| 精品网站在线看| 欧美日韩在线精品一区二区三区激情综合 | 亚洲精品美女免费| 无码aⅴ精品一区二区三区| 亚洲国产精品高清| 9191在线视频| 久久婷婷麻豆| 91免费视频黄| 久久久久观看| 国产精品爽爽爽| 中文字幕在线三区| 日韩精品电影网| 亚洲视频在线观看一区二区| 亚洲永久免费视频| 日韩一级av毛片| 国产在线视频一区二区三区| 精品视频免费在线播放| 欧美限制电影| 国产高清精品一区二区| 欧美日韩尤物久久| 欧美另类暴力丝袜| 加勒比一区二区三区在线| 欧美夫妻性生活| 特级毛片www| 最近中文字幕一区二区三区| 日韩aaaaa| 国产麻豆成人精品| 男人操女人免费软件| 婷婷亚洲最大| 欧美午夜精品久久久久久蜜| 国产一区二区高清在线| 国产精品成人国产乱一区 | 青青草视频在线观看| 91精品国产免费| 中文字幕精品视频在线观看| 亚洲综合丝袜美腿| 欧美h片在线观看| 久久中文字幕电影| 黄色性视频网站| 国产一区二区三区蝌蚪| 欧美日韩亚洲一二三| 欧美日韩网站| 亚洲五码在线观看视频| 成人高清av| 日本一区二区精品视频| 国产成人精品亚洲线观看| 91精品国产综合久久香蕉最新版 | 全亚洲第一av番号网站| 欧美极品美女电影一区| 巨大荫蒂视频欧美大片| 在线观看亚洲视频| 久久视频www| 日韩不卡在线观看| 视频一区二区免费| 日韩女优视频免费观看| 国产又粗又大又爽视频| 欧美影院一区二区| 亚洲黄网在线观看| 欧美性猛交xxxxx水多| 久久网一区二区| 亚洲精品视频在线看| 国产美女久久久久久| 国产精品青草综合久久久久99| 波多野在线播放| 国产欧美日韩视频一区二区| 亚洲成人网在线播放| 91免费国产在线观看| 无套内谢大学处破女www小说| 成人精品免费看| 美女露出粉嫩尿囗让男人桶| 国产成人99久久亚洲综合精品| 欧美性猛交xxxx乱大交91| 狠狠色丁香九九婷婷综合五月| 九九热99视频| 国产自产高清不卡| 欧美激情第四页| 国产成人综合网| 黄色av电影网站| 不卡区在线中文字幕| 久久一区二区电影| 91色九色蝌蚪| 日韩av片在线| 综合久久国产九一剧情麻豆| 国产97免费视频| 亚洲精品免费电影| 国产亚洲色婷婷久久99精品| 精品国产31久久久久久| av大全在线观看| 在线观看一区二区视频| 亚洲天堂avav| 欧美v日韩v国产v| 国产91绿帽单男绿奴| 日韩精品电影网| 尤物网在线观看| 美女999久久久精品视频| 黄网av在线| 国产高清视频一区三区| 激情中国色综合| 5566av亚洲| 台湾佬综合网| 亚洲狠狠婷婷综合久久久| 亚洲成人日韩| 日本欧美黄色片| 日韩高清不卡在线| 一级黄色片在线免费观看| 粉嫩高潮美女一区二区三区| 波多野结衣 在线| 国产精品污污网站在线观看| 2025国产精品自拍| 午夜视频一区二区三区| 亚洲天堂一二三| 欧美精品一区二区三区四区| 国产三级视频在线播放线观看| 久久精品免费播放| av白虎一区| 91精品国产自产在线观看永久| 亚洲91网站| 天堂精品视频| 亚洲精品日本| caoporm在线视频| 成人精品一区二区三区四区 | 亚洲乱码国产乱码精品精可以看| 日韩av女优在线观看| 欧美日韩国产成人在线91| 色wwwwww| 欧美乱大交xxxxx另类电影| 亚洲最新无码中文字幕久久| 亚洲伊人第一页| sdde在线播放一区二区| 日韩av在线播放不卡| 久久99精品国产麻豆婷婷洗澡| 久久人妻少妇嫩草av无码专区| 国产精品久久久久久久久快鸭 | 亚洲成人人体| 99在线影院| 四虎成人av| 国产真实乱子伦| 成人一区二区三区视频在线观看| 中文字幕精品亚洲| 欧美视频在线观看免费| www.黄色片| 最新国产成人av网站网址麻豆| 乡村艳史在线观看| 古典武侠综合av第一页| 久久一级电影| 日韩在线第三页| 久久综合一区二区| 精品少妇theporn| 欧美一区二区三区婷婷月色| 在线免费观看黄色av| 欧美性受xxx| 久久夜色精品国产噜噜av小说| 国产精品88久久久久久妇女| 麻豆精品在线视频| xxxxx在线观看| 日韩欧美极品在线观看| 婷婷丁香花五月天| 久久久免费高清电视剧观看| 日韩成人久久| 国产盗摄视频在线观看| 精品亚洲porn| 神马午夜精品91| 欧美欧美欧美欧美| 亚洲图片88| 国产欧美日韩专区发布| 菠萝蜜一区二区| 奇米影音第四色| 欧美极品美女视频| 最近中文字幕av| 一区二区三区 在线观看视| 久久爱91午夜羞羞| 日本一区二区三不卡| 日韩1区2区3区| 精品熟妇无码av免费久久| 欧美性高清videossexo| av影片在线看| 成人免费黄色网| 欧美午夜a级限制福利片| 欧美成人精品一区二区综合免费| 亚洲综合激情小说| 成人爽a毛片一区二区| 午夜欧美大片免费观看| 先锋影音国产精品| 男女曰b免费视频| 中文字幕国产一区| 国产精品无码一区二区桃花视频| 久久天天躁狠狠躁夜夜爽蜜月| 美女国产精品久久久| 久久这里只有精品23| 久久噜噜亚洲综合| 日批视频免费观看| 久久精品国产2020观看福利| 亚洲视频一起| 丰满爆乳一区二区三区| 国产日产精品1区| 一区二区日韩在线观看| 欧美成人高清视频| 国产毛片精品| 欧美日韩亚洲一二三| 亚洲色图一区二区三区| 蜜桃视频久久一区免费观看入口 | 国产精品51麻豆cm传媒| 久久久精品电影| 日本久久成人网| 一本色道久久亚洲综合精品蜜桃| 亚洲精品你懂的| 少妇高潮一区二区三区69| 国产精品久久久久77777| 91成人精品| 少妇精品一区二区| 欧美日韩日日摸| 999福利在线视频| 亚洲区一区二区三区| 岛国精品在线播放| 国产精品熟女视频| 欧美精品在线观看| 九九视频精品全部免费播放| 一级做a爱视频| 日本久久一区二区| 1区2区在线观看| 欧美一区二区福利| 国产精品香蕉一区二区三区| 九九精品免费视频| 精品综合久久久久久97| 久久不见久久见国语| 欧美69精品久久久久久不卡 | 97视频在线观看亚洲|