Kubernetes 的網絡、存儲和運行時該如何處理?

引言

“ 系統(tǒng)正在變得越發(fā)復雜(sophisticated)。”

--Bill Joy, BSD 主要設計者、vi 作者、SUN 聯合創(chuàng)始人

Kubernetes 的網絡、存儲和運行時該如何處理?

技術的發(fā)展,總是解決了現有的問題,進而引入新的問題,繼而繼續(xù)解決,如此周而復始,Docker 公司在2013年成立,將容器的概念迅速擴散。正如當年集裝箱點燃了全球的貨運革命一樣,當時的船運公司使用這種大型的金屬集裝箱替代了過去紛雜的貨運裝置,以適應在卡車、船舶、鐵路三者之間匹配。裝什么無所謂,重要的是裝載本身有了標準。和現實世界的集裝箱運輸一樣,Linux 容器創(chuàng)建了對于應用最為基本的封裝,使之可以運行在任何的基礎設施平臺上。一時之間,容器風靡世界。到今天為止,幾乎所有的企業(yè)都有意愿將他們的應用跑在容器之上,即使是他們自己的內部的服務器,也同樣在考慮。盡管容器僅僅是管理現代的應用程序的一種更好的方式,因為它們通常被分割成無數的組件(微服務),但仍然需要能夠在服務器之間進行容易的移植和訪問。

技術的本質就是這樣,通常是解決了一個問題,而又引入新的問題,如此反復。Linux 容器也不例外,它雖然封裝的很好,但是它給 DevOps 團隊帶來前所未有的挑戰(zhàn),它在應用程序的移植、部署的活動中增加了更多動態(tài)的東西。為此,Kubernetes 應時而生。

同樣 Kubernetes 也沒有脫離這個技術本質,容器的細粒度,將過去傳統(tǒng)意義上每臺主機一個 IP 地址,每個服務有一個或多個端口的困境,甚至是物理機虛擬化的情景徹底打破,相應的是流量的暴增,命名空間、服務發(fā)現、流量監(jiān)控一時之間讓管理員和開發(fā)者頭痛不已。談到存儲,容器的快速,對于持久化的存儲提出了極大的挑戰(zhàn),分布式存儲、對象存儲成為了配合云原生的必備,而這又反過來會影響到性能、擴展性、靈活性等諸多設計,讓架構師、開發(fā)者在眾多的選項中不斷尋找平衡之道。哦,對了,還有如何將用戶的代碼和運行環(huán)境設定在可控的范圍,也是云廠商運營和系統(tǒng)管理之間的平衡,因為達到這個目的的同時,還要保證用戶對環(huán)境無感知,而不是覺得自己受限,安全與易用/性能之間的橋梁該如何架設。

KubeCon + CloudNativeCon + Open Source Summit(原LC3)中國,來自華為、阿里巴巴、VMWare、Red Hat 等眾多云原生、Kubernetes 一線專家,將幫助大家解答這個困惑,以及他們提出的新的挑戰(zhàn)。(這是一個無限的循環(huán)遞歸)。

分論壇主題介紹

網絡

Kubernetes 的網絡、存儲和運行時該如何處理?

網絡是一個非常大的話題,從 5G 到 SDN,從邊緣計算到電信服務商,網絡無處不在。Kubernetes 下我們以一位工程師的視野切入,那基本上就是 Kubernetes 在現在數據中心中、當下的軟件架構中,如何實現網絡的有效利用和高效管理,才是工程師們考慮的最大問題。接下來介紹的演講,按照慣例我們從公司來介紹,他們分別是:

Kubernetes 的網絡、存儲和運行時該如何處理?

  Jun Du –華為 高級軟件工程師

華為,Jun Du,帶來的是全新的 Kubernetes 網絡興趣小組的前沿思考和實現,sig-network 正在引領社區(qū)開發(fā)一項新特性 - 拓撲感知服務路由。這項特性所有者將詳細介紹設計和實施拓撲感知服務路由的挑戰(zhàn),并描述這項特性的未來發(fā)展方向,包括測試版和最終版標準。想知道什么是拓撲感知嗎?不妨允許筆者賣個關子,你只有到現場才能真正了解。

北京優(yōu)帆科技有限公司的 Xuetao Song 和 Fang Du 將帶來Porter - 面向裸機 Kubernetes 的開源負載均衡器:在 Kubernetes 集群中可以使用“LoadBalancer”類型服務將后端工作負載暴露在外部。云廠商通常為 Kubernetes 提供云 LB 插件,但這需要將集群部署在特定 IaaS 平臺上。然而,許多企業(yè)用戶通常都將 Kubernetes 集群部署在裸機上,尤其是用于生產時。而且對于本地裸機集群,Kubernetes 不提供 LB 實施。Porter 是一個開源項目,可完美地解決此類問題。在本次會議中,Xuetao Song 和 Fang Du 將重點介紹可幫助為裸機 Kubernetes 提供服務和 EIP 管理的網絡技術。

VMware ,作為 VMware 專業(yè)的網絡工程師 Ron Fuller,會講解特定于 K8s 的數據中心網絡基礎知識。演講主題將涵蓋 OSI 系統(tǒng)模型、第 2 層概念、第3 層概念、網絡地址轉換 (NAT) 和 IP 尋址。將專注于幫助開發(fā)人員了解其應用運行所依賴的底層連接基礎設施。Ron Fuller 坦言,與會者在會議結束后,將能夠更好地向基礎設施團隊闡明他們的需求,并了解基礎設施團隊需要做些什么來滿足他們的需求。

Kubernetes 的網絡、存儲和運行時該如何處理?

  Fangyuan Li – VMware軟件工程師

VMware,軟件工程師的 Fangyuan Li,將從最簡單的 VIP iptable 實施開始。接下來,稍提難度,逐步升高,從客戶端到服務器,從內核到用戶空間,從 IP 到 HTTP,進行更深入的探討。在演講中會大體介紹下并演示如何在普通 Bash 腳本中使用不同工具?;谏鲜鰞热?,我們將通過在 K8s(clusterIP / nodePort)、Docker(路由網格)、Envoy 和許多 CNI 插件中比較它們進行總結。

Kubernetes 的網絡、存儲和運行時該如何處理?

  Sridhar Gaddam - Red Hat首席軟件工程師

Kubernetes 的網絡、存儲和運行時該如何處理?

  Aswin Suryanarayanan - Red Hat高級軟件工程師

IBM 即將完成對 RedHat 的收購,而 IBM 的戰(zhàn)略就是混合云,對于 Red Hat 的 OpenShift 來講,混合云就是重點處理的利基市場,那么 Red Hat 又是如何處理復雜多變的混合云的呢?來自印度的工程師 Sridhar Gaddam 和 Aswin Suryanarayanan 將帶來的是在多集群下的網絡連接解決方法:1.CloudAgnostic:適用于本地和公共云。2.CNI Agnostic:適用于任何 kubernetes CNI 網絡插件。3.隧道管理和狀態(tài)檢查:包括連接兩個或多個集群并定期執(zhí)行狀態(tài)檢查的機制。4.服務發(fā)現和服務可訪問性:將集群 IP 服務提供給其他集群。5.集群間網絡策略:提供明確允許/拒絕流量的機制。企業(yè)相關人員不妨考慮一下。

那么,KubeCon + CloudNativeCon 的網絡論壇都有哪些精彩演講呢?

Kubernetes 的網絡、存儲和運行時該如何處理?

存儲

Kubernetes 的網絡、存儲和運行時該如何處理?

Kubernetes 可支持基于 CPU 和內存資源的計劃工作負載,并具有節(jié)點親合性、Pod 親和性和反親合性。這對于無狀態(tài)工作負載非常有效。而對于有狀態(tài)工作負載,數據持久的存放在哪里合適?該怎么實現?傳統(tǒng)的關系型數據庫如何適應云原生?大數據的處理呢?傳統(tǒng)架構下的集群文件系統(tǒng)如何向現代分布式文件系統(tǒng)轉向?如果讀者你帶著這些問題的話,那么本次大會關于 Kubernetes 存儲方面的經驗分享可能就是你最最需要的內容。

Kubernetes 的網絡、存儲和運行時該如何處理?

Jiten Vaidya – PlanetScale CEO

Vitess,這是一款關系型數據庫 MySQL 在云原生下的實現,由 Google 開發(fā),用于 YouTube 等重要產品,現在為 CNCF 下重要的孵化項目,在這個主題下有兩個分享,分別是來自京東的 xuhaihua,他將為大家?guī)砭〇|這兩年是如何實現 Vitess 的,從經濟成本、技術實現、運營問題等各個環(huán)節(jié),全方位的介紹一款開源項目如何在大型電商網站的利用和發(fā)展的。另外一個關于該主題的分享則來自 PlanetScale 公司,也是該公司的一號人物 - 首席執(zhí)行官 Jiten Vaidya 為大家進行分享,他將為各位介紹數據庫規(guī)劃失敗的案例。Jiten 將在現場進行演示,向大家展示如何使用 Vitess 設計高可用性,從而能夠提前防備、避免災難,并從災難性故障中恢復。

Kubernetes 的網絡、存儲和運行時該如何處理?

Xiaoyu Yao – Cloudera首席軟件工程師

Kubernetes 的網絡、存儲和運行時該如何處理?

Sammi Chen –騰訊云 軟件工程師

大數據,重數據的業(yè)務,使用 Kubernetes 來處理,盡管提高了調度和計算,但是數據的存儲和轉移著實讓人頭疼,本次會議的分享在這方面的內容也有兩塊,首先是由 Cloudera 的 Xiaoyu Yao 和騰訊的 Sammi Chen 合作演講的一個話題:“利用數據位置,從而實現在云原生環(huán)境中擁抱大數據工作負載“,二位將會比較 Kubernetes 主流容器掛載存儲的數據位置支持。然后會介紹 Apache Hadoop Ozone 的網絡拓撲支持,以及如何通過 Ozone CSI 插件將其用作位置感知容器掛載存儲,以實現更出色的工作負載調度。最后是使用在 K8s 上運行的 Spark 來演示使用 Apache Hadoop Ozone 進行數據位置感知調度的好處。第二個關于和大數據處理分享的兩位工程師均來自騰訊,他們分別是 Apache 成員堵俊平和他的同事 Yi Chen ,帶來的主題是和 Hadoop HDFS 相關,具體內容是介紹騰訊云使用的 CSI 兼容 HDFS 插件的設計和架構。然后介紹,分享大數據工作負載 Spark 在 K8s 上運行時如何使用 HDFS CSI 插件訪問 HDFS 數據的最佳實踐和經驗。最后,則介紹使用 TPC-DS 基準套件對 K8s 上運行的 Spark(支持HDFS)和在 YARN 運行的 Spark(支持 HDFS)之間的性能進行比較分析。

Kubernetes 的網絡、存儲和運行時該如何處理?

Jeff Layton – Red Hat首席軟件工程師

傳統(tǒng)存儲的變遷:當仁不讓的是來自 RedHat 的 Patrick Donnelly 和 Jeff Layton,Rook 是專門針對 Kubernetes 開發(fā)的存儲的工具,用以自動部署存儲并將存儲掛載到 Pod。Rook 不斷進行升級改造,以集成開源存儲平臺 Ceph 與 Kubernetes。Ceph 是當今廣泛使用的分布式存儲系統(tǒng),可為應用提供統(tǒng)一的文件、塊和對象接口。二位工程師將為與會者介紹目前已完成的 Ceph Nautilus 版本內容 —— 以動態(tài)創(chuàng)建高可用和可擴展的 NFS 服務器集群,這些集群可拋出 Ceph 文件系統(tǒng) (CephFS),以用于 Kubernetes 或作為獨立設備使用。CephFS 為應用提供了友好的編程接口,可用于創(chuàng)建共享卷。Ceph 和 Rook 可為每個卷協同管理動態(tài)部署 NFS-Ganesha Pod 集群的細節(jié),并最大限度地降低操作員或用戶的參與。

是不是都非常的誘人???解決的都是你遇到而未來得及進一步做的大問題。

那么,KubeCon + CloudNativeCon 的存儲論壇都有哪些精彩演講呢?

Kubernetes 的網絡、存儲和運行時該如何處理?

運行時

Kubernetes 的網絡、存儲和運行時該如何處理?

在今年3月份,伯克利分校發(fā)表了一篇關于 Serverless 的論文,讓人們眼前一亮,恍若回到了十年前,伯克利也是就云計算發(fā)表了一篇影響深遠的論文,其中有提到隨著容器沙箱的成熟,是 Serverless 進一步被廣泛應用的重要基礎設施支持,容器天生是為了應用而生的,幾乎沒有任何的隔離,安全性向來被眾多敏感的工程師所詬病,AWS 的 Firecracker 開源的時候,因為其卓越的 Lambda 產品而被受到熱捧。那么 Kubernetes 支持下的運行時環(huán)境又是怎樣一篇天地了呢?且讓筆者為你娓娓道來。

Kubernetes 的網絡、存儲和運行時該如何處理?

倪鵬飛 – 微軟 高級軟件工程師

追本溯源是工程師的天性,是成為卓越高手的必由之路,業(yè)界大名鼎鼎的倪鵬飛,在極客時間開設專欄課程的網紅明星,來為大家講講容器運行時的演化歷程:Kubernetes 正成為在生產中構建和管理云原生應用的標準。毫無疑問,容器運行時是 Kubernetes 成功的關鍵。在本次演講中,倪鵬飛老師就容器運行時接口 (CRI) 和各種容器運行時提供了一份詳細的指南。解答:為什么有這么多容器運行時?各自有何優(yōu)缺點?如何為 Kubernetes 集群選擇和自定義容器運行時?容器運行時未來會怎樣?

Kubernetes 的網絡、存儲和運行時該如何處理?

Xu Wang - Hyper.sh高級工程師

在了解了容器運行時之后,我們再來了解下當前的實際實現,由 Hyper.sh 的天才程序員兼首席技術官王旭和他的同事 Fupan Li 帶來關于 Kata、gVisor 的定量分析,展示對 Kata 而言合理的 CPU/網絡性能、文件系統(tǒng)存儲的性能損失、Kata 的內存消耗以及 gVisor 的系統(tǒng)調用開銷等。以及使用更新的測試套件對新推出的技術進行的基準測試,并幫助用戶了解它們是否已生產就緒。

沒錯,gVisor 是 Google 開發(fā)的,和 Kubernetes 同門,是一種獨特的開源沙箱運行時,支持以較高的隔離程度和低開銷在容器中運行未修改的應用。Kata 是從 Hyper 演變而來的開源項目,二者之間究竟哪個更加適合運行時?不妨來看看工程師的實踐證明:

Kubernetes 的網絡、存儲和運行時該如何處理?

Ian Lewis – Google開發(fā)者倡導者

gVisor,來自 Google 的 Ian Lewis,將會與大家探討 gVisor 的容器安全模型以及容器沙箱化的用例。在深入剖析 gVisor 架構及其與基于虛擬機的沙箱的區(qū)別之前,他會先為聽眾介紹各種沙箱化方法及其各自的利弊,另外,還會通過演示一個采用 gVisor 和 Kubernetes 的最小化的 Serverless 平臺,來總結分享的所有內容。

Kubernetes 的網絡、存儲和運行時該如何處理?

Jian Huang –華為 架構師

Kata 實踐一: 華為的工程師 ChengLi 和 JianHuang 帶來的是華為云利用kata實現 Serverless 服務的實踐,據介紹,他倆將會展示 Kata 容器如何適應華為云的架構,以及 Kata 容器在生產中的性能和隔離測試結果。但作為一個較新的開源項目,Kata 容器還存在一些問題,例如異構硬件支持薄弱,存儲和網絡性能需要改進等。他倆還將分享如何解決這些問題。

Kubernetes 的網絡、存儲和運行時該如何處理?

Yifei Zhang –阿里巴巴 高級工程師

Kata 實踐二: 阿里巴巴,Yifei Zhang 和 Huamin Tang,二位帶來的亦是 Kata 應用于 Serverless 服務的情景,在阿里云,使用的是 ECS 裸機實例 + Kubernetes 作為 Serverkless 的基礎設施,且將 Kata 容器用作容器運行時。Yifei Zhang 和 Huamin Tang 將談論阿里云從使用 Kubernetes 解決裸機云多租戶難題并實現高性能中所汲取的經驗教訓,多租戶 Kubernetes 的設計和架構,如何使用 VPC 網絡進行隔離,以及如何改進采用直連網絡的 Kata 容器的性能以實現原生性能,例如使用 RunC 和 qcow2 圖形驅動程序而非使用 9pfs 改進 I/O。

運行時,是平衡乖張的容器應用和安全運行不信任的代碼之間完美的平衡之作,隨著 Serverless 的興起,這勢必是很多人所關心的話題。

那么,KubeCon + CloudNativeCon 的運行時論壇都有哪些精彩演講呢?

Kubernetes 的網絡、存儲和運行時該如何處理?

總結

300+ 的演講者分享,任誰也無法照顧到所有,我們會盡最大努力幫助你梳理,根據你的興趣來找到對應的分享嘉賓,讓你有所成長、有所收獲。

具體的技術術語,必須放在具體的環(huán)境中,才能理解其真實的涵義,圍繞 Kubernetes 所發(fā)展起來的全新生態(tài)和技術世界,技術術語開始延伸、演變甚至和原來的意思想去甚遠,網絡也不再是國內計算機相關教育所使用的教材下網絡術語,存儲更是超越了當代學生的想象力。至于運行時,干脆就是給寫代碼的人一個任性的“沙箱“,筆者突然想到了 Richard Dawkins 和 Kevin Kelly 的觀點,也就是說技術本身、文化本身也是向自然界一樣演化的,而這個過程是逐步的,慢慢的,超越想象力的。就引用理查德道金斯先生的一句話來結束本文的冒險之旅吧.

“The solution often turns out more beautiful than the puzzle.”

------Richard Dawkins 生物學家《自私的基因》《盲眼的鐘表匠》等科普暢銷書作者

Kubernetes 的網絡、存儲和運行時該如何處理?

不出意料,本次大會的售票異常火爆,出于會場的安全考慮,參加大會的人數是被嚴格限制的,會務組將根據注冊的人數提前關閉超過限額的售票通道,所以千萬不要等到通道被關閉后再追悔莫及,現在的票價還有優(yōu)惠。

標準票價優(yōu)惠只到今天(6月6日),欲購從速:

標準注冊:2000人民幣(晚注冊2400,即時可省400!)

貴賓注冊:5000人民幣(晚注冊6000,即時可省1000!)

個人或學術注冊: 500人民幣(需要發(fā)送電子郵件至events@cncf.io 申請批準。晚注冊600,即時可省100!)

掃描二維碼到購票窗口,立即購票!

請!注!意!明天(6月7日)就要實行晚注冊票價了,切勿猶豫不決,抓住最后標準票的機會。

2019年 6月24日~26日,請大家抓住機會,我們在上海世博中心不見不散!

會議更多信息及注冊請點擊文末【閱讀原文】了解。

感謝活動贊助商

戰(zhàn)略贊助商

華為云

雙鉆石贊助商

Tencent Cloud

鉆石贊助商

Alibaba Cloud

Intel

鉑金贊助商

Rancher Labs

SUSE

黃金贊助商

AWS

Baidu AI Cloud

CloudBees

Google Cloud

JD Cloud

Linux Foundation Training

Oracle

QingCloud

Red Hat

VMware

白銀贊助商

Arm

博云 BoCloud

Ubuntu

Cloud Foundry

Elastic

F5 Networks

GitLab

杰蛙科技 JFrog

Kong

Mesosphere

Pivotal Software

Portworx

Ubuntu

UCloud

Yahoo Japan

初創(chuàng)企業(yè)贊助商

Ankr

Cloud To Go

EMQ

Giant Swarm

Hyperledger

Kontena

LF AI Foundation

PlanetScale

Reduxio

Upbound

睿云智合

焱融云

合作伙伴

中國開源云聯盟

中國開源軟件推進聯盟

異步社區(qū)

掘金

開源社

Katacoda

Linux 中國

Linux Story

開源工場

云計算開源產業(yè)聯盟

Women Who Code

CNCF (Cloud Native Computing Foundation)成立于2015年12月,隸屬于Linux Foundation,是非營利性組織。

CNCF云原生計算基金會)致力于培育和維護一個廠商中立的開源生態(tài)系統(tǒng),來推廣云原生技術。我們通過將最前沿的模式民主化,讓這些創(chuàng)新為大眾所用。

極客網企業(yè)會員

免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。

2019-06-06
Kubernetes 的網絡、存儲和運行時該如何處理?
引言“ 系統(tǒng)正在變得越發(fā)復雜(sophisticated)。

長按掃碼 閱讀全文