欧美片巜高级艳妇2_欧美丰满老熟妇AAAA片_欧美电影《性呻吟》未删减版_日本欧美久久久久免费播放网_欧美第一页_欧美人与人动人物2024 心理学_欧美寡妇性猛交XXX_日韩欧美高清DVD碟片_欧美激情综合色综合啪啪五月_欧美成人午夜无码A片秀色直播_欧美色综合天天久久综合精品_欧美MV日韩MV国产网站

首頁(yè) > 企業(yè)動(dòng)態(tài)

盛學(xué)成長(zhǎng)Kubernetes與DevOps落地實(shí)踐

發(fā)布日期:2020-02-24

  伴隨著公司業(yè)務(wù)的快速發(fā)展,公司很多業(yè)務(wù)線的服務(wù)架構(gòu)以及服務(wù)運(yùn)行時(shí)環(huán)境也有了很大變化。之前的資源管理和應(yīng)用生產(chǎn)流程主要是半自動(dòng)化,不管是服務(wù)器相應(yīng)的資源利用率還是技術(shù)人員的個(gè)人生產(chǎn)力仍然有很大的提升空間。

  一、運(yùn)維面臨的痛點(diǎn)

  1、業(yè)務(wù)的擴(kuò)展,團(tuán)隊(duì)服務(wù)器資源也越來(lái)越多,我們常常會(huì)聽(tīng)到這樣的聲音:“我的服務(wù)器怎么又卡死了?”、“我點(diǎn)擊開(kāi)始構(gòu)建后項(xiàng)目就一直502了?”“幫忙看看,某某項(xiàng)目怎么又掛掉了無(wú)法訪問(wèn)了,我正在測(cè)試呢?”

  2、在代碼管理方面,沒(méi)有較好的命名規(guī)范,代碼倉(cāng)庫(kù)沒(méi)有友好的UI界面進(jìn)行管理,我們常常需要對(duì)照一個(gè)或多個(gè)復(fù)雜的excel表格來(lái)找到那些不常使用的或者近期未開(kāi)發(fā)的項(xiàng)目代碼;

  3、本地手工打包,手動(dòng)創(chuàng)建虛擬機(jī),手工部署和升級(jí),這些重復(fù)和低效率的研發(fā)部署模式導(dǎo)致開(kāi)發(fā)人員不能高效的專注于業(yè)務(wù)需求;

  4、線上業(yè)務(wù)在運(yùn)行時(shí)會(huì)出現(xiàn)并發(fā)問(wèn)題,根據(jù)怎么樣的指標(biāo)、怎樣去對(duì)業(yè)務(wù)進(jìn)行擴(kuò)縮容?業(yè)務(wù)遷移如何更為高效、準(zhǔn)確和快速;

  5、在之前項(xiàng)目的運(yùn)行環(huán)境中,我們使用了Rancher1.6版本及其自帶的Cattle作為我們的容器平臺(tái)。由于rancher對(duì)docker容器的進(jìn)一層封裝,常常會(huì)出現(xiàn)很多問(wèn)題,例如網(wǎng)絡(luò)為什么不通了?dns為什么無(wú)法解析等等,這種類似問(wèn)題的根本原因不得而知。

  二、問(wèn)題分析

  首先想到能解決其中代碼倉(cāng)庫(kù)管理的辦法就是將原有代碼倉(cāng)庫(kù)遷移到更為強(qiáng)大的git上,并且制定統(tǒng)一的規(guī)范準(zhǔn)則。

  其次大部分問(wèn)題的解決辦法最容易想到的就是通過(guò)腳本來(lái)幫我們做一些手動(dòng)重復(fù)性的工作。沒(méi)錯(cuò),在前期我們寫了很多腳本,不同服務(wù)的運(yùn)行環(huán)境隨著命名的規(guī)范也會(huì)變得更加統(tǒng)一。但是在需求沒(méi)辦法確定的情況下,如何評(píng)判腳本的好壞與完整性卻沒(méi)有思路,我們只能做到的是腳本如果遇到某個(gè)bug那就去改一個(gè)版本。

  至于Rancher,我們發(fā)現(xiàn)在1.6版本之后便丟掉了原有的編排引擎,轉(zhuǎn)而擁抱的是更為強(qiáng)大的Kubernetes。因此我們決定拋棄Rancher,使用更為原生的Kubernetes容器編排。

  三、解決方案

  目前,Kubernetes已經(jīng)成為市場(chǎng)上事實(shí)上領(lǐng)先的容器編排工具,不僅對(duì)技術(shù)公司如此,對(duì)所有公司都是如此,因?yàn)樗С挚焖偾铱深A(yù)測(cè)地部署應(yīng)用程序、動(dòng)態(tài)地伸縮應(yīng)用程序、無(wú)縫地推出新特性,同時(shí)有效地利用硬件資源。

  如何用好Kubernetes?應(yīng)用如何遷移到k8s?對(duì)相應(yīng)技術(shù)人員是一大挑戰(zhàn),因?yàn)樗鼮樵?,沒(méi)有像Rancher提供的在界面上更為便捷的操作。

  最終我們基于現(xiàn)有服務(wù)器環(huán)境,自建了多套原生且高可用的Kubernetes集群

1.png

2.png

  應(yīng)用的改造方面,調(diào)研并使用了Minio分布式對(duì)象存儲(chǔ),優(yōu)化統(tǒng)一了應(yīng)用配置方法和日志輸出規(guī)范

  應(yīng)用的遷移與DevOps工作流的實(shí)現(xiàn),基于Jenkins2.X版本開(kāi)發(fā)了多套更為便捷的流水線,真正實(shí)現(xiàn)應(yīng)用的部署通用參數(shù)選擇、一鍵快速部署、回滾、擴(kuò)縮容等更為強(qiáng)大的功能

3.png

4.png

  至今,公司超過(guò)80%的項(xiàng)目已經(jīng)全部遷移且穩(wěn)定運(yùn)行在新環(huán)境下,回顧過(guò)去一年多的成果,為我們帶來(lái)了諸多好處:

  自動(dòng)化的集成解放了大量的重復(fù)性勞動(dòng)

  更快的交付效果和更快的發(fā)現(xiàn)并修復(fù)問(wèn)題

  減少了等待時(shí)間與人工錯(cuò)誤

  更為持續(xù)、穩(wěn)定的運(yùn)行環(huán)境

  。。。。。。

  

  四、下一步規(guī)劃

  暢想未來(lái),在容器化技術(shù)及 Kubernetes 統(tǒng)一的時(shí)代,企業(yè)應(yīng)用也逐步向微服務(wù)架構(gòu)轉(zhuǎn)變,這中間包含著服務(wù)注冊(cè)、服務(wù)發(fā)現(xiàn)、服務(wù)網(wǎng)關(guān)、配置中心、集成框架、分布式事務(wù)等等。隨著“云原生”這個(gè)概念的誕生和落地,我們會(huì)將更多的工作與業(yè)務(wù)相結(jié)合,實(shí)現(xiàn)更多更好更強(qiáng)的服務(wù)發(fā)布方式,根據(jù)更多的數(shù)據(jù)指標(biāo)和服務(wù)中鏈路的追蹤來(lái)進(jìn)一步優(yōu)化業(yè)務(wù),最終實(shí)現(xiàn)業(yè)務(wù)的快速迭代、自動(dòng)部署、獨(dú)立高效。