• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 新聞 > 文章精選 >
     首頁(yè) > 新聞 > 文章精選 >

    如何打造一個(gè)企業(yè)級 Kubernetes 發(fā)行版

    --知行學(xué)院總結

    2019-01-23 15:46:13   作者:   來(lái)源:CTI論壇   評論:0  點(diǎn)擊:


      知行學(xué)院是青云QingCloud 為廣大 CIO、架構師、開(kāi)發(fā)者、運維工程師、技術(shù)愛(ài)好者提供的一個(gè)云計算、大數據、容器等技術(shù)的最佳分享與實(shí)踐平臺。其中包括線(xiàn)上技術(shù)公開(kāi)課、云產(chǎn)品解析、線(xiàn)下實(shí)踐課堂、行業(yè)沙龍等眾多知識分享形式。
      本次我們邀請了青云QingCloud 容器平臺產(chǎn)品經(jīng)理于爽(Calvin Yu),帶來(lái)《如何打造一個(gè)企業(yè)級Kubernetes 發(fā)行版》。
      正文:
      作為 KubeSphere 線(xiàn)上培訓教程的第一節課,今天的內容覆蓋幾個(gè)方面:第一個(gè)是介紹一下 KubeSphere 這款容器產(chǎn)品產(chǎn)生的背景,第二給大家比較一下 KubeSphere 和原生的 Kubernetes 的區別,第三部分會(huì )介紹一下 KubeSphere 高級版 1.0.0 里面主要的功能,最后會(huì )有一個(gè) Demo,給大家展示一下 KubeSphere 整體的使用方式。
      第一部分
      KubeSphere 產(chǎn)生的背景
      這個(gè)是 Gartner 在今年發(fā)布的調研報告,Gartner 認為到 2020 年大概有 50% 的企業(yè)會(huì )將內部非常重要的業(yè)務(wù)容器化,放到容器里面去跑、而且是放在生產(chǎn)環(huán)境里面跑。2018 年這個(gè)比例只有 5%,而兩年的時(shí)間將會(huì )有十倍的提升。
      那么,為什么現在越來(lái)越多的企業(yè)要采用容器呢?
      容器帶來(lái)的改變
      第一個(gè)原因就是相比于傳統的虛擬化技術(shù),容器可以把主機資源的利用率最大化,可以帶來(lái)更輕量地資源消耗,避免無(wú)意義的資源損耗;
      第二個(gè)就是通過(guò)容器我們可以把IT界討論的比較熱的一些話(huà)題,比如 CI/CD、微服務(wù)這些從理論變?yōu)楝F實(shí)。特別是 CI/CD 這一塊,這也是很多使用容器的客戶(hù)的主要訴求,在沒(méi)有容器之前,并不是說(shuō)無(wú)法做CI/CD,但缺少了容器這種輕量的標準化的交付方式,帶了架構沉重、效率低下、環(huán)境不一致等問(wèn)題。
      基于標準化容器鏡像的構建方式以及統一鏡像的分發(fā)倉庫,用戶(hù)可以使用一系列自動(dòng)化運維的工具完成從開(kāi)發(fā)、代碼提交、測試、預發(fā)布、發(fā)布一整套完整的流水線(xiàn),它相比較于傳統的基于虛擬機的交互方式更經(jīng)濟、更高效。同時(shí)基于容器我們可以實(shí)現跨平臺的部署,企業(yè)就沒(méi)有平臺綁定的風(fēng)險了。
      使用容器需要管理調度平臺,Kubernetes 無(wú)疑是現在這種管理平臺市場(chǎng)里最主流、最受認可的一個(gè)平臺,我們知道用戶(hù)想使用 Kubernetes 的熱情是非常高漲的,但是它有一系列的問(wèn)題。
      使用 Kubernetes 的問(wèn)題與挑戰
      首先就是學(xué)習成本比較高。Kubernetes 是由谷歌初始開(kāi)源的一個(gè)項目,它起源于谷歌自己的 Borg 系統,大家都了解谷歌是一家技術(shù)出身的公司,Borg 系統或者說(shuō) Kubernetes 發(fā)布之初的時(shí)候給人的印象也是如此——是面向開(kāi)發(fā)者、面向技術(shù)人員的,使用起來(lái)非常的復雜。谷歌在里面又抽象了很多他自己理解的調度層面的一些概念,用戶(hù)想要去了解、然后再去使用這個(gè)平臺需要很長(cháng)的學(xué)習過(guò)程。
      同時(shí) Kubernetes 部署安裝非常復雜。在兩年前你要想搭建一套 Kubernetes 的平臺,可能要花一周甚至更長(cháng)的時(shí)間。當然到了現在,由于它越來(lái)越得到大家的認可,有很多自動(dòng)化工具可以幫助你做這件事情,但即使有了這些工具的支撐幫助,去了解這些自動(dòng)化工具其實(shí)也是一個(gè)二次學(xué)習的成本。
      另外,Kubernetes 專(zhuān)注做的是底層分布式的容器調度平臺,它把上游的一些業(yè)務(wù)場(chǎng)景以及跟底層資源的對接都開(kāi)放出來(lái),通過(guò)各種開(kāi)源項目和廠(chǎng)商去支持。比如說(shuō)存儲,它通過(guò) CSI 標準,把標準定出來(lái)之后,存儲廠(chǎng)商可以接進(jìn)來(lái),網(wǎng)絡(luò )、容器運行環(huán)境也都是如此;包括上游的一些場(chǎng)景,比如 CI/CD、微服務(wù)、這些都是通過(guò)其他開(kāi)源項目去支持的。
      所以當企業(yè)想要去通過(guò) Kubernetes 完成這種業(yè)務(wù)場(chǎng)景的交付,那么就要去選型、去選擇合適自己的開(kāi)源項目,這些對企業(yè)來(lái)說(shuō)也是很麻煩的一件事情。
      綜上可以看出,想使用 k8s 它的隱形成本是很高的,企業(yè)需要運維一個(gè)專(zhuān)業(yè)的團隊去負責這個(gè)平臺,同時(shí) Kubernetes 多租戶(hù)的模式非常復雜、安全性低,另外它作為通過(guò)開(kāi)源社區支持的一個(gè)項目,缺乏本土化支持,這都是在使用 Kubernetes 過(guò)程中非常典型的一些問(wèn)題和挑戰。
      所以基于客戶(hù)的這些痛點(diǎn),我們開(kāi)發(fā)了我們自己的 k8s 發(fā)行版 KubeSphere,我們的 KubeSphere 和原生的 Kubernetes 的區別是什么呢?
      第二部分
      KubeSphere 和原生的 Kubernetes 的區別
      首先來(lái)說(shuō)原生的 k8s 它的安裝是非常復雜的,但是我們的 KubeSphere 非常簡(jiǎn)單,只需要配置兩個(gè)配置文件,然后就可以一鍵安裝了。
      另外,由于它整個(gè)安裝過(guò)程是需要拉取各種容器鏡像的,有些鏡像由于網(wǎng)絡(luò )等原因,拉取起來(lái)比較復雜,而 KubeSphere 支持離線(xiàn)安裝,在網(wǎng)絡(luò )環(huán)境比較限制的情況下或者說(shuō)在一些私有云的場(chǎng)景、私有化網(wǎng)絡(luò )情況下,通過(guò)離線(xiàn)安裝,你可以很方便地搭建一個(gè) k8s 管理集群。
      原先的 Kubernetes 是沒(méi)有界面性的東西來(lái)輔助工作的,你可以額外使用開(kāi)源的 Dashboard,但是 Dashboard 提供的功能是比較弱的,體驗也不是很好,而 KubeSphere 的界面功能比較強大,大家可以自己去體驗一下。
      原先的 Kubernetes 的多租戶(hù)和權限控制是通過(guò)配置文件和命令行去完成的,我們的 KubeSphere 提供了統一的管理入口、多租戶(hù)的管理方式,可以提供資源和操作級別的權限配置。
      另外,Kubernetes 沒(méi)有應用管理的概念,它是通過(guò) Helm 去做的,使用命令行可以完成 Helm 應用包的部署、升級、刪除的工作。而 KubeSphere 提供了完整的應用生命周期的管理,從應用的開(kāi)發(fā)、發(fā)布、版本管控、后面使用的運維,都可以提供一整套的完整的工具。
      另外原生的 Kubernetes 是沒(méi)有 CI/CD、微服務(wù)這些業(yè)務(wù)場(chǎng)景支持的,在我們的 KubeSphere 里面提供了這些業(yè)務(wù)場(chǎng)景的支持。
      監控告警,Kubernetes 它的配置是相對比較復雜的,需要基于不同的開(kāi)源項目去選型。而我們提供了更簡(jiǎn)便的方式,同時(shí)我們也可以做第三方的集成支持,可以把你的監控數據導入到企業(yè)現有的監控系統里面。
      然后是存儲網(wǎng)絡(luò )。Kubernetes 存儲網(wǎng)絡(luò )是兩大塊,有很多開(kāi)源項目的支持,我們 KubeSphere 也集成了這些主流開(kāi)源的網(wǎng)絡(luò )存儲的解決方案,同時(shí)青云作為一個(gè)云廠(chǎng)商,我們也開(kāi)發(fā)并開(kāi)源了我們自己的存儲網(wǎng)絡(luò )插件去對接青云現在的 SDN 網(wǎng)絡(luò )、SDS 塊存儲,可以使用青云的云平臺上的硬盤(pán)。
      我們還有另外一款分布式存儲產(chǎn)品 NeonSAN,它是可以獨立部署的,我們也開(kāi)發(fā)了對應的 NeonSAN 的存儲插件。另外像云平臺上有負載均衡器,我們也開(kāi)發(fā)了負載均衡器插件,如果你把 KubeSphere 部署在青云的云平臺之上,那么你可以通過(guò)我們的負載均衡器插件,在暴露服務(wù)的時(shí)候選擇負載均衡器的類(lèi)型,那么你的服務(wù)就通過(guò)負載均衡器去暴露了。
      簡(jiǎn)單地概括一下:KubeSphere 是在 Kubernetes 之上構建的企業(yè)級分布式多租戶(hù)容器管理平臺。
      它的幾大亮點(diǎn)包括:統一門(mén)戶(hù)、實(shí)現跨平臺管理多種 k8s;學(xué)習成本比較低,UI 體驗比較好;提供了多場(chǎng)景支持的整體化解決方案;可以很方便地集成第三方的系統;我們提供多租戶(hù)、更細粒度的權限管理方式;我們除了提供開(kāi)源的網(wǎng)絡(luò )和存儲解決方案,還有我們自己特色的網(wǎng)絡(luò )和存儲方案。
      這是 KubeSphere 一個(gè)簡(jiǎn)單的架構圖,底層可以支持不同的基礎設施,如物理機、vmware 虛擬機或者是公有云上的云主機,中間的門(mén)戶(hù)管理多種 k8s 集群,網(wǎng)絡(luò )和存儲我們支持各種存儲插件、網(wǎng)絡(luò )插件,同時(shí)我們還有自己的網(wǎng)絡(luò )和存儲插件的支持。
      我們自己作為云廠(chǎng)商有自己的負載均衡器插件,同時(shí)我們還提供基于物理交換機的負載均衡器解決方案,這對物理機的部署是非常重要的。
      它的上層提供了幾大場(chǎng)景的支持,包括多集群的運維調度、CI/CD、微服務(wù)治理、應用生命周期管理。其中應用生命周期管理,我們是基于 OpenPitrix——由我們主導開(kāi)源的一個(gè)項目,大家可以在 GitHub 上搜到,它是實(shí)現多云應用管理的一個(gè)平臺。
      第三部分
      KubeSphere 高級版 1.0.0 的主要功能
      這是 KubeSphere 的全景功能圖,大家可以看到這里面體現了剛才提到的幾大功能的支持。
      多租戶(hù)管理
      比如說(shuō)多租戶(hù)這一塊,從集群層面我們提供了平臺管理角色;在集群下面我們提供了多租戶(hù)的支持,我們叫做企業(yè)空間;企業(yè)空間底下我們提供了項目,對應 k8s 里面的就是 Namespace;另外基于 CI/CD 的場(chǎng)景,我們有 DevOps 工程層級的資源支持,如果企業(yè)想去運行自己的 CI/CD 流水線(xiàn),可以創(chuàng )建一個(gè) DevOps 工程,然后在里面跑自己的流水線(xiàn)。
      KubeSphere 定義了集群層級、企業(yè)空間層級、項目的 DevOps 工程層級,這是三個(gè)層級,它綁定的是每個(gè)層級資源不同的角色,角色底下關(guān)聯(lián)的是不同的用戶(hù)。關(guān)于多租戶(hù),我們接下來(lái)會(huì )專(zhuān)門(mén)有一期線(xiàn)上培訓,給大家介紹里面詳細的概念和操作。
      從右邊這一塊能看到,我們支持的 k8s 資源工作負載類(lèi)型有很多,包括部署、有狀態(tài)副本集、守護進(jìn)程集、任務(wù)和定時(shí)任務(wù)。存儲這邊除了主流的開(kāi)源存儲插件,我們還有 NeonSAN 分布式塊存儲,以及支持青云的塊存儲;暴露服務(wù)可以通過(guò) Ingress 的方式;配置上我們支持 Secret 和 Configmap。
      DevOps 工程里面我們提供了可視化流水線(xiàn),我們支持 Jenkinsfile in&out of SCM。這是什么意思呢?其實(shí)有很多企業(yè)已經(jīng)用了 Jenkins 這種流水線(xiàn)管理平臺了,他們已經(jīng)有了自己的 Jenkinsfile 去跑自己的流水線(xiàn),并把 Jenkinsfile 作為他們代碼管理的一部分,放在自己的代碼倉庫里面。
      比如說(shuō) OA 項目,我要跑自己的流水線(xiàn),有一個(gè)代碼倉庫,你把 Jenkinsfile 放在這個(gè)代碼倉庫里面了,我們支持這種方式,那么你在配置流水線(xiàn)的時(shí)候,告訴我代碼倉庫的位置,我會(huì )自動(dòng)地去拉取你已有 Jenkinsfile 里面的內容,去把流水線(xiàn)構建出來(lái)并運行。
      如果你之前沒(méi)有 Jenkinsfile 、,那么通過(guò)我們提供的這種可視化流水線(xiàn)構建工具,你可以在頁(yè)面上簡(jiǎn)單地去操作、創(chuàng )建自己的流水線(xiàn)。
      同時(shí)我們的 DevOps 工程支持憑證管理,可以去幫助你訪(fǎng)問(wèn)各種代碼倉庫、鏡像倉庫等等。
      另外在高級版 1.0.0 中我們提供了獨立的監控中心,可以提供不同維度的監控功能,比如說(shuō)我們可以從集群視角去查看各種指標,包括內存、CPU、磁盤(pán)、容器組運行情況、網(wǎng)絡(luò )等等。從應用視角也可以去監控整個(gè)業(yè)務(wù)的運行狀況,比如說(shuō)你的項目里面使用多少資源,你的項目底下的應用使用多少資源,都是可以去查看的。
      總結一下多租戶(hù)的部分:
      我們現在已經(jīng)支持了 LDAP 和 AD 的統一認證,同時(shí)我們支持 OAuth 的認證集成。
      網(wǎng)絡(luò )與存儲
      除了支持各種主流的網(wǎng)絡(luò )存儲插件,我們也提供了自主可控的網(wǎng)絡(luò )和存儲。特別是在一些關(guān)鍵性業(yè)務(wù)上,如果你使用一些開(kāi)源的插件去跑一些關(guān)鍵性業(yè)務(wù)的話(huà),一旦出了問(wèn)題,服務(wù)、支持都是很頭疼的事情。這種自主可控的、可以得到及時(shí)支持的網(wǎng)絡(luò )和存儲的方案,對于某些客戶(hù)還是非常重要的。
      作為我們青云平臺的企業(yè)用戶(hù),在網(wǎng)絡(luò )上您可以使用我們提供的開(kāi)源的 hostnic 網(wǎng)絡(luò )方案,pod 上直接綁定青云 SDN 的網(wǎng)卡,可以實(shí)現網(wǎng)卡的直通。
      然后我們還提供基于物理交換機的負載均衡器解決方案,且不綁定設備,比如說(shuō)你可以自己采購華三的交換機,通過(guò)物理交換器達到負載均衡器暴露服務(wù)的場(chǎng)景支持。
      我們自己的 CSI 存儲插件可以直接掛載青云的 SDS 塊存儲,我們也開(kāi)發(fā)了 QingStor CSI 的插件,這個(gè) pod 可以直接掛載 NeonSAN 的塊存儲。
      CI/CD on KubeSphere
      基于 CI/CD 我們可以實(shí)現容器的標準化交付物,快速構建、升級、回滾應用環(huán)境,提供完整的自動(dòng)化工具的鏈條,降低運維成本,同時(shí) CI/CD 為微服務(wù)場(chǎng)景提供了強有力的支持。比如說(shuō)把一些業(yè)務(wù)拆分放在不同的容器里面去,然后再通過(guò) CI/CD 構建整個(gè)的開(kāi)發(fā)、測試和部署的鏈條,實(shí)現快速發(fā)布,降低管理成本。
      我們現在發(fā)布的是 1.0.0,剛才也提到 Jenkinsfile In and out 和 Source Code Management 兩種方式,我們即將發(fā)布的 2.0.0 版本會(huì )支持 source to image,代碼到鏡像的構建,還支持代碼安全掃描。
      集群運維
      我們在項目這個(gè)層級提供配額管理,比如這個(gè)項目底下你可以去使用多少 CPU、多少內存、可以創(chuàng )建多少個(gè)部署、多少個(gè)服務(wù),這些都可以通過(guò)配額去配置。在工作負載上除了支持 k8s 原生之外我們還支持 HPA,即 pod 的自動(dòng)彈性伸縮,你可以設置自己的CPU指標,pod 的下限和上限,當指標達到、超過(guò)的時(shí)候,pod 會(huì )自動(dòng)的擴容。
      應用的生命周期管理
      這個(gè)是通過(guò)我們自己開(kāi)源的一個(gè)項目 OpenPitrix 做的,OpenPitrix 是多云應用的全生命周期管理,支持不同的云廠(chǎng)商,如阿里云、AWS 等,k8s 也是 OpenPitrix 支持的運行平臺。
      它底層是基于 Helm 去做的,也就是說(shuō) OpenPitrix 是去調用 Helm 的 API,在應用層實(shí)現包的管理。但是 OpenPitrix 比 Helm 能做的事情更多,因為 Helm 其實(shí)就是簡(jiǎn)單地實(shí)現應用打包,然后部署、版本管控、升級這些功能,但是其實(shí)應用管理、生命周期管理是非常復雜的場(chǎng)景,它不單單是 Helm 考慮到的那些東西,它還包括了不同角色人員的需求,還有不同場(chǎng)景的支持。
      比如說(shuō)我作為一個(gè)應用開(kāi)發(fā)者,我怎么去開(kāi)發(fā)自己的應用、怎么發(fā)布、版本管控,以及應用發(fā)布之后,我的計費計量、用戶(hù)使用的情況是什么樣的?它碰到的各種問(wèn)題怎么通過(guò)我的平臺去獲取支持?這都是整個(gè)應用生命周期管理里面各種場(chǎng)景的訴求,這個(gè)在 Helm 是沒(méi)有的。而 OpenPitrix 提供了整個(gè)應用生命周期管理的功能。
      這里簡(jiǎn)單畫(huà)了一個(gè) KubeSphere 和 OpenPitrix 怎么做集成支持的場(chǎng)景介紹。比如說(shuō)我是一個(gè)應用開(kāi)發(fā)者,我開(kāi)發(fā)一個(gè)應用,那么我可以通過(guò) OpenPitrix 把我的應用打包上傳,上傳之后發(fā)布應用,再通過(guò)我的 KubeSphere 的 CI/CD 流水線(xiàn)跑一些測試,都通過(guò)之后把它發(fā)布,發(fā)布之后我就可以在我的應用倉庫里面看到這個(gè)應用了。作為一個(gè)應用的消費者、使用者,他可以在應用倉庫的界面里面看到并使用這個(gè)應用。
      這個(gè)是 KubeSphere 高級版的產(chǎn)品路線(xiàn)圖。高級版 1.0.0 里面我們提供的是多租戶(hù)、監控和 CI/CD,高級版 2.0 的時(shí)候我們會(huì )提供微服務(wù)治理、日志、告警的支持。
      2019 年,我們會(huì )在公有云上線(xiàn)我們自己的 QingCloud Kubernetes Service,提供容器超融合一體機。我們的 AppCenter 里提供了各種 PaaS 和 SaaS 的應用,我們會(huì )把線(xiàn)上比較關(guān)鍵性的 PaaS 應用容器化,放到 KubeSphere 的內置應用倉庫里,同時(shí)我們在明年還會(huì )支持 GPU 和 arm 的架構,可以支持大數據深度學(xué)習的場(chǎng)景。
      最后,這是 KubeSphere 產(chǎn)品從開(kāi)發(fā)至今累計的開(kāi)源項目的地址,第一個(gè)就是 KubeSphere 這個(gè)項目的地址,然后是文檔的項目,大家使用時(shí)碰到的各種問(wèn)題、各種需求都可以在這上面告訴我們,我們會(huì )及時(shí)去解答。
      比如說(shuō)我剛才講到的我們自己對接云平臺的各種插件,像負載均衡器插件、網(wǎng)卡插件、存儲插件,還有我剛才提到的多云的應用管理平臺 OpenPitrix,我們都在 Github 上開(kāi)源。
      另外我們提供了兩個(gè)在線(xiàn)網(wǎng)站,KubeSphere.io 和 KubeSphere.qingcloud.com ,大家可以在這些地址上獲取想了解的信息。
      KubeSphere 系列培訓課程(二)——如何通過(guò) KubeSphere 玩轉 Kubernetes 存儲,將在 1 月 23 日 20:00 準時(shí)開(kāi)講,歡迎掃碼訂閱??
     
    【免責聲明】本文僅代表作者本人觀(guān)點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對文中陳述、觀(guān)點(diǎn)判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

    專(zhuān)題

    CTI論壇會(huì )員企業(yè)

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 永川市| 西昌市| 绥棱县| 千阳县| 收藏| 安化县| 沁水县| 通州市| 衡南县| 镇雄县| 乌兰县| 申扎县| 江安县| 重庆市| 盱眙县| 彩票| 元谋县| 九龙坡区| 青州市| 肃南| 洛宁县| 和平区| 仙桃市| 斗六市| 新安县| 临湘市| 佛坪县| 白沙| 杭锦后旗| 密云县| 临西县| 新河县| 玛曲县| 教育| 聂荣县| 资阳市| 松滋市| 西林县| 大足县| 芦溪县| 灯塔市| http://444 http://444 http://444 http://444 http://444 http://444