摘要:是容器中心自動化平臺,它幫助開發(fā)人員構(gòu)建測試并部署應用程序。當然,我們使用自身來構(gòu)建并部署到中概述我們是一個運行云原生應用的平臺,在隔離上做了很多設計決策。我們啟動,監(jiān)控它的進程,并在結(jié)束后銷毀它。
編者按:本文由Wercker CTO Andy Smith 分享,他分享了Kubernetes如何幫助他們節(jié)省時間并加速開發(fā)。本文是關(guān)于Kubernetes 1.3新功能一系列深入文章的第九篇。
我們在Wercker運行數(shù)百萬容器執(zhí)行用戶的CI/ CD工作。這些容器的生命周期大多是短暫的,構(gòu)建、測試和部署完成后,這些容器的生命周期隨之結(jié)束。
雖然多數(shù)容器的生命是短暫的,但我們傾向于持續(xù)運行我們的基礎設施。通常情況下我們需要跨多節(jié)點運行多個容器,所以一個高度可擴展的調(diào)度程序就顯得非常有必要。我們決定使用Kubernetes。
Wercker 是容器中心自動化平臺,它幫助開發(fā)人員構(gòu)建、測試并部署應用程序。
我們支持任何數(shù)量的pipelines,從代碼構(gòu)建、測試微服務間的API協(xié)議、上傳鏡像和部署到調(diào)度器。
所有這些pipeline都運行在Docker容器中,而且每個環(huán)節(jié)都是一個Docker容器。
當然,我們使用Wercker自身來構(gòu)建Wercker并部署到Kubernetes中!
概述我們是一個運行云原生應用的平臺,在隔離上做了很多設計決策。在底層,我們使用CoreOS和cloud-init 啟動一個異構(gòu)節(jié)點的集群,我把這些節(jié)點命名為Patricians(貴族)、Peasants(農(nóng)民)、 Controller(控制器)。
對于Controller 節(jié)點,也許我們應該使用Constables(警察)這個叫法。
貴族節(jié)點占據(jù)我們基礎設施的一大部分,這些節(jié)點有適當?shù)木W(wǎng)絡接口與后端服務通信,同時還作為各種負載均衡器的 endpoints。
這些節(jié)點上還運行著下面三類服務:
1.日志搜集服務,并發(fā)送到日志服務
2.很多用于報告和處理job運行結(jié)果的服務
3.處理API 調(diào)用的微服務
農(nóng)民節(jié)點用于運行公共服務,包括處理job的Pod,它用于從job 隊列讀取job,并聲稱新的pod以處理job的執(zhí)行。
job 本身是開源CLI工具的化身,你可以用Docker安裝并運行在你的筆記本上。
農(nóng)民節(jié)點對基礎設施的訪問權(quán)限十分有限,運行job的容器也是高度隔離的。
Controllers是控制器,對于這類節(jié)點的功能,你盡管望文生義就對了。
動態(tài)Pods我們的服務對Kubernetes API 有重度依賴,每一個job啟動時,系統(tǒng)都會動態(tài)創(chuàng)建Pod,這個Pod為job提供了運行環(huán)境。
從隊列中獲取 job 描述后,我們定義了一個新的 pod,新的Pod 包含執(zhí)行檢查代碼、緩存管理、執(zhí)行job并上傳結(jié)果的相關(guān)環(huán)境。
我們啟動pod,監(jiān)控它的進程,并在 job 結(jié)束后銷毀它。
Ingresses為了給 HTTP API 提供后端服務,并提供自注冊功能,我們使用了Kubernetes 的 Ingress 功能。
設置 Ingress 并不是很簡單,但是通過閱讀nginx 例子,我們最終發(fā)現(xiàn)了一個將后端服務連接到前端的好方法。
1.3 即將發(fā)布的功能盡管我們把pods和容器當成是短暫的,并期望它能夠在故障時快速重啟,同時我們也期待使用Pet Sets 和Init Containers 優(yōu)化我們的工作流。
對于Minikube得到官方支持,我們也很欣慰,因為它提高了我們的本地測試和開發(fā)的效率。
結(jié)論Kubernetes在管理跨節(jié)點的多個容器時,為我們省掉了大量的關(guān)鍵工作。
它提供了一個強大的API和工具來查看,包含多內(nèi)置日志支持、度量、監(jiān)控和調(diào)試。
僅服務發(fā)現(xiàn)和網(wǎng)絡這兩項就為我們節(jié)省了很多時間,大大加速了開發(fā)進度。
祝 Kubernetes 正式版一周年快樂,也祝愿它越來越好:)。
本文由時速云翻譯,如若轉(zhuǎn)載,需注明轉(zhuǎn)載自“時速云”
原文鏈接:http://blog.kubernetes.io/201...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/32503.html
摘要:而微服務架構(gòu)能否成功實踐,利用各種工具解決潛在問題是關(guān)鍵。因此,微服務本身可以通過庫和運行時代理解決客戶端服務發(fā)現(xiàn)負載均衡配置更新統(tǒng)計跟蹤等。與相比,解決了更廣的微服務架構(gòu)問題。和處理了不同范圍的微服務架構(gòu)技術(shù)點,而且是用了不同的方法。 Spring Cloud vs. Kubernetes,誰才是部署微服務的最佳拍檔? Spring Cloud和Kubernetes都聲稱自己是開發(fā)和...
摘要:容器云將支持應用的一鍵式部署交付,提供負載均衡,私有域名綁定,性能監(jiān)控等應用生命周期管理服務。本容器云平臺,對接持續(xù)集成發(fā)布系統(tǒng)。 前言 在移動互聯(lián)網(wǎng)時代,新的技術(shù)需要新技術(shù)支持環(huán)境、新的軟件交付流程和IT架構(gòu),從而實現(xiàn)架構(gòu)平臺化,交付持續(xù)化,業(yè)務服務化。容器將成為新一代應用的標準交付件,容器云將幫助企業(yè)用戶構(gòu)建研發(fā)流程和云平臺基礎設施。縮短應用向云端交付的周期,降低運營門檻。加速向互...
摘要:容器云將支持應用的一鍵式部署交付,提供負載均衡,私有域名綁定,性能監(jiān)控等應用生命周期管理服務。本容器云平臺,對接持續(xù)集成發(fā)布系統(tǒng)。 前言 在移動互聯(lián)網(wǎng)時代,新的技術(shù)需要新技術(shù)支持環(huán)境、新的軟件交付流程和IT架構(gòu),從而實現(xiàn)架構(gòu)平臺化,交付持續(xù)化,業(yè)務服務化。容器將成為新一代應用的標準交付件,容器云將幫助企業(yè)用戶構(gòu)建研發(fā)流程和云平臺基礎設施??s短應用向云端交付的周期,降低運營門檻。加速向互...
摘要:本篇文章將會結(jié)合網(wǎng)易云信的實踐經(jīng)驗,以全局概述的方式帶大家認識點播私有化平臺構(gòu)建的整體架構(gòu)面貌?;跇?gòu)建點播私有云平臺在具有以上優(yōu)勢的同時,還具備資源彈性管理監(jiān)控完善部署簡易自動化維護等特性?;跇?gòu)建平臺,能夠自由管理創(chuàng)建云主機。 私有云是為一個客戶單獨使用而構(gòu)建的,因而提供對數(shù)據(jù)、安全性和服務質(zhì)量的最有效控制。前置條件是客戶擁有基礎設施,并可以使用基礎設施在其上部署應用程序。其核心屬...
摘要:本篇文章將會結(jié)合網(wǎng)易云信的實踐經(jīng)驗,以全局概述的方式帶大家認識點播私有化平臺構(gòu)建的整體架構(gòu)面貌?;跇?gòu)建點播私有云平臺在具有以上優(yōu)勢的同時,還具備資源彈性管理監(jiān)控完善部署簡易自動化維護等特性?;跇?gòu)建平臺,能夠自由管理創(chuàng)建云主機。 私有云是為一個客戶單獨使用而構(gòu)建的,因而提供對數(shù)據(jù)、安全性和服務質(zhì)量的最有效控制。前置條件是客戶擁有基礎設施,并可以使用基礎設施在其上部署應用程序。其核心屬...
閱讀 745·2021-11-11 16:54
閱讀 3066·2021-09-26 09:55
閱讀 2016·2021-09-07 10:20
閱讀 1211·2019-08-30 10:58
閱讀 1057·2019-08-28 18:04
閱讀 708·2019-08-26 13:57
閱讀 3598·2019-08-26 13:45
閱讀 1164·2019-08-26 11:42