Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ansibleクックブック_ インフラエンジニアBooks#20 / AnsibleCookBook

Ansibleクックブック_ インフラエンジニアBooks#20 / AnsibleCookBook

[インフラエンジニアBooks#20 登壇資料]

イベントアーカイブも一緒に御覧ください!
https://youtu.be/eM1zBSXY1N4

■“インフラエンジニアBooks”とは:https://infra-eng-books.connpass.com/
「技術書を100倍楽しむ」
インフラエンジニア向けの書籍を取り上げ、その著者を招いてのライブトークがメインコンテンツです。
著者と出会い、楽しく本を知り、仲間を作るーー“インフラエンジニアBooks”はそんな場所です。

■Ansibleクックブック:https://www.amazon.co.jp/dp/4295013544
本書は、Ansibleの自動化の対象や目的に応じて、必要な内容を調べる逆引きリファレンス的な書籍です。とくに、自動化したい対象システムが定まっていて、これから自動化に取り組む、または取り組んでいる方に適しています。「入門書を読んで基本的なことは分かったが、自分が実現したいことに対してプレイブックをどう書いてよいか分からない。」このような場合に、手がかりとなるプレイブックを本書から見つけ、必要に応じて読み替えや公式ドキュメントも併せて参照していただければ、ご自身の課題解決に役立てることができます。

More Decks by AP Communications Co., Ltd.

Other Decks in Technology

Transcript

  1. 1 インフラエンジニアBooks #20 2022.04.20

  2. • はじめに • VMware章の紹介 • Linux章の紹介 • コンテナ章の紹介 アジェンダ 2

    #インフラエンジニア Books
  3. 3 Part1: はじめに #インフラエンジニア Books

  4. 4 Ansibleクックブック 本書の概要 • 本書では、Linux、VMware、コンテナ(Kubernetes)、ネット ワーク機器に対する自動化のユースケースごとにサンプル PlaybookやTipsを紹介しています 本書の想定読者 • Ansibleの基礎知識を既に修得済で、これから自動化に取り組む

    または既に取り組んでいる方を想定しています • もし、自動化対象が本書で紹介している仮想化技術やアプライア ンスなどにマッチし自動化実装をどうしていくか?について悩ん でる方がいましたら是非参考にしてください GitHubリポジトリの紹介 • 紹介しているPlaybookは以下のリポジトリで公開しています 本書と一緒に活用ください https://github.com/ansible-cookbookjp/playbooks #インフラエンジニア Books
  5. 5 本書を出版した背景 Ansible は環境的にもスキル的にもはじめやすいツールで、これまで入門書も多数発売されてきました。 しかし、Ansibleユーザー会などのコミュニティでは「基礎は分かったが、実現したいことに対してどのモ ジュールを使ってどうプレイブックを書けばいいか分からない」という悩みを聞くことがたびたびありまし た。そのため、入門書とは別に「実現したいこと」を切り口にした次の一冊があるといいのではないかと考え ていました。 そんな矢先、Ansible実践ガイド第3版でお世話になった編集者の方から、同様のコンセプトの企画でお声が けいただき、執筆活動が始まりました。

    #インフラエンジニア Books
  6. 6 著者紹介 #インフラエンジニア Books 大嶋 健容 (@sky_jokerxx) 宮崎 啓史 (@zaki_hmkc)

    横地 晃 (@akira6592) 三枝 浩太 (@usagi_automate) 名前 (@Twitter ID) サーバメイン NWメイン
  7. 7 全体の目次概要 第1章 Ansibleの概要 AnsibleおよびCoreになってからの基本概念の紹介 第2章 プラットフォーム共通 Ansibleを使ったTipsの紹介 第3章 Linux

    Linuxの基本操作や運用に必要な自動化をす Playbook/Tipsの紹介 第4章 VMware ESXi/vCenterの操作を自動化をするPlaybook/Tips の紹介 #インフラエンジニア Books 第5章 コンテナ DockerやKubernetesの操作を自動化する Tips/Playbookの紹介 第6章 ルーター/スイッチ Cisco IOSのネットワーク機器(ルータ/スイッチ)を 対象に操作を自動化するPlaybook/Tipsの紹介 第7章 ロードバランサ F5 BIG-IPのLB設定に必要な操作を自動化する Playbook/Tipsの紹介 第8章 SDN Cisco ACIのネットワーク設定(ブリッジドメイン、エ ンドポイントグループ、フィルーターなど)を自動化す るPlaybook/Tipsの紹介 ★ 本日お話する対象 ★ ★ ★
  8. 8 Part2 VMware #インフラエンジニア Books

  9. 9 自己紹介 #インフラエンジニア Books --- - 名前: 大嶋 健容 所属:

    Red Hat K.K. 仕事: Ansibleを用いた自動化コンサルタント Twitter ID: @sky_jokerxx GitHub: ID: sky-joker Collaborator(共同開発者): - VMware Collection - Zabbix Collection Blog: https://sky-joker.tech/ 浸かってる沼: - 小型PCクラスタ構築 - オーディオ関連(真空管はいいぞ) 最近興味あること: - 仮説検証型アジャイル
  10. VMware 10 目次(大項目) • 4-1 概要 • 4-2 ESXi設定 •

    4-3 vCenter 基本設定 • 4-4 仮想マシン操作 • 4-5 基本運用 #インフラエンジニア Books
  11. 11 前提 • AnsibleからESXi/vCenterを操作する場合はVMwareのライセンスが必要 ◦ ESXiの無償ライセンスの場合はvSphere APIが読み込みのみになってしまうため操作できません ◦ 60日間の評価モードであれば使用することが可能ですが、評価期間が過ぎると操作できなくなります ◦

    もし、個人検証目的であれば VMUG Advantage に登録することでライセンス ($200/年) を入手する ことが可能です https://www.vmug.com/membership/vmug-advantage-membership/ ◦ または vExpert に認定してもらうことで検証用ライセンスを入手することも可能です(年2回) https://vexpert.vmware.com/ • community.vmwareコレクションをベースに紹介 ◦ VMwareのコレクションには community.vmware(コミュニティー開発) と vmware.vmware_rest(Red Hat開 発) の2種類が存在しますが、本書では前者を前提に紹介しています ◦ 補足となりますがネットワークだと NSX-Tモジュール(VMware開発) も存在します #インフラエンジニア Books
  12. 4-2 ESXi設定 12 #インフラエンジニア Books 概要 ESXiの設定で利用可能なモジュールをベースにした Playbook を紹介をしています キーワード

    情報取得 データストア     ファイアウォール サービス   仮想スイッチ ポートグループ  VMkernel ローカルユーザー  ユースケース • ESXiに対して新規データストアのマウント (NFS, VMFS) • VMを接続する仮想スイッチ、ポートグループの追加 • VMkernelの追加など 以下の対象者にオススメ • ESXiのみの検証環境などで使用されている方 • ESXiで可能な設定自動化を知りたい方
  13. 4-3 vCenter基本設定 13 #インフラエンジニア Books 概要 vCenter Serverを用いた環境設定が可能なモジュールをベー スに基本的な構成が作れる Playbookを紹介しています

    キーワード フォルダ パーミッション カテゴリ リソースプール メンテナンスモード タグ ライセンス データセンタ  クラスタ DRS HA       分散仮想スイッチ/ポートグループ ESXiホスト登録         ユースケース • データセンタ/クラスタ作成、DRS/HA設定 • 分散仮想スイッチを構築して ESXiホストの登録 • カテゴリやタグを用いた管理など 以下の対象者にオススメ • vCenter Serverの設定を自動化して効率化を図りたい方
  14. 4-4 仮想マシン操作 14 #インフラエンジニア Books 概要 仮想マシンの操作が可能なモジュールをベースに一般的な運用 で役立ちそうなPlaybookを紹介しています キーワード VM作成

    OVFデプロイ/エクスポート スナップショット スクリーンショット ファイル取得/コピー コマンド実行 vMotion             ユースケース • VMの新規作成またはテンプレートからの複製 (clone) • ゲストOSのコマンド実行、ファイル転送・取得 • スナップショットの取得・戻しなど 以下の対象者にオススメ • VMのデプロイやスナップショット取得・戻しの作業を移管した い方 • 既に展開しているVMに対してAnsibleマシンとNWリーチャビ リティーが無い状態でもゲスト OS操作をしたいと思っている方
  15. 4-5 基本運用 15 #インフラエンジニア Books 概要 基本的な運用の例としてログ取得やレポートを生成する Playbookを紹介しています キーワード ログ取得

    レポート生成      ユースケース • ESXiのサポートログの取得の自動化 • 構成情報を把握するためのレポート生成 以下の対象者にオススメ • ログ取得をオペレーターなどに移管したい方 • 構成情報の収集から始めてみたい方
  16. 16 Part3 Linux Container #インフラエンジニア Books

  17. 17 自己紹介 #インフラエンジニア Books 自己紹介 - 名前: 宮﨑 啓史 所属:

    エーピーコミュニケーションズ web: - https://zaki-lknr.github.io/ - https://zaki-hmkc.hatenablog.com/ twitter: @zaki_hmkc 好き: - カレー - お台場
  18. 第3章 Linux 18 Linux OSの設定や運用、ファ イルやコマンド操作等サーバ 自動化を中心としたplaybook 集 目次(大項目) •

    3-1 概要 • 3-2 OS基本設定 • 3-3 ファイル操作 • 3-4 Webサーバ構築例 • 3-5 コマンドの実行 #インフラエンジニア Books
  19. 3章Linux 3-2 OS基本設定 19 OSインストール後やVMのデ プロイ後に行う各種設定の playbook集 • 3-2-1 ユーザを作成する

    • 3-2-2 ネットワークを設定する • 3-2-3 パッケージインストールする(dnf) • 3-2-4 パッケージインストールする(apt) • 3-2-5 cronを管理する • 3-2-6 ファイアウォールを設定する • 3-2-7 LVMで新しい論理ボリュームを作成する • 3-2-8 OSを再起動する • 3-2-9 SELinuxを設定する • 3-2-10 systemdを管理する • 3-2-11 カーネルモジュールをロードする • 3-2-12 カーネルパラメータを設定する • 3-2-13 SSH公開鍵認証を設定する #インフラエンジニア Books
  20. 20 3-2-1 ユーザ作成 (書籍例) #インフラエンジニア Books

  21. 3章Linux 3-3 ファイル操作 21 ファイル作成や編集を行うプレイブッ ク例 • 3-3-1 ディレクトリを作成する •

    3-3-2 空ファイルを作成する • 3-3-3 シンボリックリンクを作成する • 3-3-4 マネージドノードへファイルをコピーする • 3-3-5 Jinja2テンプレート • 3-3-6 Webサーバからファイルをダウンロードする • 3-3-7 Gitのリモートリポジトリからクローンする • 3-3-8 replaceで正規表現置換 • 3-3-9 lineinfileで文字列の追記または更新 • 3-3-10 blockinfileで複数行の追記または更新 モジュール例: file, copy, template, url, git, … #インフラエンジニア Books
  22. 22 3章Linux 3-4 Webサーバ構築例 #インフラエンジニア Books Webサーバに限らずBasic認証を使 うプロダクト・SSL証明書が必要な サーバアプリに応用 •

    3-4-1 Basic認証のパスワードファイルを作成 • 3-4-2 HTTPSサーバー用の自己署名証明書を作成 • 3-4-3 Let's Encryptを使った証明書作成
  23. 23 3章Linux 3-5 コマンドの実行 #インフラエンジニア Books • 冪等性の考慮 • チェックモードの対応

    • タスクの実行条件の指定 • エラーのハンドリング • 3-5-1 Linuxコマンドを実行する ◦ commandモジュール ◦ shellモジュール
  24. 第5章 Container 24 基本的にCLIの docker・kubectlコマンドの機 能がモジュールで提供されて いる 目次(大項目) • 5-1

    概要 • 5-2 Docker • 5-3 Kubernetes #インフラエンジニア Books
  25. 5章Container 5-2 Docker 25 実装例 • ボリュームのバックアップ • NetBoxのデプロイ •

    5-2-1 docker loginを実行する • 5-2-2 Dockerイメージをpullする • 5-2-3 Dockerイメージをbuildする • 5-2-4 Dockerイメージをtarアーカイブへsaveする • 5-2-5 tarアーカイブのイメージファイルをloadする • 5-2-6 Dockerイメージをpushする • 5-2-7 ブリッジネットワークを作成する • 5-2-8 コンテナをデプロイする • 5-2-9 コンテナ内のコマンドを実行する • 5-2-10 Docker Composeを使う モジュール例 • docker_imageモジュール • docker_containerモジュール #インフラエンジニア Books
  26. 5章Container 5-3 Kubernetes 26 実装例 • MetalLBのデプロイ • 5-3-1 Kubernetesのリソースを作成する

    ◦ manifestファイルでデプロイ ◦ Jinja2テンプレートでデプロイ • 5-3-2 Pod情報や一覧を取得する • 5-3-3 Podのログを取得する • 5-3-4 Pod内のコマンドを実行する • 5-3-5 Helmでアプリケーションをデプロイする • 5-3-6 Helmリポジトリを設定する #インフラエンジニア Books
  27. 27 Thank you For listening! #インフラエンジニア Books