未解決
Community Manager
•
3.1K メッセージ
0
161
【Coffee Break】ほぼわかりAnsible101
この投稿は「ちょっとしたストレージ関連技術のTIPSを思いついたら書いてみる」というコンセプトで、デル・テクノロジーズ社内のTeamsグループ/チームでゆる~く運営されている「Coffee Break」からの情報抜粋です。今回はPowerScaleスペシャリストからの投稿を抜粋しました。
トレーニングを受けていてなんとなくAnsibleを思いだしたので、Ansibleの入門部分についてまとめてみました。
今回紹介するPowerScale (Isilon) だけでなく、PowerMax、PowerStore、PowerFlexやDell SwitchもAnsibleに対応しております。
(※NetAppやPureなどの競合製品もAnsibleをサポートしていますが、我々もサポートしていることが大事ですね。)
-
そもそもAnsible (アンシブル)とは何か?
インターネット上にわかりやすい記事がたくさんあるので、ここではポイントだけおさらいします。- AnsibleはRed Hat社が提供する無償ツールで、Linuxにインストールして使います。
- そのLinuxから指示した設定を、対象のインフラに反映させることができます。
- このようなインフラの設定を文書にして管理するツールを Infrastructure as Code (IaC)と呼び、インフラの管理対象が増えてくると管理者が大変なので、IaCで設定作業を自動化しようという流れで普及してきました。
-
Ansibleだと何がうれしいのか?
- エージェントレス: 他にも似たようなツールはあるが、管理対象のインフラ側に何かしらソフトウェアを入れる必要がなく、pythonが入っていれば使えるので導入や運用が簡単なことが選ばれるポイントの1つだと思います。
- プログラミングスキル不要: 設定の指示はプログラム言語よりもとっつきやすいYAMLファイルに書くので敷居も低めです。
- 冪等性(べきとうせい): あるべき姿をYAMLファイルに書いて指示するので、意図しない設定変更を防ぎます。※Ansibleの実行時に、既に指示した状態になっていれば何もしない、指示した状態になっていない場合のみ設定を変更する感じです。
-
試してみました。
- 事前準備: LinuxにAnsibleをインストールします。
- ansibleをインストールできるよう EPELリポジトリをインストールする。
sudo yum -y install epel-release - ansibleをインストールする。
sudo ym -y install ansible
- ansibleをインストールできるよう EPELリポジトリをインストールする。
- 実施方法: ad-hoc (アドホック) と Playbook (プレイブック) の2つあります。
- ad-hoc: 単発のコマンドで指示する。
- /etc/ansible/hosts ファイルに管理対象となるIsilonのIPアドレスを記載する。
例: IPアドレス記入後のhostsファイルの状態
- Ansibleコマンドを実行し、対象インフラにコマンドを流す。
例: PowerScaleのステータスを確認するisi statusコマンドを実施するよう指示する場合
$ansible 10.119.81.22 - a "isi status -q" --extra-vars "ansible_user=root ansible_password=*"
isi statusコマンドの実行結果が、PowerScaleから返ってきているのがわかります。※上記キャプチャの黄色部分
- /etc/ansible/hosts ファイルに管理対象となるIsilonのIPアドレスを記載する。
- Playbook: YAMLファイルで指示する。
- viなどのテキストエディタでYAMLファイルを作成する。
例: /ifsディレクトリに hogehogeフォルダを作成する。すでにhogehogeフォルダが存在する場合は何もしないPlaybookをつくる。
- ansible-playbook コマンドを実行する。
$ ansible-playbook site.ymlansible-playbookコマンドを1回目に実行したときは、まだ hogehogeフォルダが作成されたので changed=1、
2回目に実行したときは hogehogeフォルダが既にあって何も変更がないので changed=0 という結果が返ってきています。
PowerScale側では ansible-playbookコマンドを実施後に、hogehogeフォルダがちゃんとできています。
- ad-hoc: 単発のコマンドで指示する。
- 事前準備: LinuxにAnsibleをインストールします。
- 次にSMB/NFS共有やスナップショットなどLinuxが標準でもっていない機能についてAnsibleで操作する方法の紹介です。
- 事前準備:
- 各製品ベンダーから提供されているSDKをインストールする。
- Ansible GalaxyまたはGitHugからPowerScale/Isilon用のAnsible Moduleをインストールする。
- 実行方法: 下記の動画でまとめられているのでご参照ください。
例: NFSエクスポートの作成およびマウント、アンマウントをAnsible-Playbookで操作する
http://www.unstructureddatatips.com/wp-content/uploads/2020/06/Isilon_Ansible_create_and_mount_NFS.mp4?_=1
- 事前準備:
簡単ですが以上です。今後ともUDS製品をどうぞよろしくお願い致します。