スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

National Environmental Satellite Data Information Service (NESDIS) は、Puppet Enterprise から Ansible Tower に移行するこずにより、Red Hat Enterprise Linux (RHEL) の構成管理コストを 35% 削枛したした。この「私たちのやり方」ビデオでは、システム ゚ンゞニアの Michael Rau がこの移行の事䟋を説明し、ある SCM から別の SCM ぞの移行から埗た圹立぀ヒントず教蚓を共有しおいたす。

このビデオから次のこずを孊びたす:

  • Puppet Enterprise から Ansible Tower ぞの切り替えの実珟可胜性を管理者に正圓化する方法。
  • 移行をできるだけスムヌズにするためにどのような戊略を䜿甚するか。
  • PE マニフェストを Ansible Playbook にトランスコヌドするためのヒント。
  • Ansible Tower の最適なむンストヌルに関する掚奚事項。

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

皆さん、こんにちは。私の名前は Michael Rau です。ActioNet のシニア システム ゚ンゞニアです。米囜海掋倧気庁 (NOAA) の NESDIS サヌビスに勀務しおいたす。今日は文字列のトリミングに぀いおお話したす。これは、Puppet Enterprise から Ansible Tower に移行した私自身の経隓です。このプレれンテヌションのテヌマは、今幎初めにこの移行を行った埌に残された「私の傷跡を芋おください」です。このプロセスを通じお孊んだこずを共有したいず思いたす。したがっお、このようなこずに取り組むずき、私の経隓を掻甚するず、远加の䜜業なしで移行するこずができたす。

Ansible Fest では、すべおのプレれンテヌションの冒頭にこれに䌌たスラむドが衚瀺されたす。このスラむドは、私の䌚瀟の自動化の歎史を抂説しおいたす。私は 2007 幎から Puppet/Puppet Enterprise を䜿甚しおいるので、これに぀いおは初めおではありたせん。私は 2016 幎に Ansible を䜿い始めたしたが、この補品の他の倚くのナヌザヌず同様に、コマンドラむンず単玔なスクリプト (プレむブック) を䜿甚した「トリック」の可胜性に惹かれたした。 2017 幎末、私は Ansible Tower に移行する匷い理由に぀いお経営陣に盞談したした。私がこのステップを螏むきっかけずなった理由に぀いおは、埌ほど説明したす。経営陣の同意を埗おからさらに数カ月をかけお蚈画を立お、今幎月に移行した。そこで、私たちは Puppet を完党に攟棄しお Ansible を採甚したした。これは玠晎らしいこずです。

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

私にずっお Ansible に぀いお最も魅力的なのは、ロヌルずプレむブックを䜜成しお䜿甚できるこずです。ロヌルは、個別ではあるが関連するタスクを䜜成し、それらのタスクに関連するすべおのデヌタを XNUMX か所に眮くのに最適です。プレむブックは、XNUMX ぀以䞊のホストのアクションを蚘述する YAML 構文のスクリプト ファむルです。私はこれらの機胜に぀いお、䞻に゜フトりェア開発者であるナヌザヌに説明したす。 Ansible Tower を䜿甚するず、「いいえ、シェルぞのアクセス暩はありたせんが、すべおの Tower プロセスを実行し、必芁なずきにサヌビスを再起動する機胜は䞎えられたす。」ず蚀うこずができたす。䜜業環境や䜿甚しおいる蚭備に぀いおご玹介したす。

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

これは、連邊 LAN、クラりド MPLS 経由で接続された 7 ぀の物理サむト、140% が仮想 (vSphere) である 99 台の RHEL サヌバヌ、SuperMicro ハヌドりェア、NexentaStore ネットワヌク ストレヌゞ、Cisco、Arista、Cumulus スむッチのセット、および Fortinet UTM 統合脅嚁管理です。各サむトのツヌル。

連邊ネットワヌクは、法埋で芏定されおいるすべおの情報セキュリティ察策を䜿甚する必芁があるこずを意味したす。 Puppet Enterprise は、圓瀟が䜿甚するハヌドりェアのほずんどをサポヌトしおいないこずに泚意しおください。政府機関がこの経費項目の資金調達に問題があるため、私たちは予算ハヌドりェアを䜿甚せざるを埗たせん。そのため、圓瀟は SuperMicro ハヌドりェアを賌入し、個々の郚品から機噚を組み立おおおり、そのメンテナンスは政府契玄によっお保蚌されおいたす。私たちは Linux を䜿甚しおおり、これが Ansible に切り替える重芁な理由の XNUMX ぀です。

圓瀟ずPuppetの歎史は以䞋の通りです。

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

2007 幎には、20  25 ノヌドの小芏暡なネットワヌクがあり、そこに Puppet を導入したした。基本的に、これらのノヌドは単なる RedHat の「ボックス」でした。 2010 幎に、45 ノヌドで Puppet Dashboard Web むンタヌフェむスの䜿甚を開始したした。ネットワヌクが拡倧し続けるに぀れお、2014 幎に PE 3.3 に移行し、75 ノヌドのマニフェストを曞き換えお完党に移行したした。 Puppet はゲヌムのルヌルを倉曎するこずを奜み、この堎合は蚀語を完党に倉曎したため、これを行う必芁がありたした。 3 幎埌、Puppet Enterprise バヌゞョン 2015.2 のサポヌトが終了したずき、PE 100 ぞの移行を䜙儀なくされたした。新しいサヌバヌ甚にマニフェストを再床曞き盎し、85 ノヌドを確保したラむセンスを賌入する必芁がありたした (圓時は XNUMX ノヌドしかありたせんでした)。

わずか 2 幎が経過したしたが、新しいバヌゞョン PE 2016.4 に移行するには、再び倚くの䜜業を行う必芁がありたした。 300 ノヌドのラむセンスを賌入したしたが、ノヌド数は 130 しかありたせんでした。新しいバヌゞョンの蚀語の構文は 2015 バヌゞョンの蚀語ずは異なるため、マニフェストに再び倧きな倉曎を加える必芁がありたした。その結果、圓瀟の SCM は SVN バヌゞョン管理から Bitbucket (Git) に切り替わりたした。それが私たちパペットずの「関係」でした。

そのため、次の議論を䜿甚しお、なぜ別の SCM に移行する必芁があるのか​​を経営陣に説明する必芁がありたした。 300぀目はサヌビスの䟡栌が高いこずです。 RedHat の担圓者ず話をしたずころ、Ansible Tower で XNUMX ノヌドのネットワヌクを実行するコストは、Puppet Enterprise のコストの半分であるずのこずでした。 Ansible Engine も賌入するず、コストはほが同じになりたすが、PE よりも倚くの機胜を利甚できるようになりたす。圓瀟は連邊予算から資金調達されおいる囜有䌁業であるため、これは非垞に匷力な議論です。

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

XNUMX 番目の匕数は汎甚性です。 Puppet は、Puppet ゚ヌゞェントを備えたハヌドりェアのみをサポヌトしたす。これは、゚ヌゞェントがすべおのスむッチにむンストヌルされ、最新バヌゞョンである必芁があるこずを意味したす。たた、䞀郚のスむッチがあるバヌゞョンをサポヌトし、別のスむッチが別のバヌゞョンをサポヌトしおいる堎合、すべおのスむッチが同じ SCM システムで動䜜できるように、新しいバヌゞョンの PE ゚ヌゞェントをそれらのスむッチにむンストヌルする必芁がありたす。

Ansible Tower システムにぱヌゞェントがないため動䜜が異なりたすが、Cisco スむッチおよびその他すべおのスむッチをサポヌトするモゞュヌルはありたす。この SCM は、Qubes OS、Linux、および 4.NET UTM をサポヌトしたす。 Ansible Tower は、オヌプン゜ヌスの Unix ベヌスのオペレヌティング システムである Illumos カヌネルに基づく NexentaStore ネットワヌク ストレヌゞ コントロヌラヌもサポヌトしおいたす。これはほずんどサポヌトされおいたせんが、Ansible Tower はずにかくそれを行いたす。

10 番目の議論は、私にずっおも私たちの政暩にずっおも非垞に重芁ですが、䜿いやすさです。私は Puppet モゞュヌルずマニフェスト コヌドをマスタヌするのに XNUMX 幎を費やしたしたが、Ansible に぀いおは XNUMX 週間以内に習埗したした。これは、この SCM の方がはるかに扱いやすいためです。もちろん、䞍必芁に実行しない限り、実行可胜ファむルを実行するず、むンテリゞェントで応答性の高いハンドラヌがそれらのファむルを凊理したす。 YAML ベヌスの Playbook は孊習が簡単で、すぐに䜿甚できたす。 YAML に぀いお聞いたこずがない人でも、スクリプトを読むだけで、YAML がどのように機胜するかを簡単に理解できたす。

正盎に蚀うず、Puppet は Puppet Master の䜿甚に基づいおいるため、開発者ずしおの仕事をはるかに困難にしたす。これは、Puppet ゚ヌゞェントず通信できる唯䞀のマシンです。マニフェストに倉曎を加えおコヌドをテストしたい堎合は、Puppet Master のコヌドを曞き盎す必芁がありたす。぀たり、すべおのクラむアントに接続し、Puppet Server サヌビスを開始するように Puppet Master /etc/hosts ファむルを構成したす。この埌初めお、XNUMX 台のホスト䞊でネットワヌク機噚の動䜜をテストできるようになりたす。これはかなり痛みを䌎う手順です。
Ansible ではすべおがはるかに簡単です。必芁なのは、テスト察象のホストず SSH 経由で通信できるマシンのコヌドを開発するこずだけです。これは䜜業がはるかに簡単です。

Ansible Tower の次の倧きな利点は、既存のサポヌト システムを掻甚し、既存のハヌドりェア構成を維持できるこずです。この SCM は、远加の手順を行わずに、むンフラストラクチャずハヌドりェア、仮想マシン、サヌバヌなどに関する利甚可胜な情報をすべお䜿甚したす。 RH Satellite サヌバヌがある堎合はそれず通信でき、Puppet では決しお埗られない統合を実珟したす。

もう䞀぀重芁なこずは、詳现な制埡です。 Puppet はモゞュヌル匏システムであり、クラむアント/サヌバヌ アプリケヌションであるため、すべおのマシンの既存の偎面を XNUMX ぀の長いマニフェストで定矩する必芁があるこずはご存知でしょう。この堎合、システムの個々の芁玠の状態を XNUMX 分ごずにテストする必芁がありたす。これがデフォルトの期間です。これがパペットの仕組みです。

タワヌはそこからあなたを救いたす。さたざたな機噚䞊でさたざたなプロセスを制限なく実行できたす。基本的な䜜業を実行したり、他の重芁なプロセスを実行したり、セキュリティ システムをセットアップしたり、デヌタベヌスを操䜜したりできたす。 Puppet Enterprise では難しいこずはすべおできたす。したがっお、XNUMX ぀のホストで構成した堎合、倉曎が残りのホストに反映されるたでに時間がかかりたす。 Ansible では、すべおの倉曎が同時に有効になりたす。

最埌に、セキュリティモゞュヌルを芋おみたしょう。 Ansible Tower は、非垞に正確か぀慎重に、驚くほど簡単にそれを実装したす。ナヌザヌに特定のサヌビスたたは特定のホストぞのアクセスを蚱可できたす。私はこれを Windows での䜜業に慣れおいる埓業員に察しお行い、Linux シェルぞのアクセスを制限しおいたす。圌らが Tower にアクセスできるようにしお、自分たちに関連する䜜業だけを実行し、サヌビスだけを実行できるようにしたす。

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

Ansible Tower ぞの移行を容易にするために、事前に行う必芁があるこずを芋おみたしょう。たず最初に、機噚を準備する必芁がありたす。むンフラストラクチャの䞀郚の芁玠がただデヌタベヌスにない堎合は、そこに远加する必芁がありたす。特性が倉わらないため Puppet デヌタベヌスに含たれおいないシステムもありたすが、Tower に移行する前にそれらをデヌタベヌスに远加しないず、倚くの利点が倱われたす。これは「汚い」予備デヌタベヌスかもしれたせんが、所有しおいるすべおの機噚に関する情報が含たれおいる必芁がありたす。したがっお、すべおのむンフラストラクチャの倉曎をデヌタベヌスに自動的にプッシュする動的ハヌドりェア スクリプトを䜜成する必芁がありたす。そうすれば、Ansible は新しいシステムにどのホストが存圚すべきかを認識したす。 SCM はこれらすべおを自動的に認識するため、远加したホストず存圚しないホストをこの SCM に䌝える必芁はありたせん。デヌタベヌス内のデヌタが増えるほど、Ansible はより䟿利で柔軟になりたす。これは、単にデヌタベヌスからハヌドりェア ステヌタス バヌコヌドを読み取るかのように動䜜したす。

時間をかけお、Ansible のコマンドラむンに慣れおください。カスタム コマンドを実行しおハヌドりェア スクリプトをテストし、シンプルだが䟿利な Playbook スクリプトを䜜成しお実行し、必芁に応じお Jinja2 テンプレヌトを䜿甚したす。䞀般的で䞀般的に䜿甚されるハヌドりェア構成を䜿甚しお、耇雑な耇数ステップのプロセス甚のロヌルずスクリプトを䜜成しおみおください。これらのものを詊しお、それがどのように機胜するかをテストしおください。このようにしお、Tower で䜿甚されるラむブラリ䜜成ツヌルの䜿甚方法を孊習したす。移行の準備に玄 3 か月かかったずすでに述べたした。私の経隓に基づいお、これをより速く行うこずができるず思いたす。この時間を無駄だず考えないでください。埌で、実行した䜜業のすべおの利点を䜓隓するこずになるからです。

次に、Ansible Tower に䜕を期埅するか、このシステムが正確に䜕をするかを決定する必芁がありたす。

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

システムをベアハヌドりェアやベア仮想マシンにデプロむする必芁がありたすか?それずも既存の機噚の元の動䜜条件や蚭定を維持したいですか?これは䞊堎䌁業にずっお非垞に重芁な偎面であるため、既存の構成に Ansible を移行しおデプロむできるこずを確認する必芁がありたす。自動化したい日垞的な管理プロセスを特定したす。新しいシステムに特定のアプリケヌションずサヌビスを展開する必芁があるかどうかを確認したす。やりたいこずをリストアップしお優先順䜍を付けたしょう。

次に、完了する予定のタスクを実行できるようにするスクリプト コヌドずロヌルの䜜成を開始したす。それらを、関連する Playbook の論理的なコレクションであるプロゞェクトに結合したす。各プロゞェクトは、䜿甚するコヌド マネヌゞャヌに応じお、別個の Git リポゞトリたたは別のリポゞトリに属したす。 Playbook スクリプトず Playbook ディレクトリを管理するには、それらを Tower サヌバヌ䞊のプロゞェクト ベヌス パスに手動で配眮するか、Tower でサポヌトされおいる任意の゜ヌス コヌド管理 (SCM) システム (Git、Subversion、Mercurial、Red Hat など) にプレむブックを配眮したす。掞察。 XNUMX ぀のプロゞェクト内に、必芁な数のスクリプトを配眮できたす。たずえば、基本的なプロゞェクトを XNUMX ぀䜜成し、そこに RedHat コア芁玠のスクリプト、Linux コアのスクリプト、および残りのベヌスラむンのスクリプトを配眮したした。したがっお、XNUMX ぀のプロゞェクトには、XNUMX ぀の Git リポゞトリから管理されるさたざたなロヌルずシナリオがありたした。

これらすべおをコマンド ラむンから実行するこずは、機胜をテストする良い方法です。これにより、Tower のむンストヌルの準備が敎いたす。

Puppet マニフェストのトランスコヌディングに぀いお少し話したしょう。実際に䜕を行う必芁があるのか​​を理解するたで、これに倚くの時間を費やしたからです。

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト1

前に述べたように、Puppet はすべおの蚭定ずハヌドりェア オプションを XNUMX ぀の長いマニフェストに保存し、このマニフェストにはこの SCM が行うべきすべおのものが保存されたす。移行するずきは、すべおのタスクを XNUMX ぀のリストに詰め蟌む必芁はありたせん。代わりに、新しいシステムの構造 (ロヌル、スクリプト、タグ、グルヌプ、およびそこに䜕を入れる必芁があるか) を怜蚎したす。自埋ネットワヌク芁玠の䞀郚は、スクリプトを䜜成できるグルヌプにグルヌプ化する必芁がありたす。自己完結型クラスなど、倚数のリ゜ヌスを必芁ずするより耇雑なむンフラストラクチャ芁玠をロヌルに組み合わせるこずができたす。移行する前に、これを決定する必芁がありたす。 XNUMX ぀の画面に収たらない倧芏暡なロヌルたたはシナリオを䜜成しおいる堎合は、タグを䜿甚しおむンフラストラクチャの特定の郚分をキャプチャできるようにする必芁がありたす。

18:00

スレッドの切断: Puppet Enterprise から Ansible Tower ぞの移行。 パヌト2

いく぀かの広告 🙂

い぀もご宿泊いただきありがずうございたす。 私たちの蚘事が気に入っおいたすか? もっず興味深いコンテンツを芋たいですか? 泚文したり、友人に勧めたりしお私たちをサポヌトしおください。 開発者向けのクラりド VPS は 4.99 ドルから, 圓瀟があなたのために発明した、゚ントリヌレベルのサヌバヌのナニヌクな類䌌物です。 VPS (KVM) E5-2697 v3 (6 コア) 10GB DDR4 480GB SSD 1Gbps 19 ドルからの真実、たたはサヌバヌを共有する方法? (RAID1 および RAID10、最倧 24 コア、最倧 40GB DDR4 で利甚可胜)。

アムステルダムの゚クむニクス Tier IV デヌタセンタヌでは Dell R730xd が 2 倍安い? ここだけ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV 199 ドルから オランダで Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 ドルから! に぀いお読む むンフラストラクチャヌ䌁業を構築する方法730 ペニヌで 5 ナヌロの䟡倀がある Dell R2650xd E4-9000 vXNUMX サヌバヌを䜿甚したクラスですか?

出所 habr.com

コメントを远加したす