ワークステーションの構成管理Ansibleを使用する方法

このシリーズの最初の記事では、ノートパソコンやデスクトップ構成の管理の基礎を学びます。

構成管理は、サーバーの管理とDevOpsチームの非常に重要な側面です。「インフラストラクチャコードとしてのインフラストラクチャコードとして」方法が簡単に様々な構成でサーバを展開し、動的に顧客のニーズを満たすために、組織のリソースを拡張することができます。しかし、あまりのためにあなたは自動的にあなたのラップトップと個人的な関心のデスクトップ(ワークステーション)管理者を設定したいです。

このシリーズでは、私は方法を紹介しますAnsibleしたいか、あなたのマシンを再インストールする必要がある場合は、ワークステーションのセットアップを自動化し、それはあなたが簡単に全体の構成を復元することができます。あなたが複数のワークステーションを持っている場合にも、あなたは、各ワークステーション上の同じ設定で同じ方法を使用することができます。最初の記事では、我々は、個人または仕事用のコンピュータの基本的な構成管理を設定し、家族向けの残りのための基礎を築くだろう。この記事の終わりまでに、あなたはそのための作業環境を取得します。このシリーズの各記事の後より多くを自動化し、複雑さを増すだろう。

なぜAnsible?

塩スタック、シェフや人形など、多くの構成管理ソリューションがあります。私はそれが資源利用の観点から、より軽量であるため、構文が読みやすく、Ansibleを好む、それは完全にあなたの構成管理を変更することができ、正しく使用している場合。このトピックに特に関連のAnsible軽量性質上、私たちは自動セットアップたちのラップトップおよびデスクトップ用のサーバ全体を実行したくない場合がありますので。一般的に、我々は常に速くしたい。我々はすぐに起動して実行するために使用できる何かが、私たちはワークステーションまたは複数のマシン間で、当社のコンフィギュレーションの同期で秩序を回復する必要があります。私は、サーバーを維持する必要がなく、このために非常に適している(私はこの記事で紹介します)Ansibleの具体的な方法を使用します。あなたは、単に設定をダウンロードして実行します。

私のアプローチ

通常、Ansibleは、中央サーバー上で実行されています。これは、在庫、在庫ファイルを使用して、ファイルは、我々はAnsible管理の彼らのIPアドレスまたはドメイン名をホストするすべてのリストを含むテキストファイルです。これは、静的な環境のために有用が、ワークステーションのための理想的ではありません。その理由は、私たちは本当に状態の時に私たちのワークステーションを知らないということです。たぶん私は、デスクトップ、またはノートブックコンピュータを中断することができる閉じて、私の鞄を置きました。彼らがオフラインである場合、Ansibleは私のマシンに連絡することができませんので、いずれの場合も、Ansibleサーバが文句を言うでしょう。我々はansibleプルを使用して、この目標を達成するために必要があり、オンデマンドな方法の多くを必要とします。ansibleプルAnsibleコマンドは、からダウンロードしてすぐに適用するためにGitリポジトリを設定するためのコマンドです。あなたは、サーバーや在庫を維持する必要はありません。あなただけのansibleプルコマンドを実行し、それをGitのリポジトリのURLを与え、それはあなたのための残りを行います。

開始

  1. sudoapt-getのソフトウェアの特性、一般的なインストール
  2. 須藤はapt-アドオンリポジトリPPA:ansible / ansible
  3. アップデートをsudoapt-取得
  4. ansibleをインストールsudoapt-取得

Ubuntuを使用しない場合は、参照してくださいAnsibleのマニュアルをご使用のプラットフォームのためにそれを取得する方法を知っています。

次に、我々は我々の設定を保存するためにGitリポジトリを必要とします。この要件を満たすための最も簡単な方法は、GitHubの上で空の倉庫を作成することで、または可能な場合、また、独自のGitサーバーを使用することができます。簡単にするために、私は、あなたが別の倉庫を使用しているので、もしあなたが、GitHubのを使用していると仮定応じてコマンドを調整します。でGitHubの上のリポジトリを作成します。あなたはこのURLに似た倉庫になってしまいます。

  1. [email protected]:<your_user_name> /ansible.git

倉庫は、ローカルの作業ディレクトリにクローン化した(倉庫がある苦情空のメッセージを無視して):

  1. [email protected]:<your_user_name> /ansible.git

今、私たちが持っている空の倉庫を使用することができます。あなたの作業リポジトリ(例えば、CDの./ansible)にディレクトリ、そしてお好みのテキストエディタでlocal.ymlという名前のファイルを作成します。ファイルに以下の設定:

  1. - ホスト:localhostの
  2.   なる:真
  3.   タスク:
  4.   - 名前:Installhtop
  5.     apt:名前=ホテルトップ

次に、私たちは私たちの倉庫に新しい書類を提出してみましょう:

  1. gitのlocal.ymlを追加
  2. gitが-mは、「コミット初期の」コミット
  3. Gitのプッシュ原点マスター

今、私たちの新しいスクリプトは、GitHubの中、当社の倉庫に表示されます。私たちは、私たちが作成したスクリプトを適用するには、次のコマンドを使用することができます。

  1. sudoのansibleプル-U https://github.com/<your_user_name>/ansible.git

正しく実行した場合、htopのパッケージは、システムにインストールする必要があります。あなたは、インベントリファイルの欠如に不満、先頭近く、いくつかの警告が表示されることがあります。私たちは、インベントリファイルを使用していませんでした(私たちはそうする必要はありません)ので、これは良いです。出力の終わりに、それは、その内容の概要を行います。ホテルトップが正しくインストールされている場合、あなたは= 1に変更出力の最後の行が表示されるはずです。

それがどのように動作しますか?ansibleプルコマンドでは、リポジトリのURLを必要と-Uオプションを使用しています。私は、任意のホストがリポジトリへの書き込みアクセス権を持ってしたくないので、セキュリティ上の理由から、私は(デフォルトHTTPSが読み取り専用である)、それを倉庫のURLのhttpsバージョンを与えます。local.ymlは、デフォルトのスクリプト名であるので、我々は、スクリプトのファイル名を指定する必要はありません:それは倉庫のルートディレクトリにlocal.ymlというスクリプトを見つけた場合、それが自動的にそれを実行します。我々はシステムを変更しているので、次に、我々は、フロントでsudoコマンドを使用します。

私たちは私たちのスクリプトに多くのパッケージを追加していきましょう。私はそれがこのように見えるように、2つのパッケージが追加されます:

  1. - ホスト:localhostの
  2.   なる:真
  3.   タスク:
  4.   - 名前:Installhtop
  5.     apt:名前=ホテルトップ
  6.   - 名前:MCをインストールします。
  7.     apt:名前= mcの
  8.    
  9.   - 名前:Installtmux
  10.     apt:名前= tmuxの

私は2つの追加パッケージ、MCとtmuxのをインストールするには、より多くのアクション(タスク)を追加しました。パッケージは重要ではありませんここで、このスクリプトをインストールすることを選択します。私はそれらを選択する必要があります。あなたがパッケージを持っているしたいすべてのシステムをインストールする必要があります。唯一の注意点は、あなたが配布する前に、あなたはパッケージがデポに存在することを知っていなければならないということです。

私たちは、この更新スクリプトを提出し、適用する前に、我々はそれを整理する必要があります。これは非常にうまく機能することができますが、(正直言って)それは少し混乱に見えます。私たちは、ワンアクションですべての3つのパッケージをインストールしてみましょう。あなたのlocal.ymlの以下の内容でこれを置き換えます。

  1. - ホスト:localhostの
  2.   なる:真
  3.   タスク:
  4.   - 名前:インストールパッケージ
  5.     やすい:名前= {{アイテム}}
  6.     with_items:
  7.       -htop
  8.       - MC
  9.       -tmux

今では、よりクリーンで効率的に見えます。私たちは、ワンアクションへのパッケージの私たちのリストwith_items使用します。私たちは別のパッケージを追加したい場合は、単純にハイフンとパッケージ名を持つ別の行を追加します。With_itemsは、forループと同様に見ることができます。私たちは、各パッケージがインストールされるリスト。

私たちの新しい変更が倉庫に戻って提出されます。

  1. gitのlocal.ymlを追加
  2. gitのコミット-mは、「クリーンアップ、フォーマット、追加のパッケージを追加しました」
  3. Gitのプッシュ原点マスター

今、私たちは新しい新しい構成を受け入れるために私たちのスクリプトを実行することができます:

  1. sudoのansibleプル-U https://github.com/<your_user_name>/ansible.git

確かに、この例ではやることがたくさんありませんでした。それはいくつかのパッケージをインストールしているん。あなたはより迅速にこれらのパッケージをインストールするには、パッケージマネージャを使用することができます。しかし、このシリーズが続くように、これらの例はより複雑になり、我々はより多くの事を自動化します。最後に、あなたが作成Ansibleの設定は自動的に、より多くのタスクを実行します。例えば、私は、設定を自動的にインストールすることができるようにcronジョブを設定し、パッケージの何百、デスクトップ構成の取り扱い、およびを使用しています。

我々は、ビューのこれまでのポイントを達成したものから、あなたはすでに一般的な考えを持つことができます。私たちは、倉庫を作成するリポジトリにスクリプトを配置し、倉庫に引っ張ると、我々のマシンに適用するansibleプルコマンドを使用するだけです。私たちは、サーバーを設定する必要はありません。我々は設定を変更したい場合は将来的に、我々は、倉庫を引っ張って、それを更新し、当社の倉庫にそれを押し戻して、それを適用することができます。私たちは、新しいマシンをセットアップしたい場合は、我々は唯一のAnsibleとアプリケーション構成をインストールする必要があります。

次の記事では、我々は、cronと他のプロジェクトを通じて、自動化を促進します。それと同時に、私はこの記事では、コードをコピーする必要があり、私のGitHubリポジトリ、あなたの文法私を比較できるように。我々は進歩したように、私は、コードを更新していきます。

経由:https://opensource.com/article/18/3/manage-workstation-ansible

おすすめ

転載: www.linuxidc.com/Linux/2019-07/159436.htm