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