2018 年 DevOps 世界出現(xiàn)了一股 Kubernetes 浪潮,幾乎每個(gè)供應(yīng)商都開(kāi)發(fā)了自己的 Kubernetes 產(chǎn)品,例如 NetApp Kubernetes,Puppet DevOps 儀表板,RedHat 的 OpenShift 等等。 RedHat 的 DevOps 認(rèn)證專家 Shane Boulden,列出了 8 條最有價(jià)值技能的“DevOps Top 8”,方便 DevOps 從業(yè)人員或那些有志成為 DevOps 專家的人員帶來(lái)一些經(jīng)驗(yàn)教訓(xùn)。 Kubernetes 是 DevOps 應(yīng)用必須掌握的一個(gè)平臺(tái),允許開(kāi)發(fā)人員和運(yùn)營(yíng)商使用相同的 API 管理平臺(tái)和容器化應(yīng)用程序。直接學(xué)習(xí)上游存儲(chǔ)庫(kù)的代碼通常的效果會(huì)讓自己越來(lái)越迷茫,建議選擇下游的底層從頭到尾學(xué)習(xí)。例如,可以選擇 OpenShift 容器平臺(tái),以及最新的 OpenShift 迭代,全面地學(xué)習(xí) Operator 框架。 在 2019 年,部署和管理 Kubernetes 上的應(yīng)用程序是 DevOps 從業(yè)者的基本技能??梢允褂妹钚泄ぞ撸ㄈ纭発ubectl”)與 Kubernetes API 進(jìn)行交互,甚至可以使用自定義腳本直接與 Kubernetes API 進(jìn)行交互。例如,Python Kubernetes 客戶端的' load_incluster_config ',或者下載 API 來(lái)使用應(yīng)用程序內(nèi)的 pod 元數(shù)據(jù)。 部署可擴(kuò)展的監(jiān)控解決方案,通過(guò)產(chǎn)生的指標(biāo)數(shù)據(jù)能更好地進(jìn)行監(jiān)控性能。例如,Prometheus 和 Grafana。使用 node_exporter 通過(guò) Prometheus 節(jié)點(diǎn)可以導(dǎo)出操作系統(tǒng)指標(biāo),使用 Micrometer 等庫(kù)可以導(dǎo)出應(yīng)用程序級(jí)指標(biāo)。不論是開(kāi)發(fā)人員還是運(yùn)營(yíng)商可以使用相同的監(jiān)控基礎(chǔ)架構(gòu),提高團(tuán)隊(duì)之間的工作效率。 自動(dòng)化一直是 DevOps 的核心,DevOps 領(lǐng)域的自動(dòng)化專家能帶來(lái)更高的可信度。在 2019 年,應(yīng)該努力獲得專家級(jí)的自動(dòng)化工具知識(shí),例如 Ansible,Chef,Puppet 或直接使用 Bash。應(yīng)該能夠與開(kāi)發(fā)人員一起輕松實(shí)現(xiàn)配置管理、測(cè)試和生產(chǎn)部署等所有方面的自動(dòng)化,并且希望至少嘗試使用“藍(lán)綠”(blue-green)或“金絲雀”(canary)等自動(dòng)高級(jí)部署技術(shù)。 Ansible 可以在混合云中實(shí)現(xiàn)自動(dòng)化配置和應(yīng)用程序配置,利用 Ansible Operators 可以將自動(dòng)化技能應(yīng)用到 Kubernetes,并使用 Operator 框架管理復(fù)雜和有狀態(tài)的應(yīng)用程序。 創(chuàng)建基本的 Dockerfile 并調(diào)用應(yīng)用程序“容器化”,如果只懂得這樣處理就太落伍了。2019 年的 DevOps 從業(yè)者應(yīng)該掌握如何優(yōu)化容器化應(yīng)用程序的構(gòu)建,最小化容器的鏡像文件,最小化運(yùn)行時(shí)的依賴性。構(gòu)建較小的映像意味著容器注冊(cè)表中消耗的存儲(chǔ)空間更少,并且最大限度地減少容器內(nèi)的運(yùn)行時(shí)依賴性使?jié)撛诠舻墓裘孀钚 ?/p> 不需要在已部署的容器中使用 GCC,但可能需要它來(lái)構(gòu)建 Python 的依賴項(xiàng)。在這種情況下,最好使用多階段容器構(gòu)建 -- 不再需要構(gòu)建一體化的鏡像,只要在注冊(cè)表中為生產(chǎn)部署提供分階段的強(qiáng)化、精簡(jiǎn)的 Alpine 基礎(chǔ)鏡像。 多年來(lái),Docker 一直主導(dǎo)著 Linux 的容器世界,提供了簡(jiǎn)單的容器圖像格式和易于使用的 CLI。Docker 在 2019 年的影響力正在逐漸減弱,它在 2018 年對(duì)其產(chǎn)品進(jìn)行了一系列令人困惑的變化,以便將該平臺(tái)貨幣化,其開(kāi)源項(xiàng)目 Moby 的狀態(tài)仍不明朗。2018 年還啟動(dòng)了一些新的開(kāi)源容器計(jì)劃,例如 CRI-O,現(xiàn)在是 Kubernetes 的默認(rèn)容器 runtime。對(duì)于 2019 年的 DevOps 從業(yè)者,Docker 仍然很重要,因?yàn)樗卫卧陂_(kāi)發(fā)人員和 IT 主管的詞匯中。應(yīng)該理解如何在 Docker 和其他容器 runtime 之間進(jìn)行交互,比如 Docker 的 fat-daemon 模型和 Podman 的 fork/exec 模型,還要掌握它們?nèi)绾闻c容器平臺(tái)(如 Kubernetes)進(jìn)行交互。 容器化應(yīng)用程序的興起意味著管理應(yīng)用程序身份驗(yàn)證和授權(quán)的變化,嘗試在容器內(nèi)部打破 Kerberos 或 FreeIPA 客戶端是很痛苦的,導(dǎo)致了許多黑客攻擊來(lái)讓工作正常進(jìn)行。2019 年將使用 OpenID Connect 和 OAuth 2 等協(xié)議來(lái)創(chuàng)建易于擴(kuò)展的應(yīng)用程序架構(gòu),作為 DevOps 從業(yè)人員應(yīng)該樂(lè)于使用 OpenID Connect 來(lái)提供身份驗(yàn)證,并管理應(yīng)用程序的多因素驗(yàn)證。 操作系統(tǒng)的角色在 2019 年沒(méi)有改變,仍然是所有內(nèi)容的基礎(chǔ),它決定了 DevOps 平臺(tái)的成敗。無(wú)論個(gè)人偏好是基于 Debian 還是基于 RedHat,或者是最新的容器優(yōu)化的操作系統(tǒng),成為核心操作系統(tǒng)管理和工程方面的專家仍然至關(guān)重要。例如,獲得 RedHat 認(rèn)證系統(tǒng)管理員和 RedHat 認(rèn)證工程師的證書(shū),為開(kāi)發(fā)人員和運(yùn)營(yíng)商提供可信的保障,當(dāng)任何事情發(fā)生時(shí),可以直接訪問(wèn)操作系統(tǒng)并解決問(wèn)題。 DevOps 是一個(gè)不斷變化、不斷發(fā)展的世界,要努力繼續(xù)縮短開(kāi)發(fā)人員和運(yùn)營(yíng)商之間的反饋循環(huán)。隨著框架的發(fā)展和流程的變化,了解如何最好地學(xué)習(xí)是很重要的。Shane Boulden 認(rèn)為,無(wú)論是通過(guò)實(shí)踐學(xué)習(xí),還是直接閱讀手冊(cè),都無(wú)關(guān)緊要,目標(biāo)是盡可能高效地學(xué)習(xí)。 英文原文:https:///@shane.boulden/what-does-it-mean-to-be-a-devops-practitioner-in-2019-12f8f190b89e 活動(dòng)推薦 QCon 全球軟件開(kāi)發(fā)大會(huì)(廣州站)將邀請(qǐng)來(lái)自 Google、LinkedIn、BAT、華為、小米等國(guó)內(nèi)外一線技術(shù)專家,涵蓋 13+技術(shù)熱點(diǎn)、70+話題,另有豐富的社交活動(dòng)、一起聊聊技術(shù)圈那些事兒。 |
|
來(lái)自: 漢無(wú)為 > 《平臺(tái)與性能優(yōu)化》