<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          運(yùn)維必備的DevOps工具鏈大盤點(diǎn)

          共 10962字,需瀏覽 22分鐘

           ·

          2021-09-23 20:22

          原文鏈接:https://www.aisoutu.com/a/25434
          本篇文章中將介紹一些能夠幫助你實(shí)現(xiàn) DevOps 目標(biāo)的核心技術(shù)類別和具體技術(shù)。
          1關(guān)于 DevOps 及其工具

          關(guān)于 DevOps 及其工具,需要記住:

          • 持續(xù)改進(jìn)是目標(biāo);

          • DevOps 不是花錢買來的;

          • 分階段采用工具。

          2計(jì)劃工具

          為什么計(jì)劃工具對(duì)于 DevOps 來說很重要?

          • 分享目標(biāo);

          • 透明性;

          • 賦能。

          計(jì)劃工具示例
          GitLab

          GitLab 是一個(gè)基于 Web 的 DevOps 生命周期工具。它提供了一個(gè) Git 倉庫管理器,具備 wiki、問題跟蹤和 CI/CD 管道功能,采用的是 GitLab 公司的開源許可。

          Tasktop

          Tasktop 允許將所有這些工具添加到敏捷、ALM、PPM 和 ITSM 中,實(shí)現(xiàn)了對(duì)整個(gè)生命周期前所未有的可見性。

          CollabNet VersionOne

          VersionOne 支持 Scrum、看板、XP、SAFe 和混合開發(fā)方法,并使跨團(tuán)隊(duì)、程序、軟件組合和企業(yè)的計(jì)劃、跟蹤和報(bào)告變得更容易。

          Pivotal Tracker

          敏捷項(xiàng)目管理工具,是開發(fā)人員圍繞高優(yōu)先級(jí)共享 backlog 進(jìn)行實(shí)時(shí)協(xié)作的首選工具。

          Trello

          Trello 是一個(gè)基于 Web 的看板風(fēng)格的清單應(yīng)用程序,是 Atlassian 的子公司。

          很多團(tuán)隊(duì)用它來計(jì)劃各自的工作 sprint。

          Azure Boards

          使用敏捷工具,包括 Scrum、看板和其他敏捷方法儀表板來更好地跟蹤軟件項(xiàng)目并進(jìn)行計(jì)劃。

          這些都是可視化工作、分享計(jì)劃、跟蹤進(jìn)展、確保朝著目標(biāo)前進(jìn)的好方法。

          3問題跟蹤

          為什么問題跟蹤對(duì) DevOps 來說很重要?

          • 用戶響應(yīng);

          • 減少知識(shí)損耗;

          • 反饋閉環(huán)。

          問題跟蹤工具示例
          Atlassian Jira

          Jira 是由 Atlassian 公司開發(fā)的問題跟蹤產(chǎn)品,提供了 bug 跟蹤和敏捷項(xiàng)目管理功能。

          JetBrains YouTrack

          YouTrack 是 JetBrains 公司開發(fā)的一款基于瀏覽器的 bug 跟蹤、問題跟蹤系統(tǒng)和項(xiàng)目管理軟件。它支持基于查詢的問題搜索——包括自動(dòng)完成、批量處理問題、定制問題屬性集以及創(chuàng)建自定義工作流。

          Zendesk

          Zendesk 讓客戶問題跟蹤變得更簡單,包括優(yōu)步和 Airbnb 在內(nèi)的很多公司都使用 Zendesk 作為他們的問題跟蹤軟件。

          4源碼控制

          為什么源碼控制對(duì) DevOps 來說很重要?

          • 資產(chǎn)管控;

          • 減少傳輸損耗;

          • 促進(jìn)團(tuán)隊(duì)合作。

          SCM 工具示例
          Git

          Git 是一個(gè)分布式版本控制系統(tǒng),用于在軟件開發(fā)期間跟蹤源代碼的變更。它是為協(xié)調(diào)程序員之間的工作而設(shè)計(jì)的,但它也可用于跟蹤文件的變更。它專注于速度、數(shù)據(jù)完整性和對(duì)分布式、非線性工作流的支持。

          GitHub

          GitHub 提供了 Git 分布式版本控制和源代碼管理功能,以及自有的一些特性。

          GitLab

          GitLab 的版本控制通過世界級(jí)的源代碼管理功能幫助你的開發(fā)團(tuán)隊(duì)共享、協(xié)作和最大化他們的生產(chǎn)力。

          Bitbucket

          Bitbucket 是 Atlassian 公司為使用 Mercurial 或 Git 版本控制系統(tǒng)的源代碼和開發(fā)項(xiàng)目提供的基于 Web 的版本控制代碼庫托管服務(wù)。

          Subversion

          Apache Subversion 是一種軟件版本控制系統(tǒng),采用了 Apache 開發(fā)源碼許可。軟件開發(fā)人員使用 Subversion 來維護(hù)文件的當(dāng)前和歷史版本,例如源代碼、Web 頁面和文檔。

          5構(gòu)建工具

          為什么構(gòu)建工具對(duì) DevOps 來說很重要?

          • 一致的打包效果;

          • 自動(dòng)化錯(cuò)誤探測;

          • 盡早發(fā)現(xiàn)質(zhì)量問題。

          構(gòu)建工具示例
          Maven/Gradle

          Maven 是一個(gè)主要用于 Java 項(xiàng)目的自動(dòng)化構(gòu)建工具。Maven 還可以用來構(gòu)建和管理用 C#、Ruby、Scala 和其他語言開發(fā)的項(xiàng)目。

          Gradle 是一個(gè)開源的自動(dòng)化構(gòu)建系統(tǒng),基于 Apache Ant 和 Apache Maven 的概念,引入了一種基于 groovy 的領(lǐng)域特定語言。

          MSBuild

          Microsoft Build Engine,更廣為人知的名字是 MSBuild,是一個(gè)開源免費(fèi)的托管代碼和原生 C++ 代碼構(gòu)建工具集,是.Net Framework 的一部分。Visual Studio 就使用 MSBuild 作為構(gòu)建工具。

          Rake

          Rake 是一個(gè)軟件任務(wù)管理和自動(dòng)化構(gòu)建工具。用戶可以指定任務(wù)和描述依賴關(guān)系,還可以對(duì)同一個(gè)命名空間中的組任務(wù)指定和描述依賴關(guān)系。

          JFrog Artifactory

          JFrog Artifactory 是一種用于保存構(gòu)建過程所產(chǎn)生的用于發(fā)布和部署的二進(jìn)制文件的工具。Artifactory 提供了多種包格式支持,如 Maven、Debian、npm、Helm、Ruby、Python 和 Docker。

          JFrog 提供了高可用性、復(fù)制、災(zāi)難恢復(fù)、可伸縮性,并可集成很多自有和云存儲(chǔ)產(chǎn)品。

          Sonatype Nexus

          Sonatype Nexus 是一個(gè)存儲(chǔ)庫管理器。可用于代理、收集和管理依賴項(xiàng),這樣就不用經(jīng)常為一堆的 jar 文件感到煩惱。它讓軟件的發(fā)行變得更容易。

          在內(nèi)部,你可以配置構(gòu)建工具,把工件發(fā)布到 Nexus,然后其他開發(fā)人員就可以使用它們了。

          NuGet

          NuGet 是.Net 包管理器。NuGet 客戶端工具提供了生成和使用包的能力。

          NuGet Gallery 是程序包作者和使用者的中心包倉庫。

          6測試工具

          為什么測試工具對(duì) DevOps 來說很重要?

          • 將注意力放在質(zhì)量上;

          • 提升產(chǎn)品信心。

          測試工具示例
          JUnit

          JUnit 是一個(gè)用于 Java 的單元測試框架。JUnit 在測試驅(qū)動(dòng)開發(fā)當(dāng)中扮演著非常重要的角色,它是單元測試框架家族 xUnit(源于 SUnit) 的一員。

          xUnit.net

          xUnit.net 是一個(gè)用于.Net Framework 的開源單元測試工具,由 NUnit 的原作者開發(fā)。

          Selenium

          Selenium 是用于測試 Web 應(yīng)用程序的框架。Selenium 提供了一個(gè)回放工具,用于編寫功能測試,省去了學(xué)習(xí)腳本語言的麻煩。

          Jasmine

          Jasmine 是一個(gè)開源的 JavaScript 測試框架。它的目標(biāo)是可以在任何支持 JavaScript 的平臺(tái)上運(yùn)行,不干擾應(yīng)用程序或 IDE,并具有易于閱讀的語法。它深受其他單元測試框架的影響,比如 Screw.Unit、JSSpec、JSpec 和 RSpec。

          Cucumber

          Cucumber 是一個(gè)支持行為驅(qū)動(dòng)開發(fā)的工具。Cucumber BDD 方法的核心是一個(gè)叫作 Gherkin 的語言解析器,可以用用戶能夠理解的邏輯語言來指定預(yù)期的軟件行為。

          7持續(xù)集成(CI)和持續(xù)部署(CD)

          為什么持續(xù)集成和部署對(duì) DevOps 來說很重要?

          • 快速反饋;

          • 減少缺陷和等待時(shí)間。

          CI 工具示例
          Jenkins

          Jenkins 是一個(gè)免費(fèi)開源的自動(dòng)化服務(wù)器。Jenkins 幫助自動(dòng)化軟件開發(fā)過程中的非人為操作部分。它是一個(gè)基于服務(wù)器的系統(tǒng),運(yùn)行在 Servlet 容器中,比如 Apache Tomcat。

          CircleCI

          CircleCI 是全球最大的共享 CI/CD 平臺(tái),是代碼從想法變成可交付產(chǎn)品的中心樞紐。

          作為最常用的 DevOps 工具之一,CircleCI 每天要處理超過 100 萬個(gè)構(gòu)建任務(wù),它可以訪問到工程團(tuán)隊(duì)協(xié)作以及代碼運(yùn)行的數(shù)據(jù)。Spotify、Coinbase、Stitch Fix 和 BuzzFeed 等公司都使用 CircleCI 來提高工程團(tuán)隊(duì)的工作效率,發(fā)布更好的產(chǎn)品。

          Travis CI

          Travis CI 是一個(gè)托管的 CI 服務(wù),用于構(gòu)建和測試托管在 GitHub 上的軟件項(xiàng)目。Travis CI 為私人項(xiàng)目提供各種付費(fèi)計(jì)劃和免費(fèi)開源計(jì)劃。TravisPro 部署在客戶自己的硬件上,提供專有版本的定制部署。

          Concourse

          Concourse 是一個(gè)用 Go 開發(fā)的自動(dòng)化系統(tǒng),最常用于 CI/CD,用于伸縮任何類型 (從簡單到復(fù)雜的) 的自動(dòng)化管道。

          AWS CodePipeline

          AWS CodePipeline 是一個(gè)全托管的 CD 服務(wù),可以幫助你自動(dòng)化發(fā)布管道,以便快速可靠地更新應(yīng)用程序和基礎(chǔ)設(shè)施。

          每當(dāng)發(fā)生代碼變更時(shí),CodePipeline 會(huì)根據(jù)你定義的發(fā)布模型自動(dòng)化發(fā)布過程的構(gòu)建、測試和部署階段,讓你能夠快速、可靠地交付特性和更新。

          你可以輕松地將 AWS 代碼管道與第三方服務(wù) (如 GitHub) 或自定義插件集成。在使用 AWS CodePipeline 時(shí),你只需要為所使用的內(nèi)容付費(fèi),沒有預(yù)付費(fèi)用。

          Azure Pipelines

          為 Linux、macOS 和 Windows 建立云托管管道。構(gòu)建 Web、桌面和移動(dòng)應(yīng)用程序,并將其部署到云端或本地。

          通過管道自動(dòng)化構(gòu)建和部署,減少在具體細(xì)節(jié)上花費(fèi)的時(shí)間,把更多的時(shí)間花在創(chuàng)造性的事情上。

          CD 工具

          為什么 CD 工具對(duì)于 DevOps 來說很重要?

          • 減少預(yù)發(fā)布庫存;

          • 自動(dòng)化復(fù)雜的管道;

          • 統(tǒng)一團(tuán)隊(duì)為客戶創(chuàng)造價(jià)值的目標(biāo)。

          CD 工具示例
          Spinnaker

          Spinnaker 是一個(gè)免費(fèi)開源的 CD 軟件平臺(tái),最初由 Netflix 開發(fā),后被谷歌收購,并進(jìn)行了擴(kuò)展。

          Spinnaker 是一個(gè)多云 CD 平臺(tái),用于快速發(fā)布軟件變更。它將強(qiáng)大而靈活的管道管理系統(tǒng)與主要云提供商的集成結(jié)合在了一起。

          Octopus Deploy

          Octopus Deploy 是一個(gè)自動(dòng)化的部署和發(fā)布管理工具,全球領(lǐng)先的 CD 團(tuán)隊(duì)都在使用它。

          Octopus 是一個(gè)工具集,可以極大簡化 DevOps 過程,通過云或虛擬機(jī)對(duì)大量微服務(wù)或應(yīng)用程序進(jìn)行持續(xù)測試和部署。

          AWS CodeDeploy

          AWS CodeDeploy 是一種全托管的部署服務(wù),可以將軟件部署自動(dòng)化到各種計(jì)算服務(wù),如 Amazon EC2、AWS Fargate、AWS Lambda 和本地服務(wù)器。

          你可以使用 AWS CodeDeploy 來自動(dòng)化軟件部署,減少容易出錯(cuò)的手動(dòng)操作。

          8配置管理工具

          配置管理工具為什么對(duì)于 DevOps 來說很重要?

          • 保持一致性;

          • 基礎(chǔ)設(shè)施即代碼。

          配置管理工具示例
          Terraform

          Terraform 是 HashiCorp 公司開發(fā)的開源基礎(chǔ)結(jié)構(gòu)即代碼 (IaC) 軟件工具。用戶可以使用一種高級(jí)配置語言 (叫作 Hashicorp 配置語言或 JSON) 來定義和提供數(shù)據(jù)中心基礎(chǔ)設(shè)施。

          BOSH

          BOSH 是一個(gè)將小型和大型云軟件的發(fā)布工程、部署和生命周期管理結(jié)合起來的項(xiàng)目。BOSH 可以基于數(shù)百個(gè) VM 配置和部署軟件。它還可以執(zhí)行監(jiān)空、故障恢復(fù)和軟件更新,沒有停機(jī)時(shí)間或者停機(jī)時(shí)間很短。

          雖然開發(fā) BOSH 是為了部署云計(jì)算,但它也可以用于部署幾乎任何其他軟件 (例如 Hadoop)。BOSH 特別適合大型分布式系統(tǒng)。

          此外,BOSH 還支持多種基礎(chǔ)設(shè)施即服務(wù) (IaaS) 提供商,如 VMware vSphere、谷歌云平臺(tái)、Amazon Web Services EC2、Microsoft Azure、OpenStack 和阿里巴巴云。BOSH 提供了一個(gè)云供應(yīng)商接口 (CPI),用戶可用它擴(kuò)展 BOSH,以便支持其他 IaaS 提供商,如 Apache CloudStack 和 VirtualBox。

          Chef

          Chef 是一個(gè)配置管理工具,用于處理物理服務(wù)器、虛擬機(jī)和云端的機(jī)器配置。很多公司用 Chef 控制和管理他們的基礎(chǔ)設(shè)施,如 Facebook、Etsy、Cheezburger 和 Indiegogo。

          Chef 公司是持續(xù)自動(dòng)化軟件的領(lǐng)導(dǎo)者、應(yīng)用自動(dòng)化的革新者以及 DevOps 運(yùn)動(dòng)的發(fā)起者之一。Chef 與全球 1000 多家最具創(chuàng)新性的公司合作,提供快速交付軟件的實(shí)踐和平臺(tái),以實(shí)現(xiàn)他們的數(shù)字化轉(zhuǎn)型愿景。

          Ansible

          Ansible 是一款開源的軟件配置、配置管理和應(yīng)用程序部署工具。它運(yùn)行在 Unix 家族系統(tǒng)上,可以配置 Unix 家族系統(tǒng)和 Windows。它可以使用自己的聲明性語言來描述系統(tǒng)配置。

          Puppet

          Puppet 提供了定義系統(tǒng)需要哪些軟件和配置的能力,然后在初始設(shè)置之后維護(hù)指定的狀態(tài)。

          Puppet 使用與 Ruby 類似的聲明性領(lǐng)域特定語言 (DSL) 為特定環(huán)境或基礎(chǔ)設(shè)施定義配置參數(shù)。Puppet 通過使用一個(gè)叫作 Facter 的實(shí)用程序來發(fā)現(xiàn)系統(tǒng)信息,F(xiàn)acter 是在安裝 Puppet 軟件包時(shí)一起安裝的。

          Puppet 主節(jié)點(diǎn)通過清單來管理它所控制的所有節(jié)點(diǎn)的重要配置信息。

          被主節(jié)點(diǎn)控制的其他節(jié)點(diǎn)安裝了 Puppet 并運(yùn)行 Puppet 代理 (一個(gè)守護(hù)進(jìn)程)。代理節(jié)點(diǎn)收集的有關(guān)節(jié)點(diǎn)的配置信息將發(fā)送給主節(jié)點(diǎn)。主節(jié)點(diǎn)根據(jù)應(yīng)該如何配置來編譯目錄,其他節(jié)點(diǎn)使用這些信息來更新自己的配置。

          Puppet 使用了拉取模式,代理節(jié)點(diǎn)定時(shí)輪詢主機(jī),查詢特定于站點(diǎn)和特定于節(jié)點(diǎn)的配置。在這個(gè)基礎(chǔ)設(shè)施中,Puppet 代理應(yīng)用程序通常作為后臺(tái)服務(wù)運(yùn)行在托管節(jié)點(diǎn)上。

          谷歌云部署管理器

          谷歌云部署管理器是一種基礎(chǔ)設(shè)施管理服務(wù),讓谷歌云平臺(tái)資源的創(chuàng)建、部署和管理變得更簡單。

          9云平臺(tái)

          為什么云平臺(tái)對(duì) DevOps 來說很重要?

          • 友好的自動(dòng)化;

          • 具有可觀察性的運(yùn)行時(shí)。

          云平臺(tái)示例
          Amazon Web Service

          Amazon Web Service(AWS) 是一個(gè)安全的云服務(wù)平臺(tái),提供計(jì)算能力、數(shù)據(jù)庫存儲(chǔ)、內(nèi)容交付和其他幫助企業(yè)擴(kuò)大規(guī)模和增長的功能。

          簡而言之,AWS 可以做以下這些事情:

          在云端運(yùn)行 Web 和應(yīng)用服務(wù)器,托管動(dòng)態(tài)網(wǎng)站;

          將所有文件安全地存儲(chǔ)在云端,這樣你就可以從任何地方訪問它們;

          使用托管數(shù)據(jù)庫,如 MySQL、PostgreSQL、Oracle 或 SQL Server 來存儲(chǔ)信息;

          使用內(nèi)容分發(fā)網(wǎng)絡(luò) (CDN) 在世界各地快速交付靜態(tài)和動(dòng)態(tài)文件;

          批量發(fā)送電子郵件給你的客戶。

          微軟 Azure

          微軟 Azure 是微軟創(chuàng)建的云計(jì)算服務(wù),通過微軟數(shù)據(jù)中心構(gòu)建、測試、部署和管理應(yīng)用程序和服務(wù)。

          微軟 Azure,原來叫作 Windows Azure,是微軟的公共云計(jì)算平臺(tái)。它提供一系列云服務(wù),包括計(jì)算、分析、存儲(chǔ)和網(wǎng)絡(luò)。用戶可以選擇這些服務(wù)來開發(fā)和擴(kuò)展新的應(yīng)用程序,或者在公共云中運(yùn)行現(xiàn)有的應(yīng)用程序。

          谷歌云平臺(tái)

          谷歌云平臺(tái)由谷歌提供,是一套云計(jì)算服務(wù),運(yùn)行在谷歌用來運(yùn)行其終端用戶產(chǎn)品 (如谷歌搜索、Gmail 和 YouTube) 相同的基礎(chǔ)設(shè)施上。

          谷歌云平臺(tái)提供在 web 上部署應(yīng)用程序所需的計(jì)算資源,專注于為個(gè)人和企業(yè)提供一個(gè)構(gòu)建和運(yùn)行軟件的地方,并通過 Web 連接軟件用戶。

          你使用谷歌提供的云計(jì)算服務(wù)來迎接業(yè)務(wù)方面的挑戰(zhàn),包括數(shù)據(jù)管理、混合和多云、人工智能和機(jī)器學(xué)習(xí)。

          Pivotal Cloud Foundry

          Pivotal Cloud Foundry (PCF) 是一個(gè)開源的多云應(yīng)用平臺(tái)即服務(wù) (PaaS),由 501 組織 Cloud Foundry Foundation 負(fù)責(zé)管理。該軟件最初由 VMware 開發(fā),后來轉(zhuǎn)到 Pivotal 軟件公司。2019 年底,隨著 VMware 收購 Pivotal,又被帶回到 VMware。

          PCF 是一個(gè)用于部署、管理和持續(xù)交付應(yīng)用程序、容器和功能的多云平臺(tái)。PCF 允許開發(fā)人員快速部署和交付軟件,而不需要管理底層基礎(chǔ)設(shè)施。

          Heroku

          Heroku 是一個(gè)支持多種編程語言的云 PaaS。作為首批云平臺(tái)之一,Heroku 從 2007 年 6 月就開始開發(fā),當(dāng)時(shí)它只支持 Ruby 編程語言,但現(xiàn)在支持 Java Node.js、Scala、Clojure、Python、PHP 和 Go。

          Heroku 是一個(gè)基于容器的云 PaaS。開發(fā)人員使用 Heroku 來部署、管理和擴(kuò)展現(xiàn)代應(yīng)用程序。這個(gè)平臺(tái)優(yōu)雅、靈活、易于使用,為開發(fā)人員提供了發(fā)布應(yīng)用程序最簡單的途徑。

          中國云廠商(編者補(bǔ)充)

          阿里云、騰訊云、華為云、京東云等各類型廠商都是國內(nèi)用戶的可選項(xiàng)。

          容器調(diào)度器

          容器調(diào)度程序的主要任務(wù)是在最合適的主機(jī)上啟動(dòng)容器并將它們連接在一起。它必須通過自動(dòng)故障轉(zhuǎn)移來處理故障,并且當(dāng)單個(gè)實(shí)例有太多數(shù)據(jù)需要處理 / 計(jì)算時(shí),它需要能夠擴(kuò)展容器。

          三個(gè)最流行的容器調(diào)度器是 Docker Swarm、Apache Mesos 和 Kubernetes。

          Docker Swarm

          Docker Swarm 是 Docker 開發(fā)的一種容器調(diào)度程序。這個(gè)集群解決方案提供了一些優(yōu)勢,比如使用標(biāo)準(zhǔn) Docker API 等。

          Apache Mesos

          Mesos 的目的是構(gòu)建一個(gè)可擴(kuò)展、高效的系統(tǒng),可以支持大量的框架。這也是一個(gè)主要的問題:一些框架,如 Hadoop 和 MPI,是獨(dú)立開發(fā)的——因此不可能在框架之間進(jìn)行細(xì)粒度的共享。

          Mesos 的目的是添加一個(gè)薄薄的資源共享層,為框架提供訪問集群資源的公共接口。Mesos 將調(diào)度控制委托給框架,因?yàn)楹芏嗫蚣芤呀?jīng)實(shí)現(xiàn)了復(fù)雜的調(diào)度。

          根據(jù)集群上運(yùn)行的作業(yè)類型,框架可以分為四種,其中一些框架提供了原生 Docker 支持,比如 Marathon。在 Mesos 0.20.0 中添加了對(duì) Docker 容器的支持。

          Kubernetes

          Kubernetes 是一個(gè)用于編配 Docker 容器的系統(tǒng),它通過標(biāo)簽和 Pod 的概念將容器分為邏輯單元。Pod 是 Kubernetes 和其他兩種解決方案之間的主要區(qū)別——它們是一組容器集合,形成一起部署和調(diào)度的服務(wù)。與基于關(guān)聯(lián)性的容器 (如 Swarm 和 Mesos) 調(diào)度相比,這種方法簡化了集群的管理。

          Kubernetes 調(diào)度器的任務(wù)是監(jiān)控帶有空 PodSpec 的 Pod。NodeName 指定將容器安排在集群中的某個(gè)位置。

          這是與 Swarm 和 Mesos 的不同之處,Kubernetes 允許開發(fā)者在運(yùn)行 Pod 時(shí)通過定義 PodSpec.NodeName 來繞過調(diào)度器。

          調(diào)度器使用謂詞和優(yōu)先級(jí)來定義 Pod 應(yīng)該運(yùn)行在哪些節(jié)點(diǎn)上。我們可以使用新的調(diào)度器策略配置覆蓋這些默認(rèn)值。

          我們可以通過命令行標(biāo)志 policy-config-file 指定一個(gè) JSON 文件,在啟動(dòng) Kubernetes 時(shí)將會(huì)使用該文件描述的謂語和優(yōu)先級(jí),調(diào)度器將使用這些定義好的策略。

          10監(jiān)控和日志工具

          為什么監(jiān)控和日志工具對(duì)于 DevOps 來說很重要?

          • 快速恢復(fù);

          • 響應(yīng)速度;

          • 透明性;

          • 發(fā)生事故時(shí)減少人工干預(yù)。

          監(jiān)控和日志工具示例
          ELK

          ELK 是三個(gè)開源產(chǎn)品的集合——Elasticsearch、Logstash 和 Kibana。它們都是由 Elastic 公司開發(fā)、管理和維護(hù)的。

          • E 代表 ElasticSearch——用于存儲(chǔ)日志;

          • L 代表 Logstash——用于傳輸、處理和存儲(chǔ)日志;

          • K 代表 Kibana——一個(gè)可視化工具 (Web 界面)。

          Datadog

          Datadog 是一個(gè)針對(duì)云規(guī)模應(yīng)用程序的監(jiān)控服務(wù),通過基于 SaaS 的數(shù)據(jù)分析平臺(tái)來監(jiān)控服務(wù)器、數(shù)據(jù)庫、工具和服務(wù)。

          Datadog 應(yīng)用程序性能監(jiān)控 (APM 或跟蹤) 幫助用戶深入了解應(yīng)用程序性能——從自動(dòng)生成的儀表盤(監(jiān)控關(guān)鍵指標(biāo),如請(qǐng)求量和延遲)到單個(gè)請(qǐng)求的詳細(xì)跟蹤信息——與日志和基礎(chǔ)設(shè)施監(jiān)控信息并列展示。

          當(dāng)向應(yīng)用程序發(fā)出請(qǐng)求時(shí),Datadog 可以看到分布式系統(tǒng)的跟蹤,并向用戶顯示關(guān)于這個(gè)請(qǐng)求的系統(tǒng)數(shù)據(jù)。

          New Relic

          New Relic 是一家總部位于加州舊金山的科技公司,它開發(fā)基于云的軟件,幫助網(wǎng)站和應(yīng)用程序所有者跟蹤服務(wù)性能。

          New Relic 的應(yīng)用程序性能監(jiān)控軟件分析產(chǎn)品 (APM) 提供有關(guān) Web 應(yīng)用程序性能和最終用戶體驗(yàn)滿意度的實(shí)時(shí)和趨勢數(shù)據(jù)。

          Prometheus

          Prometheus 是一款用于事件監(jiān)控和警報(bào)的免費(fèi)應(yīng)用程序。它在時(shí)間序列數(shù)據(jù)庫中記錄實(shí)時(shí)指標(biāo),基于 HTTP 拉取模型,支持靈活的查詢和實(shí)時(shí)警報(bào)。

          Prometheus 服務(wù)器的核心原理是抓取——也就是說,調(diào)用各個(gè)節(jié)點(diǎn)暴露出來的指標(biāo)端點(diǎn)。它定期收集這些指標(biāo)并將它們存儲(chǔ)在本地。

          Zipkin

          Zipkin 是一個(gè)分布式跟蹤系統(tǒng)。它用于收集診斷延遲問題所需的時(shí)間數(shù)據(jù),提供了數(shù)據(jù)的收集和查找功能。

          如果日志文件中有跟蹤 ID,則可以直接跳指定位置。否則的話,你可以基于服務(wù)、操作名稱、tagsm 和持續(xù)時(shí)間等屬性進(jìn)行查詢。它將為你匯總出一些有趣的數(shù)據(jù),例如花費(fèi)在服務(wù)上的時(shí)間百分比以及操作是否失敗。

          Azure Monitor

          Azure Monitor 提供了一個(gè)全面的解決方案,用來收集、分析和執(zhí)行來自云端和本地環(huán)境的遙測數(shù)據(jù),從而最大化應(yīng)用程序和服務(wù)的可用性和性能。

          它可以幫助你了解應(yīng)用程序的執(zhí)行情況,并主動(dòng)識(shí)別影響它們的問題以及它們所依賴的資源。

          幾個(gè) Azure Monitor 的使用場景:

          • 使用 Application Insights 檢測和診斷應(yīng)用程序和依賴項(xiàng)之間的問題;

          • 將基礎(chǔ)設(shè)施問題與用于 VM 的 Azure Monitor 和用于容器的 Azure Monitor 關(guān)聯(lián)起來;

          • 使用日志分析深入監(jiān)控?cái)?shù)據(jù),進(jìn)行故障排除和深入診斷;

          • 通過智能警報(bào)和自動(dòng)運(yùn)維支持大規(guī)模操作;

          • 使用 Azure 儀表板和工作簿進(jìn)行可視化。

          11通信工具

          為什么通信工具對(duì)于 DevOps 來說很重要?

          • 連接團(tuán)隊(duì);

          • 減少等待時(shí)間;

          • 改進(jìn)團(tuán)隊(duì)協(xié)作。

          通信工具示例
          Slack

          Slack 是由 Slack 公司開發(fā)的即時(shí)通訊平臺(tái)。

          Slack 本質(zhì)上是整個(gè)公司的一個(gè)聊天室,旨在取代電子郵件成為溝通和分享的主要方式。你可以用頻道進(jìn)行分組討論,也可以通過私有消息進(jìn)行信息、文件共享,等等。

          微軟 Teams

          微軟 Teams 是一個(gè)統(tǒng)一的通信和協(xié)作平臺(tái),結(jié)合了工作討論、視頻會(huì)議、文件存儲(chǔ)和應(yīng)用程序集成。

          Teams 是一種基于聊天的協(xié)作工具,它為全球、遠(yuǎn)程和分布式的團(tuán)隊(duì)提供協(xié)作能力,并通過公共空間共享信息。你可以使用它提供的一些很酷的功能,比如文檔協(xié)作、一對(duì)一聊天、團(tuán)隊(duì)聊天,等等。

          谷歌 Hangouts

          谷歌 Hangouts 是谷歌開發(fā)的一款通訊軟件產(chǎn)品。Hangouts 最初是 Google+ 的一個(gè)功能,在 2013 年谷歌開始將 Google+ Messenger 和谷歌 Talk 的功能整合到 Hangouts 中,成為了一個(gè)獨(dú)立的產(chǎn)品。

          Hangouts Chat 是進(jìn)行組織內(nèi)交流的一種有效方式。你可以與一名或多名同事發(fā)送信息,可以創(chuàng)建聊天室進(jìn)行多人討論,并使用機(jī)器人來進(jìn)行工作自動(dòng)化。你可以在電腦瀏覽器和 Android 或 iOS 手機(jī) App 中使用 Hangouts Chat。

          Zoom

          Zoom Video Communications 是一家遠(yuǎn)程會(huì)議服務(wù)公司,總部設(shè)在加利福尼亞州的圣何塞。它提供了一種遠(yuǎn)程會(huì)議服務(wù),結(jié)合了視頻會(huì)議、在線會(huì)議、聊天和移動(dòng)協(xié)作。

          Skype 更適合尋找整體商業(yè)解決方案的團(tuán)隊(duì),而 Zoom 更適合頻繁進(jìn)行視頻聊天和會(huì)議的團(tuán)隊(duì)。不過,這兩種工具都不是專門為遠(yuǎn)程工作而構(gòu)建的。

          中國版本推薦

          騰訊會(huì)議、釘釘、飛書、WeLink 等。

          12知識(shí)分享工具

          知識(shí)分享工具為什么對(duì)于 DevOps 來說很重要?

          • 減少知識(shí)浪費(fèi);

          • 提高新員工的效率;

          • 減少犯同樣的錯(cuò)誤。

          知識(shí)分享工具示例
          GitHub Pages

          GitHub Pages 是一個(gè)靜態(tài)站點(diǎn)托管服務(wù),直接從 GitHub 上的存儲(chǔ)庫獲取 HTML、CSS 和 JavaScript 文件,可在構(gòu)建過程中運(yùn)行這些文件,然后發(fā)布網(wǎng)站。你可以在 GitHub Pages 示例集合中看到 GitHub Pages 站點(diǎn)的示例。

          Confluence

          Confluence 是一個(gè)由 Atlassian 開發(fā)并發(fā)布的協(xié)作程序。Atlassian 用 Java 編程語言開發(fā)了 Confluence,并于 2004 年首次發(fā)布。

          Confluence 是一個(gè) Wiki 協(xié)作工具,用于幫助團(tuán)隊(duì)有效地協(xié)作和共享知識(shí)。你可以用 Confluence 捕獲項(xiàng)目需求、將任務(wù)分配給特定用戶,并用 Team Calendar 插件一次性管理多個(gè)日歷。

          Jekyll

          Jekyll 是一個(gè)支持博客的靜態(tài)站點(diǎn)生成器,用于個(gè)人、項(xiàng)目或組織站點(diǎn)。它是由 GitHub 聯(lián)合創(chuàng)始人 Tom Preston-Werner 用 Ruby 開發(fā)的,并采用了 MIT 開源許可。

          Jekyll 是一個(gè)解析引擎,打包成 Ruby gem,用來基于動(dòng)態(tài)組件構(gòu)建靜態(tài)網(wǎng)站。

          谷歌 Sites

          谷歌 Sites 是谷歌提供的一個(gè)結(jié)構(gòu)化的 Wiki 和網(wǎng)頁制作工具。谷歌 Sites 的目標(biāo)是讓任何人都能夠創(chuàng)建支持不同編輯器協(xié)作的簡單 Web 站點(diǎn)。

          這些站點(diǎn)在每一個(gè)屏幕上(從桌面到智能手機(jī))看起來都很棒——做到這些都不需要學(xué)習(xí)設(shè)計(jì)或編程。

          13總結(jié)

          這篇文章涵蓋的所有類別可以幫助你更好地實(shí)施 DevOps。其中任何一種都很有用,而且我認(rèn)為所有這些都是你需要的,幫助團(tuán)隊(duì)以可持續(xù)的方式向客戶交付價(jià)值,并幫助你脫穎而出。

          我提到了 DevOps 工具鏈,比如規(guī)劃工具、問題跟蹤工具、源代碼控制管理、構(gòu)建和測試代碼、持續(xù)集成和部署源代碼、管理配置、使用云平臺(tái),然后是監(jiān)控和日志,以及溝通和知識(shí)共享。

          我希望你能夠喜歡這篇文章。DevOps 是一種令人興奮的工作方式,盡管它不是唯一的方式,甚至不是最好的方式。更好的東西可能會(huì)在未來出現(xiàn),但目前看來,它似乎代表了一種很好的團(tuán)隊(duì)協(xié)作方式。它讓團(tuán)隊(duì)共同努力,交付價(jià)值,同時(shí)也幫助他們專注于客戶,而不僅僅是技術(shù)或內(nèi)部的東西,也包括了速度、學(xué)習(xí)以及公司的未來。

          - END -

           推薦閱讀 

          Kubernetes 企業(yè)運(yùn)維進(jìn)階實(shí)戰(zhàn) 
          Linux服務(wù)器訪問慢,通過這些工具可以快速找出系統(tǒng)瓶頸!
          6 張圖帶你搞懂 CI/CD 流水線
          Nginx配置中一個(gè)不起眼字符"/"的巨大作用,失之毫厘謬以千里
          企業(yè)級(jí)日志系統(tǒng) ELK 原理與實(shí)踐詳細(xì)介紹
          Ceph 常見故障排查筆記總結(jié)
          編寫 Dockerfile 最佳實(shí)踐
          運(yùn)維工程師不得不看的經(jīng)驗(yàn)教訓(xùn)和注意事項(xiàng)
          終于搞懂了服務(wù)器為啥產(chǎn)生大量的TIME_WAIT!
          Kubernetes 網(wǎng)絡(luò)方案之炫酷的 Cilium
          這些 K8S 日常故障處理集錦,運(yùn)維請(qǐng)收藏~
          12年資深運(yùn)維老司機(jī)的成長感悟
          搭建一套完整的企業(yè)級(jí) K8s 集群(二進(jìn)制方式)



          點(diǎn)亮,服務(wù)器三年不宕機(jī)

          瀏覽 49
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本男男群交GAy | A∨在线看 | 波多野结衣一区二区三区漫画 | 天天伊人| 亚洲无码123 |