新四季網

天雲軟體技術沙龍 帶你了解Docker等技術

2023-12-01 01:21:28 2

    在數據爆炸的今天,企業對網際網路應用的要求一方面是速度,要求可以快速迭代,適應市場需求變化;另一方面是穩定性,在面對用戶量不斷增長以及軟體應用不斷更新的情況下,可以依然保持業務持續不中斷。這也是雲計算發展的一個方向,用戶可以不必自己部署、安裝基層應用,因為可以直接交給雲平臺實現。而在這方面,Docker是一個尤其典型的應用!關於Docker等容器技術,你究竟了解多少?其使用場景都有哪些呢?9月24日,由DockOne社區和天雲軟體聯合主辦的容器技術沙龍在北京IC咖啡舉辦,由各位技術大咖帶你近距離了解Docker!

    作為一個標準的中間件,Docker相當於雲計算的「貨櫃」,承載著後端的各種技術,並且可以保障多個技術同時運行的速度。技術人員只需關注將自己開發好的代碼、技術放在Docker鏡像裡面,而運維人員也只需關注讓這種標準化的Docker在平臺上運行起來即可。

    首先,中國電信雲計算公司研發工程師張其棟給大家帶來「中國電信基於Mesos+Docker的運維自動化在CDN中的實踐」的主題演講。

    張其棟首先表示,使用Mesos+Docker的大背景是中國電信雲公司的CDN架構。之所以採用這樣的架構,是因為後期的業務範圍比較大,用戶比較廣,後期的設備量會達到幾萬臺,如果用傳統的思路進行運維,對於運維的壓力太大。

    張其棟認為容器技術有自動化部署、持續集成、敏捷開發和提高開發效率、彈性調度、資源復用等優勢。他表示,中國電信在選擇了Docker之後,首先是實現業務軟體的容器化。比如直播轉碼業務軟體實現容器化。在實現了業務容器化之後,就需要選擇編排軟體。中國電信最終選擇的是Apache的Mesos。另外,他給出了選擇Mesos的如下幾個原因:一是相對比較成熟;二是數據分析相關軟體跟Mesos結合起來更容易。

    當然在Docker落地過程中也遇到了一些問題,張其棟表示中國電信在落地Docker的過程中確實也遇到過一些坑,當然他也給出了自己的解決建議:

    1、Docker默認共享內存太小,普通權限無法更改。我們給了最高權限。現在新版本Docker已經支持更改共享內存了,在測試環境裡可以用新命令去更改。後期會把最高權限去掉,使用命令行進行共享內存的更改。

    2、Docker最高權限會把容器107G存儲給寫滿,寫滿之後,再生成一個容器可以成功,但是運行不起來。有兩個方法,一個是更改107G存儲,變成2T或者4T的大硬碟,不能從根源上解決問題。還有一個辦法,從業務軟體上避免這個問題,把日誌儘量往小寫,另外把日誌映射出來。

    3、直播轉碼和切片無法獲取CP方給的組播流。解決方案是給容器HOST模式,性能上沒有損失,但用網絡比較多。

    4、修改防火牆後,Docker網絡環境不通。修改防火牆後重啟防火牆,之前運行起來的鏡像,再次運行時網絡是不通的。現在的解決方案是規避它,在使用鏡像的時候,先把防火牆所有的配置參數調好,不要重啟防火牆。

    北京天雲融創軟體技術有限公司研發總監劉春陽主要負責公司容器化以及平臺化產品的規劃和設計。他給大家帶來主題為「企業應用容器化的痛點、坑和解決之道」的演講。主要分享了針對企業級的平臺性的產品設計過程當中,可能會面臨什麼樣的需求,面臨什麼樣的問題,包括天雲軟體本身所採取的一些技術選型。

    他認為,在電信領域,Docker有著自己的特殊性。首先電信行業裡面有運營商企業,然後是應用提供商,然後是資源提供商,這三個是分離的。管理方對於資源提供方,應用提供方都有要求,因此要求業務要能敏捷,要能快,儘快適應他們的需求。其次是業務要穩定;最後是高效率。而容器技術給以上三方帶來了改變,利用容器,可以利用行程中的程序邏輯,可以用標準的協議交付第三方,使彼此之間角色沒有重疊現象資源提供者可以無差別的對待資源。其次,利用容器技術,可以在Docker放貨櫃混合編排,混合部署,促進平臺的統一性。另外,通過利用標準化的容器技術,促進研發流程的自動化和應用模式化。

    劉春陽認為,容器現在面臨的挑戰主要有以下兩個:

    1、標準不統一。至少目前來說,容器的標準相對統一,但是容器平臺管理的標準至少有三家在,標準不統一,導致大家在使用過程當中,技術選型的時候會有挑戰。

    2、容器的技術涉及到資源,涉及到應用內部,所以它具有一定的輕量性,不是交付虛機就可以。因此容器要解決個問題,否則就沒有辦法做模式化,而不做模式化的話,平臺的很多東西都無法構建。

    當當網個性化推薦組項目負責人肖驍主要為大家分享了關於當當網個性化推薦組應用Docker進行應用部署以及小團隊試水Docker的的若干經驗,分享主要包括:現有應用Docker化的過程和結合Jenkins的自動化構建。他的演講主題是 「當當網Docker應用實踐」。

    肖驍告訴我們,要是把程序放在容器裡,程序至少是無狀態的,不能依賴於宿主機的一切環境和目錄等。Docker以後,代碼流水線管理,提高開發效率。

而用Docker把現有的程序Docker化,需要注意哪些東西呢?

    1、鏡像構建。一定要從Dockerfile生成,如果不從Dockerfile生成,以後更新、回滾是很麻煩的。

    2、避免依賴過深。不要在基礎鏡像上加太多產生其他的鏡像,最多是三四層。一層是base鏡像,再往上是工具,再往上一層就是自己的程序,再多就比較亂。

    3、發布。使用Docker可以用很標準的過程做上線、回滾或者是升級。

    4、日誌管理。如果把日誌放在容器裡,容器銷毀了,日誌就沒有了。要把日誌實時保留,有一種辦法是把日誌放在宿主機,完全不依賴宿主機的任何環境。肖驍建議放一些日誌收集等。

    5、環境變量。指定裡面的環境變量,應用再去環境變量。這是Docker啟動的時候用這個,如果上集群的話,這個稍微麻煩一點。

    6、配置中心。用資料庫,把配置放在裡面都可以。用Docker的話,在裡面改配置文件,再啟動的時候,配置文件就沒有了,有個簡單的方法就是配置文件,給每一個版本配置文件都打一個容器。

    7、網絡管理。 現在主要是用Host,網絡性能較好用Bridge,現在如果用自定義的話,可以建多個像Docker0這樣的網絡,可以為容器之間連接和隔離。

    他說,如果自己團隊想用Docker的話,運行環境、內核版本、作業系統的發行版本,這些都是有要求的。

    1、鏡像載荷要求。一個現有的比較成熟的架構應用,要放到Docker裡要考慮是不是依賴宿主機的環境,包括本地的IP和本地目錄等。

    2、數據中心過大。 數據中心過大時採用折中的方法,先往上扔一個空數據,後臺第一次啟動的時候,如果容器裡面沒有數據的話,自己就下了,這可能也是一個折中的辦法。

    3、鏡像管理、版本控制。如果提交一個鏡像,包括版本號等,必須要有比較嚴格的規定,格式和定義必須要仔細規定一下,要不然就會亂。

    相信不少人都想知道,在異構技術棧、5種語言、500+個微服務(包括Task)、網狀調用關係狀況下,如何做到一鍵構建測試環境,並同時支持50個Feature獨立測試卻互不影響? 折800的架構師劉凱以 「用Docker&K8s構建自動化測試環境」為主題的演講為大家做了妙答:用Docker + Kubernetes實現一鍵構建測試環境。按需拉起容器,按需部署,按照關聯計算,拉起關聯的服務。

    但是,在使用Docker + Kubernetes過程中需要解決如下問題:

    1、變異構為同質。不同的語言部署方式是不一樣的, 必須用一個方式,代碼上傳的時候,自帶環境、版本和庫。那麼用什麼樣的部署方式把異構的語言變成同步呢? 提供一個統一的接口可以構建、傳輸、部署。

    2、配置管理。要自動化部署,一鍵拉起幾百個服務和幾十個服務,要知道相互的關係,要連什麼服務,要怎麼配置,必須做到自動化配置。要加一個存儲,要加一個ES,必須在ES上建索引等。

    3、服務管理。如何做服務註冊、服務發現、如何做負載均衡。不同類型的服務,啟動以後,位置是不一樣的,HTDP服務要對外掛IP,要註冊到外面的負載均衡裡面,應用層面的服務是不需要這樣做的。

    4、監控。如果測試時,測不通,報告異常、超時,必須能在豎狀結構裡面知道哪個節點報錯,如果從最前端一層一層向下排查,將會非常耗時。失敗了用紅點標出來,然後告訴失敗原因是什麼。請求發不過去,是什麼原因,圖形數據怎麼來?採用更加激進的做法:整個測試環境,把所有包抓下來,知道源IP以及調度內容是成功還是失敗,從而分析所有容器節點的調度關係是成功還是失敗,這些數據配合服務依賴關係,完全可以把數據貫到監控數據上,這樣一來就知道哪個節點進來了,有什麼錯,有多長時間。

    5、兼容性。Docker化以後,怎麼把之前沒有Docker化的服務和流程融入到裡面,Docker研發流程要做相應的改造。接口和資料庫要兼容。

    6、編排部署。上線、開發時先更新哪個服務,再更新哪個服務,加一個配置,然後改資料庫等等。這麼複雜的事情,如果沒有合理的編排是很難做到自動化的。用DAG的方式去描述部署計劃,通過拖拽的方式表達要幹什麼。

    7、隔離。一鍵拉起測試環境同時還要做到按需拉取,要對服務之間的調度關係做隔離。在隔離區裡面,每個來源IP不一樣,第一個隔離區的來源IP,把請求轉到相應的隔離區裡面。

    8、依賴關係。服務之間調度鏈很深,如果不對調度鏈關係進行管理,很難知道被拉起的是什麼服務。向上找依賴分析,把依賴的服務一起部署。把500個服務的依賴關係都清算出來,放在一個服務庫裡面,能看到相互依賴關係。

    9、統一命名。看起來沒有技術含量,但是在做自動化部署和自動化測試時是非常關鍵的。

同类文章

搜狗團購導航 情人節電影攻略

    作為熱門電影檔期,今年情人節檔期依舊延續春節檔火熱氣勢。搜狗團購導航精心為用戶整理2014年情人節上映電影,為大家提供特別準備的情人節電影攻略。   由同名熱播電視劇升級而成的《北京愛情故事》;陳坤、劉嘉玲組成影帝影后陣容的《過界男女》;情人節唯一3D愛情片《江南愛情故事》;「型男組合」杜淳

思科發布2014財年第二季度業績報告

    ·第二季度銷售額:112億美元(與上財年同期相比降低8%)   ·第二季度每股收益:根據GAAP計算為0.27美元;非GAAP每股收益為0.47美元  CTI論壇(ctiforum)2月13日消息(記者 李文杰):全球領先的致力於改進人們聯絡、溝通和協作方式的網絡解決方案提供商思科公司今天發

情人節臨近 1號店巧克力等商品銷量激增

    2月14日情人節馬上就要到了,鮮花、巧克力等應景商品走俏市場,商家們也看準時機,各種促銷精彩紛呈。1號店相關負責人透露,目前1號店最熱銷的情人節產品是巧克力,從10號以來,巧克力的銷量就不斷攀升,「兩種商品的單日銷售額可以達到日常的4倍左右,並且還有上升的趨勢」。     據悉,1號店從2月

當"湯圓"邂逅"玫瑰"樂語通訊邀您盡享雙重約"惠"

    馬年春節在一片「馬上發紅包,馬上有禮錢」的呼聲中熱熱鬧鬧地走到了尾聲。元宵節作為最後的重頭戲,歡樂不減更增妙趣——因為今年元宵節甜蜜偶遇情人節,上演了「湯圓」邂逅「玫瑰」的浪漫一幕。雙節當天,國內領先的電信零售服務企業樂語通訊特意奉上雙重約惠,為消費者傾情打造一份專屬的浪漫。  2月14日,

全品類讓利助陣 1號店火爆開年送好運

    新年新氣象,開年迎好運。2月11日,1號店推出「今年你要火」開年大促,活動期間,除了豐富多彩的促銷活動,1號店還為消費者準備了面值從15—50元不等的抵用券,所有登陸1號店的消費都可以參與抽獎,賺好運。   據悉,1號店「今年你要火」將從2月11日持續到16日。1號店特意為活動挑選了數百款熱

做男神還是做孝子? 1號店214消費支招

    泡泡網資訊頻道2月10日 再過一周,就是2月14日情人節了,正好今年元宵也在這一天。許多人開始好奇,當元宵節擁抱情人節,當溫馨親情遇上浪漫愛情,情侶們會做出哪種選擇:是回家陪伴老人吃元宵,做個孝子呢?還是與愛人相約,度過一個浪漫夜晚?還在犯愁的消費者不如上1號店看看。「雙節」將至,1號店推出

1號店"以舊換新"再升級筆記本平板電腦納入回收範圍

    近日,一項關於「我們淘汰的手機去哪了」的公益調查顯示,70%的網友都把自己淘汰的手機、舊電腦給了父母。春節期間,更是有不少網友在回家過年期間將舊手機送給父母視為貼心之舉。這一話題在網絡上迅速引發熱議,不少人認為舊手機存在安全、健康隱患,雖說棄之可惜,但用「以舊換新」的方式換購一臺新的智能機給

春晚打造"舌頭"新搭檔 地板劇側躺劇掀新潮

    隨著農曆新年假期的結束,馬年春節漸行漸遠,但人們對於春晚的討論依舊不絕於耳。在今年馬年春晚的舞臺上,一對新搭檔吸引了大眾的關注,就是堪稱「毒舌王后」的蔡明與「中國好舌頭」華少,二人的「唇槍舌戰」讓小品《擾民了您》受到觀眾們的一致好評,成為新一年極具潛力的一對歡喜搭檔。   不過,兩大「舌頭」

帝度隨雪龍號共度世界最南端春節

   隨著春節長假結束,各行業工作者經過與親朋好友相聚的短暫休憩,紛紛返回工作崗位,以積極心態應對新一年的工作。而在地球最南端的南極,帝度冰箱與搭乘「雪龍」號的中國第30次南極科學考察隊,分別在中山站、長城站、泰山站,以及「雪龍」號破冰船上度過了整個春節。雖然春節期間無法與親人相聚,但科考隊員們仍然
「不限量」流量只是幌子 流量卡到底哪家最划算?

「不限量」流量只是幌子 流量卡到底哪家最划算?

      為了能使用到更為實惠的移動流量,相信不少人都會有購買流量卡的打算,而如果是流量需求比較大的用戶,則還有不限量流量套餐和日租卡可以選擇。筆者最近正好也有辦流量卡的需求,於是便研究了下目前主要的幾家流量卡、日租卡和不限量流量套餐,一起來看看那家的流量服務最適合你吧!1、米粉卡      小米