# ansible-doc -l #すべてのモジュールを確認 # ansible-doc -l | grep #モジュールを探す # ansible-doc [モジュール名] #特定のモジュールを調べる
はじめに この記事はAnsible Advent Calendar 2019とおうちハック Advent Calendar 2019の8日目です。 概要 こんな感じの構成を作ります。 今回はAWS IoTをSubscribeするためにRaspberry Pi Zero、赤外線リモコンとしてbroadlink RM mini3を使いましたが、目的が果たせれば何でもよいです。 AWS IoT設定 AWS IoTのコンソールからモノの登録をします。 「単一のAWS IoT モノの登録」を選び、名前だけ入力し作成を進めます。 「1-Click 証明書作成」を選ぶと以下のように証明書が作成されるので、全てダウンロードし「有効化」をクリックします。 ルートCA証明書はコレをダウンロードしておきます。 ポリシーを作りますが… アクションを「aws:*」、リソースARNを「*」と雑に作ってしまいます。 本
前の環境では、自席の非力なWindows PCと、強力なLinuxサーバがあったので、Dockerで開発環境イメージを作成して、新規チーム参加者でも同じ設定で直ぐに作業を始められるようにしていた。 IDEはEclipse。 プラグインをinstallIUオプションで追加。 フォーマッタ等の設定した結果が保存されるファイルを特定し、その設定を出力するワークスペース作成シェルを作成。 現在は、自席にそこそこなスペックのCentOS 7 PCがあり、サーバは自由に使えるマシンがなかったので、勉強を兼ねてAnsibleを使って開発環境を構築することにした。 また、これを機会にIDEはIntelliJに変更。 Ansibleのインストール # yum install epel-release # yum install ansible # ansible --version ansible 2.8.
AnsibleとJenkinsについて勉強したので せっかくなのでAnsibleを使って自分自身にJenkinsをインストールしたので備忘録として投稿 Ansibleとは 省略 Jenkinsとは 省 Ansible-galaxyとは roleを共有できるhubサービス roleは設定ファイルが膨大になり管理が煩雑になってしまうのをなくすために考えられたもの (プログラミングでいうとclassみたいなイメージ?) つまり、こまかい設定ファイル(play-book)がかけなくてもroleを落としてきて実行するだけで環境が整ってしまうといった優れものです。 もちろんansible-galaxyにあればの話ですが さっそくやってみよう 安直な私はとりあえず 「ansible-galaxy jenkin」とググる 検索結果の一番上にはこんなroleがありました。 URL:https://galax
◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました 生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!! https://tech-lab.connpass.com/event/315703/ 概要こんにちは。サイオステクノロジー 吉田です。 今回はAnsible Towerの機能の一つであるREST APIを使用し、外部からワークフローテンプレートを実行する方法になります。変数を渡して実行する方法も併せて
GOAL Ansible を使って OS X から RaspberryPi 3 (Rasbian) 上にメールサーバを構築する。ただし送信と受信転送のみでメールボックスは不要。 宅鯖の Web サイト上で管理者のメールアドレスを公開する必要が出てきたので余っている RPi 上にメールサーバを構築した時の方法を記述します。受信したメールは全て普段使っている gmail アドレスに転送するので、まぁ会社の代表電話のようなものですね。 具体的なゴールは以下の3点となります。似たような要件であれば playbook を少し修正して対応可能かと思います。 LAN 内 192.168.0.0/16 のPCやサーバから外部にメールを送信する SMTP サーバとする。 管理している複数のサイトの postmaster@foo.com, postmaster@bar.org, postmaster@baz.
$ docker -v $ Docker version 17.06.0-ce, build 02c1d87 $ docker-machine -v $ docker-machine version 0.12.0, build 45c69ad $ ansible --version $ ansible 2.4.0.0 なぜAnsible? プロダクションのデプロイに対して、Docker環境構築するのはちょっと重い(予算的にも規模的にも)ことはまぁあると思います。 ただ、development, staging, production とミドルウェアの環境構築はコードで管理したい。 そこでの最適解が、現状Ansibleかなと考えます。 なぜDocker Container? 色々見ていると古い情報が多いっていうのもありますが、Ansible PlaybookのテストはVagrantでVirt
cronでメールの送信先及び送信者を指定するオプションである、 MAILTOとMAILFROMをAnsibleを使ってcronに設定したい場合、 envをtrueにし、nameとjobにそれぞれ変数名と値を設定する。 - name: Install cron yum: name: crontabs state: present - name: Setup cron env cron: name: MAILTO user: root job: mailto@example.com env: true - name: Setup cron env cron: name: MAILFROM user: root job: mailfrom@example.com env: true
こんにちは!プラットフォーム技術部の小羽根陸です。 今まではZabbixの機能を紹介、解説してきましたが、今回の記事ではLinux版Zabbixエージェントの自動バージョンアップ方法を紹介します! 社内でZabbixを使用している場合、公式サポート期間が終了するためZabbixサーバーのバージョンアップ対応をすることがあると思います。Zabbixサーバーをバージョンアップした場合、旧バージョンのZabbixエージェントでも互換性があるのでそのまま監視することは可能ですが、Zabbixエージェントの新機能を使用するためにはバージョンアップする必要があります。 その際に、Zabbixエージェントがインストールされた監視対象が大量にある場合は、考えるだけでも頭が痛くなりませんか? 数百~数千台もある監視対象を一つひとつ手作業でバージョンアップするには、膨大な工数がかかります。またある程度作業が進
こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。 今回は Ansibleで Playbookを実行した時に、 "command timeout triggered, timeout value is 10 secs."と表示され FAILEDとなった時への対応方法を紹介します。 事象内容 以下は、JuniperのJunosに対してPlaybookで設定を投入しているものですが、 実施時に以下のように実行失敗(FAILED)となっています。 XYZ:ansible_test Xjapan$ ansible-playbook -i inventory5 junos_test11.yaml PLAY [junos] ******************************************************************* TAS
はじめに なにかにささやかれてしまった結果抗えなかった。 Ansible nginxのAnsible 先日チューニングしていたnginxのAnsibleを作った。 記事にしてなかったが現在すごく雑にawscliでインスタンスを立てるJobをランチャーとして使っている。 もう少しリッチにしたいのだが方向性が決まっていない為、ホスト管理の方法が絶賛迷走中。 よって巷ではあまりみない[IPアドレス],というホスト指定で実行するPlaybookとなった。 インスタンス作成 - defaultTab: nodes description: EC2のインスタンスを作成します。 executionEnabled: true id: 5ff10465-99ec-4e76-9458-72925c447eef loglevel: INFO name: インスタンス作成 nodeFilterEditable:
概要Datadog Ansible コレクションである datadog.dd は、Ansible 関連の Datadog コンテンツの公式コレクションです。現時点では、Ansible Datadog Role のみが含まれています。このロールには datadog.dd.agent としてアクセスすることができ、Datadog Agent とインテグレーションをインストール、構成することを可能にします。Agent のバージョン 7 がデフォルトでインストールされます。 計画と使用要件Ansible v2.10 以上。 Debian、RHEL ベース、SUSE ベースの Linux ディストリビューションのほとんど、並びに macOS と Windows をサポートしていること。 Windows ホストを管理するために使用する場合、ansible.windows コレクションをインストールする
自動化で解決すべき 本当の課題 このステップでは自動化でこれまで取り組んできた、そしてこれから取り組むべき課題について整理していきましょう。既にPlaybookを書いて自動化している人にとっては「今さら?」と感じるかもしれません。あえて最初のトピックとしてこのテーマを扱うのは理由があります。今、インフラの自動化は大きなパラダイムシフトを迎えており、この変化を認識して取り入れていくためには、「何を解決するのか?」という視点で自動化を見つめ直すことがとても重要です。このステップを通じて、自動化に対する新しい視点を持ち歩んでいきましょう。 これまで向き合ってきた課題 私達がインフラ領域での自動化を考える時に真っ先に思いつくことは何でしょうか?多くの方が、構築や運用に使われる作業手順書をプログラムやスクリプトに置き換えることを思い浮かべることでしょう。これは「人の作業」に着目して、その作業を機械に
はじめに Ansibleには様々なラインナップがありますが、Automation ControllerやAWXがWeb GUIやREST API経由で操作出来るのに対し、Ansible Coreはコマンドライン経由での操作となります。 既にAnsible Coreを導入している場合、利用範囲拡大に伴い、他のシステムとAPI連携出来ないことが課題になるケースもあると思い、REST API経由で操作できるようにしてみました。 今回試した操作対象機器(Managed node)はCisco CSR1000v(IOS-XE)です。 Ansibleのインストール CentOSのPython3.xの仮想環境(venv)に、以下をインストールしました。 pyATSはCisco機器のshowコマンド出力結果のパース(構文解析)、FlaskはAPIサーバ構築に必要なパッケージです。 $ pip instal
TerraformとAnsibleを使ってKubernetes環境構築 インフラストラクチャ 2024年4月17日 作成2024年4月17日 更新 概要TerraformとAnsibleを使ってKubernetes環境構築に取り組んだ。 自作アプリの運用をKubernetesに乗っけてみたいという気持ちから環境を構築するところから初めてみた。 サーバー選定プライベートでの開発なので、せいぜい月2000円前後くらいの予算に留めたいところ。 クラウドかVPSか、マネージドか、ノンマネージドかといったところが大きな観点だが、そのへんはコスト感と運用メリットを考慮しつつ決めれば良いのでそんなに悩まないと思う。後述するが、一番の悩みのタネはロードバランサーだった・・。 今回候補に上がったのは3つ。 GCP GKE そのまま使うとクラウド破産・・とまではいかないと思うが予算超過する可能性大。 プリエン
pecoのインストールに限った話ではないのですが、githubでreleaseされている最新版をAnsibleでインストールしたいことがあって書いた。Macだとbrew install 一発なんだけど、Linuxで使いたかったので。 tl;dr 完成形 - name: Get latest peco version shell: > curl -sI https://github.com/peco/peco/releases/latest | awk -F'/' '/^Location:/{print $NF}' register: peco_latest_version - name: Download latest peco get_url: url=https://github.com/peco/peco/releases/download/{{ peco_latest_versio
前回の記事では、Ansible のインベントリプラグインを使用してEC2インスタンスを動的に取得する方法について紹介しました。 [Ansible]インベントリプラグインを使ってEC2インスタンス情報を動的に取得する 本記事は、AWS モジュール(AWS コレクション)を使って、EC2 インスタンスのメタデータを取得する方法について紹介します。実行対象のインスタンスタイプやリージョンによって処理を分岐させる場合に利用できます。 Ansible のバージョン 手元の実行環境です。 $ ansible --version ansible 2.10.8 config file = /home/ansible/workspace/ansible.cfg configured module search path = ['/home/ansible/.ansible/plugins/modules',
はじめに Playbook 内で、Ansible Tower サーバー内の /tmp ディレクトリ内のファイルを読み込もうとしたところ、ファイルが見つからないエラーが発生しました。 "message": "Could not find or access '/tmp/hoge/fuga.yml' on the Ansible Controller.\nIf you are using a module and expect the file to exist on the remote, see the remote_src option この記事では、切り分けと原因について紹介します。 環境 Ansible Tower 3.7.2 切り分け 手動でls コマンドなどで確認すると、たしかにファイルは存在し、awx ユーザーにも権限はある状態でした。 コマンド版の Ansible では問題な
こんにちは、tkgです。 AWS環境で多数のEC2インスタンスにミドルウェアをインストールする時、オートスケーリング環境であれば最初に手法として上げられるのはゴールデンイメージの更新になるかと思います。 しかし、あまり効果的に利用できない場合や、オートスケーリングできない環境もあるかと思いますので、その時に利用できそうなAWS Systems Manager Run CommandでのAnsibleの実行の手法を試してみました。 今回利用するAnsibleのコード 今回は New Relic のAgentをインストール、Configの書き換えを行うものとしました。 ※ New Relic公式では ansible-galaxyを使った手法が提供されています。 様々な環境に利用するケースで利用が難しいと判断したため、CLIインストールの手順をなぞった形のAnsible Playbookを作成し
Terraformでインフラをプロビジョニングしたあとに上物に対してAnsibleで何か(アプリをインストールしたりデータを投入したり)処理をするようなことが多いので、AnsibleからTerraformを実行するようにして一発で処理できるようにするにはどうするか実装を確認してみた。 Ansibleモジュールはcommunity.general.terraformを使用する。 docs.ansible.com project_pathのパス指定 変数指定 出力変数 環境 ※ applyとdestroyを間違えてたか所を修正(23:55) project_pathのパス指定 /path/to/tffiles 以下でterraform applyをする構成であれば以下の通り。 - name: apply terraform community.general.terraform: projec
はじめに Ansible を使用して、Jenkins をインストールする手順を記載します。Jenkins のインストール方法については、以前にも記事にしたことがあります。今回は、Playbookのリファクタリングを行い、Jenkinsの画面を最新化しました。 Ansible サーバ 仮想化ソフトウェア : AWS EC2 OS : Amazon Linux 2 Jenkins サーバ 仮想化ソフトウェア : AWS EC2 OS : Red Hat Enterprise Linux 8 (HVM), SSD Volume Type JenkinsをAnsibleでインストールする Ansible を実行するために必要となるファイルを用意して、Ansible を使用して Jenkins をインストールします。 必要となるファイル hosts を作成する [linux] 13.112.115.
はじめに 現在、Python パッケージとしての Ansible の最新版は Ansible 2.10 系です。 そのため、単に pip install ansible を実行すると 2.10 系がインストールされます。 しかし、2.10 では多くのモジュールが Collection として別リポジトリの管理となったことなどの事情により、まだ 2.9 系をインストールシたい場合もあるのではないでしょうか。 2.9 系も 2.9.z の z の部分はまだバージョンはあがっています。なので、2.9 系の最新をインストールするときに z を調べて指定するのは少々手間かもしれません。 2.9 系の最新という指定でインストールする方法をご紹介します。 方法 以下のようなバージョンの指定をしてインストールします。 $ pip isntall "ansible==2.9.*" バージョンの確認をします。
概要 Github Actionsを使ってbranchへのpush/PRでansible-playbookによるデプロイをフックする。SSH周りで結構ハマった。 コード name: CI on: push: branches: [ staging ] pull_request: branches: [ staging ] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run ansible playbook env: PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} run: | mkdir -p ~/.ssh echo "$PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa chmod 700 ~/.ssh/id_
proenv_auto.yml(以降、メインplaybook)がconda-install→env-setting→dev-channelの順番で、各rolesのtasks直下のmain.yml(以降、サブplaybook)を実行します。 Ansibleは実行するplaybookが存在するディレクトリにあるrolesディレクトリ階層を認識します。 サブplaybookの実行順序は、メインplaybookに記載して定義します。 各rolesのfilesやvarsに存在するファイルはサブplaybookの実行時に利用するシェルスクリプトなどのファイルや変数定義です。 Minicondaインストールの自動化テンプレート 本番環境においては、多数のサーバに同様の作業をするのでなければAnsible用のControllerサーバを 用意できないので、本番環境へのパッケージインストールは自動化の範囲に
これは Ansible Advent Calendar 2020 (Qiita版) の 21日目の記事です。 ■ はじめに Ansible には callback plugin という仕組みがあり、結果出力の形式を変更できます。 JSON Callback Plugin もあり、Playbook の実行結果を JSON で得て、jq などと組み合わせて必要な箇所だけ切り取って表示できます。 この記事では、簡単なサンプルでご紹介します。 動作確認環境 ansible 2.9.14 前提とする Playbook 以下の Playbook で試すこととします。Cisco IOS のネットワーク機器に show ip route コマンドを実行するだけです。 --- - hosts: ios1 gather_facts: false tasks: - name: show ip route ios
作ったもの:Yaruki00/ansible_ubuntu_lamp はじめに 今回作ったものはphansibleというサイトで生成できるplaybookを元にしています。と言うかほぼそのままです。 もともとはVagrantを使って仮想UbuntuにAnsibleでLAMPを構築するようになっているのですが、わざわざVagrant部分は削除してます。 仮想環境でやりたいよ、という人はphansibleでポチポチしてplaybookを生成してみてください。 中身はどうなっているの ディレクトリ構成 . ├── inventories │ ├── dev │ └── local ├── playbook.yml ├── roles │ ├── apache │ │ ├── handlers │ │ │ └── main.yml │ │ ├── tasks
【Ansible】SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed がansible-playbook で表示される fatal: [192.168.11.17]: UNREACHABLE! => {"changed": false, "msg": "ssl: HTTPSConnectionPool(host='192.168.11.17', port=5986): Max retries exceeded with url: /wsman (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)'),))", "unreachable": true} Ansible コント
■ はじめに Ansible の管理対象ホストを定義するインベントリは、ansible-playbook コマンドの -i オプションで指定します。スタティックなインベントリでも、ダイナミックインベントリでも同じです。 コマンド例 $ ansible-playbook -i inventory site.yml この -i オプションでは、ファイルの指定だけでなく、ディレクトリも指定できます。ディレクトリを指定した場合は、そのディレクトリ配下の複数のインベントリファイルをマージして扱うことができます。 この記事では、簡単な例で試してご説明します。 動作確認環境: Ansible 2.7.5 ■ おためし 準備 inventories ディレクトリのインベントリファイルは以下のとおりです。 inventories/ |-- hosts1 `-- hosts2 それぞれのインベントリファイルの
Red Hatのさいとうです。早いもので、今年もAnsible Advent Calendarの季節がやってきましたね。 例年、僕はみなさんがクリスマスを楽しんでいるときに、ひとり黙々とAdvent Calendarの25日の欄を埋めるのを1年最後の楽しみにしていたのですが、今年はなんと初日(12/1)と最終日(12/25)の枠を確保してしまいました。それでは Ansible Advent Calender 2021 の初日の記事をお届けします。 2021年のAnsibleとわたしの内容を振り返る Ansible Advent Calendar初日の今日は、元記事の中で触れた2021のAnsibleの技術面でのトピックについて振り返ってみようと思います。 元記事では、2021に予想される大きな動きとして以下の2点をあげました。 Private Automation Hub Containe
こんにちは! BFT名古屋支店の、佐野です。 今回はAnsibleTowerにてワークフローを使用する時の解説をします。 AnsibleTowerの機能としては活用頻度の高いものですので、基本的な話にはなりますが、これからAnsibleTowerやAWXを使われる方に向けてお送りしたいと思います。 はじめに:今回の前提 本記事ではAnsibleTowerにおけるワークフローについて扱いますが、AnsibleTowerおよびAWXの導入に関しては完了している前提でお話をさせていただきます。 また差異はないかとは思いますが、今回の解説はAnsibleTowerで行なった作業を元として行なっておりますので、AWX上で同じように行なえるかは必ずしも保証しかねます。 (おそらく大丈夫のはずです) 「そもそもAnsibleTowerやAWXってなに?」という方は、以下の記事にて解説を行なっていますので
はじめに 2020/10/17 に、YouTube Live で「つまずき Ansible 【Part19】モジュールのコードをデバッグしたい」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、ANSIBLE_KEEP_REMOTE_FILES の設定を有効にして Playbook を実行して残った Python のコードをもとにしてデバッグをしてみます。 参考 Debugging modules — Ansible Documentation Ansible troubleshooting 101_202007 やったことや、わかったことをふりかえります。 環境 ansible 2.10 python 3.6.8 動画 youtu.be チャプターもつけてます。 ■ やったこと ANSIBLE_KEEP_RE
Shared Image Gallery は、カスタムのマネージド イメージを簡単に管理、共有、整理できるようにするサービスです。 この機能は、多くのイメージが保持、共有されているシナリオに役立ちます。 カスタム イメージは、サブスクリプション間および Microsoft Entra テナント間で共有できます。 また、デプロイのスケーリングにかかる時間を短縮するために、イメージを複数のリージョンにレプリケートすることもできます。 この記事では、次のことについて説明します。 前提条件 Azure サブスクリプション:Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。 Ansible のインストール: 次のいずれかのオプションを実行します。 Linux 仮想マシンに Ansible をインストールして構成する Azure Cloud Shell
これは Ansible Advent Calendar 2020 の12日目の記事になります。AnsibleのモジュールドキュメントについてAnsible 2.10からモジュールやプラグインなどはCollections化されて提供されるようになった事や、Galaxy NGを使う事でローカルにAutomation Hubを構築して組織内で開発したCollectionを共有することが出来ることから、これから自作モジュールを目的に合わせて作成していく場合はCollection化される案件が増えてくるのではないかと想像しています。(CollectionsはAnsible 2.9でも使用可能)その時に出てくる課題の一つがドキュ... これは、docsディレクトリ配下にモジュールのrstの自動生成とREADMEの自動更新をするツールを使ったものになっています。 今回は、別のツールを使ってSphinx経
私は、よくAnsibleを好む、と言われます。 実はAutoMation Platformとして一番使い勝手が良いので使ってるだけで そこまで拘りはないのですが、愛着というものは湧くもので(ツンデレ) 少しAnsibleって何だろうって事を書いておきます。 間違っている所があれば、その事を教えてください。 多少は詳しいつもりですが、実は全然そんな事ないかもしれません。 丁寧なマサカリは歓迎です。 Ansible とは 2012年に作られた、シンプルなIT自動化プラットフォームです。https://github.com/ansible/ansible Ansible is a radically simple IT automation system. It handles configuration management, application deployment, cloud pro
概要 ansible を使って開発環境用の docker コンテナを作成しようとしたが、ansible-bender を使う方法は、podman と buildah が必要らしく(参考:Ansibleを使ってdockerコンテナを立ち上げる)、MacOS 用の buildah が配布されていないようなので、別の方法を調べてみた。 ansible の community.docker に含まれるモジュールは、ansible が結局、ssh 接続を前提としているので、パッケージのインストールなど、やりたいことができない。(image や container を外側から触ることはできるが、中身の操作は不可) よって、ansible 側から docker のイメージやコンテナを操作するのではなく、Dockefile で docker イメージを構築する際に、イメージ内に ansible をインスト
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く