5/30~6/12重要Container新聞精選

#失敗經驗 #Spotify
誤刪50節點K8s叢集為何3小時才能復原?Spotify揭自家事故幕後經驗

線上音樂串流服務Spotify一位基礎架構工程師David Xia,在今年歐洲KubeCon大會上分享了自家Kubernetes叢集一次意外事件。擁有上億用戶的Spotify,旗下開發者高達1千人,經常要在上萬臺VM上部署程式碼。Spotify主要使用了GCP雲端服務,在雲端容器服務GKE上擁有3套生產叢集,分別負責歐洲、亞洲和美國,每小時會自動備份一次。

2018年11月時,有一次工程師為了測試GKE的新功能,新增了一個測試用的叢集,完成測試後,工程師要刪除這個測試叢集來節省資源,卻不小心刪除了負責美國區用戶的一個50節點的叢集。David眼看著刪除指令關閉了一個又一個節點,問遍同事如何緊急停止這個刪除指令,「完全沒辦法阻止,只能重建叢集。」他坦言,後來Spotify足足花了3.25小時才重建了這個叢集。

為何這麼久?重建過程中,他才發現,叢集建立Scrips有臭蟲,參考文件的內容不完整也不盡正確,導致他們設計的叢集建立程式,無法反覆使用。一個月,Spotify試圖將防止誤刪叢集的做法,列入自家的開發管理規範中,並採用了基礎架構管理工具Terraform來避免叢集部署的意外,但是,這又引發了另一起事故。這次是要將兩個現成叢集合併成一個新的叢集時,建立新叢集時因為權限不夠而失敗,工程師後來擴充了權限後才能執行。儘管合併工作順利完成後,卻導致Terraform誤判叢集需要異動,而刪除了整個亞洲區叢集,甚至連美國區叢集也一起刪除。

David表示,出錯難免,但失敗也要有因應計畫。後來,Spotify採取了3個因應對策,第一是執行K8s服務合併時,分批進行。第二是改變在K8s上登錄服務的作法,第三是建立K8s實例出錯時,可以快速由非K8s實例接手的備援機制。

#失敗經驗 #Datadog
SRE注意,要小心Kubernetes常見十大類問題

監控工具服務商Datadog兩位工程師Laurent Bernaille和Robert Boll在今年歐洲KubeCon分享了自家經驗中,管理Kubernetes常遇到的十種問題。Datadog投入Kubernetes專案超過2年多,自家服務也大力擁抱,最大規模的一個K8s叢集高達2千個節點,平均K8s叢集節點數也多有1,000~1,500之多。第一類問題是DNS管理問題,而且最常造成K8s事故的問題也多半是DNS問題。第二類常見問題則是任務啟動失敗而導致映像檔抓取失效。第三是kubectl命令列工具操作出錯。再者,應用程式Pod排程沒有考慮到新節點,Log檔10倍速度暴增塞滿儲存空間、大量副本和重製導致Pod失蹤、Cassandra叢集內有鬼(未預期的操作)、部署程序越來越慢、容器化過程出包、關超慢的Pod關閉過程(Termination)。他們提醒,要避免出錯得特別留意4件事,使用管理Pod的DaemonSet要小心,認清DNS管理向來很難,雲端基礎架構不見得很透明,最後則是容器不一定真的順利容器化了。

#GKE #雲端排程
Google正式推出雲端排程工作服務,GKE也能自動派工

Google正式推出其雲端託管的排程工作(Cron Job)服務Cloud Scheduler,使用者可以用Cloud Scheduler來觸發任何批次、大資料或是雲端基礎設施操作,而且這個功能不只可以在GCP上使用,還能從用戶本地端或是第三方資料中心來觸發目標工作。包括GCP容器服務GKE、Compute Engine、Cloud Run以及Cloud Functions等多項GCP服務,甚至可以是在本機端應用程式,都可以透過Cloud Scheduler來自動派工。更多報導

#Fargate #基礎架構管理
Pulumi開源基礎架構即程式碼框架Crosswalk,能簡化AWS各類部署工作

基礎架構即程式碼供應商Pulumi開源了一個可用於部署AWS工作負載的框架Pulumi Crosswalk for AWS,提供基礎架構即程式碼元件,並內建AWS最佳實踐,幫助用戶根據需求,將應用程式部署到AWS上。可支援多種AWS服務,包括無伺服器服務Lambda和API Gateway,還有容器服務ECS以及Fargate,以及像是熱門的Kubernetes服務EKS、跨網路的VPC和SecurityGroups,而監控服務Cloudwatch Dashboards與Alarms等都有支援。由於Crosswalk的模塊建構在AWS的原生功能模組之上,用戶可以自由地使用高階元件,或是使用低階平臺原語,也能根據需求混合使用。更多報導

#DevOps #Git
強化Azure DevOps程式碼提交機制,微軟釋出Multi-Cherry-Pick擴充套件

為了讓Azure DevOps開發者,可以更簡單地同時對多分支的應用提交,微軟釋出了PR Multi-Cherry-Pick擴充套件,該套件是使用git Cherry-Pick指令,能夠自動應用程式碼變更到多個分支上。擴充套件Multi-Cherry-Pick的名稱來自git指令Cherry-Pick,這是用來接受一個或多個現有的提交(Commit),並將每個提交的更改當作新的提交,應用到不同的分支上的操作。更多報導

#架構重構 #Kubernetes #IBM
IBM花2年改用K8s重新打造自家雲端平臺,部署上萬內部應用的現代化IT新架構首度公開

2年前,IBM展開了旗下雲端平臺產品的大整頓,不光只是重整品牌,還找來了20年前開發出IBM第一代SOA和Web產品的IBM Watson和雲端平臺首席架構師Andrew Hately,大力採用Docker、Kubernetes、Linux和Cloud Foundry,設計出全新的現代化IT架構。3年前,IBM開始研究跨雲管理架構,決定大力投入Kubernetes開源專案,2年前,IBM悄悄地展開了自家內部平臺的架構改造任務,甚至不惜重構自家雲端平臺,要將大部分的IBM軟體和雲端平臺,都搬上Kubernetes。IBM先從資料庫平臺開始著手改造,例如將天氣預測應用改部署到IBM雲上的Kubernetes環境中,後來更進一步擴大到所有的分析和AI產品,都轉而部署到Kubernetes環境上。Andrew Hately表示,去年終於完成了這個龐大的平臺重構計畫,除了用來管理基礎架構上運算、儲存和網路的控制臺程式,以及基礎架構的虛擬機器(VM)不是採用Kubernetes,IBM其餘的雲端服務,甚至內部所用的上萬支應用程式,幾乎全都搬上了Kubernetes。完整報導

責任編輯/王宏仁

更多Container動態

  • 紅帽和容器儲存新創聯盟,要打造K8s上的HCI平臺
  • Information Builders分析軟體開始提供Docker映像檔安裝版本,方便用戶部署到公雲

@資料來源:iThome整理,2019年5月


Advertisement

更多 iThome相關內容