小心了!Kubernetes自動化操作工具將讓你失去工作

hugotu發表於2020-04-30

儘管IT部門的大部分職位都會增加,但職業顧問說,計算機操作員預計會減少。這個角色涉及執行Shell指令碼,FTPing檔案以及處理異常,但由於諸如cron之類的工具可以實現自動刪除操作,導致做同樣工作的人越來越少。

事實證明確實如此。如今,執行Kubernetes的人太多,他們花了太多時間進行路由操作。現在,這些工作急需被自動化。

一直以來,谷歌都需要為其不斷增長的雲服務僱用系統管理員和可靠性的工程師,而根本無法僱用足夠的員工。問題是要吸引足夠多的人,他們還要足夠聰明,有能力成為系統管理員,然後搬到矽谷。因此,Google還是決定建立一個通用框架來管理執行任何應用程式的虛擬機器叢集。雖然Kubernetes有時被描述為全棧系統,但實際上可能需要干預和管理,例如,隨著工作負載的變化而應對擴充套件。

有關 Kubernetes 操作的專業知識,專家總結為“有狀態應用程式的三重奏”——叢集管理、負載平衡和複製。這些功能通常與對高可用性的需求相關。根據專家的說法,三種工作大大增加了管理應用程式的工作量。這就是人們增加操作員或編寫自動化工具來管理基礎架構的關鍵所在。

Kubernetes 專案為操作員描述了五個級別,有時稱為成熟度,這些大致對應於操作員的技能水平。一級能夠進行工具的基本安裝,包括為執行該應用程式的資源提供資源或與叢集協商。第二級提供補丁和次要版本的無縫升級,而第三級包括備份和故障恢復。在第四級,可在處理警報,日誌處理和工作量分析,而在第五級,可解決Kuberenetes無法解決的一些擴充套件問題,以及諸如調優配置或排程的高階主題。工作量。

一旦存在特定工具(例如Redis,CouchDb或Kafka)的自動化操作工具,也會有人將其放在github中分享。建立自動化操作工具可能需要一個人/年,但卻能為一個叢集節省半個人/年。設想如果部署超過一千家公司和一千個叢集呢?

如果你有一個內部應用程式需要關注三重奏(叢集、負載平衡和複製),則會導致持續的維護成本。如果你遇到了谷歌那樣的規模問題,並且不想聘請軟體可靠性工程師團隊來完成可以在某種程度上進行程式設計的工作,那麼編寫自己的自動化操作工具很有必要。

自動化操作工具由兩部分組成:用於執行命令的程式碼(在Go上編寫,Ansible或更簡單的工作,在Helm上編寫)以及自定義資源定義(CRD)。CRD將操作員程式碼對映回kubectl命令。這使得呼叫操作員的功能時需要建立一個YAML檔案,並透過kubectl-apply將其傳遞給Kubernetes。

再說一次,團隊中的某人必須瞭解Ansible或Helm,該程式碼可能需要儲存在版本控制中,並作為軟體開發工件進行管理。為了使其不僅僅是一個單點故障,團隊將希望第二或第三位程式設計師應熟練使用Go或Ansible。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490593/viewspace-2689611/,如需轉載,請註明出處,否則將追究法律責任。

相關文章