複数サーバーのIPアドレスの変更

複数サーバーのIPアドレスの変更

別のネットワークに移動しているサーバーグループがあります。ホスト名と対応する新しいIPアドレスを含むファイルがあります。 Ansibleを使用してこれを達成する方法を見てきましたが、これには各サーバーに固有のプレイブックが必要です。スクリプトを試しましたが、同じ問題が発生しました。

誰かがたとえば提案できますか?ルートとしてログインできると仮定すると、外部サーバーで2つ以上のサーバーのIPアドレスをどのように変更しますか?

Ansibleプレイブックが優先されます。

答え1

私たちの在庫にserverA、があると仮定しますserverBserverC新しいIPアドレスが必要です。

したがって、最初のステップは、host_varsディレクトリにサーバー名を付けたファイルを作成し、新しいIPアドレスを変数として書き込むことです。

ファイルの例host_vars/serverA:

new_ip: 10.1.0.27

serverBそのアドレスに対して同じことを行います。serverC必要に応じてネットワークインターフェイス名に拡張することもできます。

次に、以前に定義された変数を使用してプレイブックを作成します。これはip存在しません。ここではこの変数の使い方を紹介します。よりアンサーブル文書あなたのニーズに合ったモジュールがある場合は、そうでなければcommand/を使用してくださいshell

- name: Change IP
    hosts: serverA serverB serverC
    become: yes
    tasks:
      - name: Set new IP adress
        ip: "{{ new_ip }}"
        interface: eth0

また、接続が失われる可能性がありますansibleこの質問はSOから来ました。問題を処理し、接続を継続する方法を示します。

関連情報