OSSの運用自動化ソフト 注目の7製品まとめ(Ansible/Terraform編):コードでインフラ構築、管理を実現するOSSたち(1) システム構築、運用の自動化を担う「IaC(Infrastructure as Code)」を実現するソフトウェアは多くの種類が存在します。本連載では注目のIaCソフトウェア製品を7つ列挙し、それぞれの特徴などを比較して紹介します。ぜひ選ぶ際の参考にしてみてください。
■ はじめに Ansible には、Playbook 実行時に予めどのような変更がせれるかを、実際に変更を加えることなくチェックできる、check モード (Dry-run)という機能があります。 これまでは、通常実行時も check モード実行時も、実行ログ上は特に変わりはありませんでした。 Ansible 2.9 から、デフォルトのコールバックプラグインに、check モードで実行されたタスクにのログに印を付けられるようになりました。 この記事では、簡単な例をもとにして説明します。 ■ 設定 ansible.cfg と環境変数の、2通りの設定方法があります。 ansible.cfg ansible.cfg で設定する場合は、[defaults] セクションに以下のように指定します。 [defaults] check_mode_markers = yes 環境変数 ansible.cfg
Ansible Night in Tokyo 2019.07 でのLT内容詳細です。 LT資料はこちら ■ 概要Ansible とTerraform をどのように使い分けるべきか考察してみます。 ■ Ansible とTerraform とを扱っている記事について以下にいくつか記事がありますが、どの記事も2つのツールを呼び出せると言う技術的観点でのみ説明されているだけで、どのような組み合わせで使い分けるべきか、その際の課題などは明言されていません。 ① HashiCorp Terraform and Red Hat Ansible Automation (Redhat の記事)「Terraform からAnsible Playbook を呼び出すこと」、「Ansible からTerraform モジュールを使ってTerraform を呼び出すこと」という2パターンの形態があると記載されてい
はじめに Kubernetesクラスターをオンプレやクラウド上の仮想マシンの上に構築する場合、Kubernetes The Hard Wayのようにイチから全てを構築するか、構築用のツールを利用する方法があります。Kubernetesクラスターを構築するツールは複数存在し、代表的なものとしては以下のようなものがあります。 Kubeadm: Kubernetesが公式で提供するツール。 Kops: Kubernetes Operations。現在はAWSを公式にサポートするツール。 Rancher: Rancher Labsの提供するマルチクラスター構成ツール。 Kubespray: Ansibleを利用してKubernetesクラスターを構築する。 このうち今回紹介するのはKubesprayになります。 KubesprayはAnsibleを利用するクラスター構築ツールです。Ansibleは
基本情報 ansible-core devel document ロードマップ ansible-core 2.11 changelog ansible-core 2.11 Portig Guide ansible 2.11.0 の changelog を眺める ansible 4 Porting Guide ansible 4 changelog ansible 4 でセットでインストールされる collection の定義 ansible 4.0.0 リリース コントローラーで Python 3.8 以上でないと warning Controller - Add warning for Ansible 2.11 when running a Python version older than Python 3.8 to inform users that 2.12 will only s
こんにちわ。onagataniことながたにです。 先日さくらのVPSをAnsibleでセットアップする記事を書いたのですが、今回はその続きになります。 Blog さくらのVPSに手軽にセキュアで高速なMovable Type用サーバをAnsibleで自動で構築する方法 皆さんはサーバからのメール配信設定をどのように設定していますでしょうか? 各社IaaSなどはOP25B対策でサーバ自身から直接メール配信できるサーバは少ないのかと思います。 AWS EC2 -> 制限解除を行うことでEC2からの送信は可能 さくらのVPS -> 本登録に移行すると送信可能 GCP -> NG Alibaba Cloud -> ほぼNG Azure -> NG さくらでは一応可能なようですが、 今回はSendGridを利用してメールを送信する設定を行います。一応、前回の記事の続きという位置づけですが、Postf
本記事では、Ansible のインベントリプラグインを使用してEC2インスタンスを動的に取得する方法について紹介します。 Ansible のインベントリ(ターゲットノードの接続情報等をまとめたファイル)に接続対象のホスト情報を記載するのですが、クラウド環境でEC2インスタンスが頻繁にホストが追加・削除される状況では管理が難しくなります。そこで、Ansible ではクラウドから提供されている API(AWS であれば EC2 API)によってホスト情報を動的に取得し管理するダイナミックインベントリという機能が提供されています。 Ansible 2.9までは GitHub 上の ec2.py をダウンロードして使う方法が主流でしたが、2.10 からはこのファイルが削除されていて使うことができず、インベントリプラグインをつかうことが推奨されています。 Ansible のバージョン 手元の実行環境
TL;DR ansible.builtin.uri でコンテンツを取ってきて ansible.builtin.shell の stdin を使って流し込む サンプル たとえばrustupのインストールは公式ドキュメントでは次のようなスクリプトを使っている rustup.rs curl -sSf https://sh.rustup.rs | sh -s -- -y これをこのまま ansible.builtin.shell に記述して実行すると warning が出ます。たとえばこういう具合にすると - name: Install rustup ansible.builtin.shell: cmd: curl -sSf https://sh.rustup.rs | sh -s -- -y 実行時にこういうふうにwarningがでます。 TASK [common : Run rustup] *
はじめに タイトルのようにAnsibleでVmwareのGuestVMを作ったり色々便利に使いたい、というケースがあったのでこれを機に触ってみました。 ついでにDynamic Inventoryも使えると便利かなと思い、こちらも触ってみました。 動作検証環境 Vmware側 VMware vCenter Server Appliance, 6.7.0, 42000 VMware ESXi, 6.7.0, 13006603 クライアント(Ansible実行環境)側 OS: CentOS 7 一応Dockerのpython:latestでも試しました Python 3.8.1 python2系でもvmware系モジュールは動きますが、Dynamic Inventoryを使おうとするとsetuptoolsという依存パッケージがPython 3.5以上でないと対応してなかったため3.5以上のほうが
TL;DR モチベーション やってみた マニュアルを読む 実装してみる 一回目 二回目 三回目 まとめ こんにちは、インフラ担当の天津です。今日はAnsibleでの小ネタをご紹介します。 TL;DR roleごとにユーザを切り替えが可能かを調べ、可能であることを確認しました。 モチベーション ユーザ作成とそのユーザでの構築作業を実施したいことがありましたので調べました。 例えば下記のようの状況です。 ec2-userで接続 rootでansible実行用ユーザを作成 以降の処理はansible実行用ユーザで実施する やってみた マニュアルを読む 公式マニュアルを参照します。 https://docs.ansible.com/ansible/latest/user_guide/become.html 変数を指定することで設定できそうです。 実装してみる 一回目 下記のようなplaybookを
環境 Ansible バージョン2.8 注意点 今回の話はAnsibleバージョン2.7以降でないと対応していません。 目的 Ciscoのios-xrではcommit時に任意のlabelを付け加えることができる。 例えばcommitしてそれが原因で事故が発生した場合rollbackするときにlabelを指定して切り戻しすることができる。 今回はそれをAnsibleで行う。 - hosts: iosxr gather_facts: no connection: local tasks: - name: configure interface settings iosxr_config: lines: - ip address 172.31.1.1 255.255.255.0 - no shutdown parents: interface gi0/1/0/0 label: abcdefg
こんにちは、レッドハットの中村です。9月23日〜26日に開催されていたAnsibleFest 2019 in Atlantaにて、レッドハットからAnsible Automation Platformが発表されました。詳細情報はこれから出てくると思いますが、簡単に発表された内容をまとめておきたいと思います。 1日目の基調講演にてレッドハットのSenior Principle Product Managerである、Richard Henshall から概要が発表され、2日目の基調講演のデモセッションで実際の画面を紹介されました。 Ansible Automation Platform Richard Henshalの講演内容 以下に簡単に彼の講演した内容をスクリプトっぽく書いていきます。 ーーーはじまりーーー Ansibleはその簡易性から、自動化することを簡単にし、様々な人や組織の自動化を
イベント タイアップ 自動化の進め方から、導入の経験談、内製ソフトとの連携まで。Red Hat Ansible Automates Tokyo 2020 Day2 Day1に引き続き、Red Hat Ansible Automates Tokyo 2020 Day2のセッションについてまとめました。 Red Hat Ansible Automates資料・動画まとめページへ 目次 ・実事例から学ぶ、大規模ネットワーク環境をAnsibleで自動化する方法 ・ネットワーク運用自動化ジャーニーの歩み方と、これから目指す先 ・ユーティリティ クラウドにおける自動化2.0への道のり 実事例から学ぶ、大規模ネットワーク環境をAnsibleで自動化する方法 Red Hat, Inc. Landon Holley(ランドン・ホレイ)氏 このセッションでは、大規模な環境でAnsibleを活用した事例と、最新
# はじめに レッドハットがAnsible社を買収してから3年以上経ちました。昨年度(FY18、2017年)の9月には、Ansible Engineという形で、旧来Ansible Coreと呼ばれておりオープンソース版しか利用できなかったものが、エンタープライズサポートを付随して提供開始し、より一層企業内で安心してご利用いただけるようにサービスを強化しています。 Ansible Engineは、ソフトウェアパッケージそのもののサポートだけでなく、一部のModuleについて、サブスクリプション契約のなかでサポートを提供しております。いくつか製品の入れ替わりでModule(モジュール)の分類とサポートされるされないといったことがわかりにくく、最近問い合わせが増えていましたので、今回AnsibleのModuleの分類とサポートについて説明します。 なお、この記事は2019年2月末時点のものであり
AnsibleはLinuxやクラウドを中心に活用されることが多いですが、Windows向けのモジュールも多数提供されています。本ウェビナーでは、Windowsに対してAnsibleから自動化するユースケースをご紹介いたします。 その他のAnsible関連のウェビナーは以下のURLからご確認ください。 red.ht/ansiblewebinarjp ※その他ご案内 視聴推奨環境:ChromeもしくはFirefox(Edgeでは一部視聴できないことがあります) 当日の配信はオンデマンドでも視聴可能です。ただし、登録が必要となりますので、予めご登録いただくことを推奨いたします。 Live-event date: 2019年12月19日午前11時よりライブ配信(オンデマンドでも視聴可能)
例えば、trzファイルをリモートに展開する際、OSの種類により展開元ファイルを変更するとした場合、when:を使うと冗長となるが、jinja2のifなどを用いるとシンプルに書ける。 whenを使用すると冗長 - when: ansible_distribution == 'CentOS' unarchive: src: foo.trz dest: /qux - when: ansible_distribution == 'Ubuntu' unarchive: src: bar.trz dest: /qux - when: ansible_distribution not in ['CentOS', 'Ubuntu'] unarchive: src: baz.trz dest: /qux
はじめに 技術開発部の横地です。 先月のことですが、AP Tech Fest という社内勉強会で、Ansible 2.10 と Collection という話をしました。 Ansible 2.10 から Collection の本格運用がはじまったり、Python パッケージとして、 ansible と ansible-base に別れたりと、構造的な変化がありました。 これまで Ansible を使っていた方でも「おや?」と思う点もあるかと思います。リリース前からアンテナを張っていましたので、その知見を社内に共有しました。 「今までの Playbook は動くの?」のところではデモも行いました。 内容 資料もアップしてありますので、詳細はこちらをご覧ください。 Ansible 2.10 と Collection from akira6592 www2.slideshare.net 内容は
この記事は Ansible Advent Calendar 2022 23日目の記事です。 はじめに 2022年もAnsible関連で様々なリリースがありました。ansible-core や AAP も予定通りバージョンアップされてきました。 ansible-rulebook(developer preview)もインパクトがありました。ネットワーク的には paramiko から ansible-pylibssh へ以降するの流れがでてきました。 個人的にポイントだと思ったものをまとめます。 2021年版はこちら 2022年3月 ansible-lint 6.0.0 リリース ansible 2.9 のサポート終了 Python 3.6、3.7 のサポート終了 設定ファイル .config/ansible-lint.yml を読み込むように 検出だけなく一部修正も changelog Re
みなさんこんにちは。レッドハットの杉村です。Ansible のテクニカルサポートをしています。 今回は Ansible から Windows Active Directory を操作してみようということで、簡単な Windows の扱い方や、変数のパラメータ化、Tower での実行例について軽く説明したいと思います。 対象としては Windows 2019 を用意しました。Ansible から接続できるように、初期設定をしておきました。詳細はこちらのサイトをご覧ください。 https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html インベントリファイルを書きます。最近は ini 形式ではなく yaml で書くのが好みです。 --- windows: hosts: 192.168.0.158: ansible_c
投稿者のAnsibleレベル 一人で構築作業を自動化するために使っているだけです… OSの設定からミドルウェアのインストールまではAnsibleで自動化して作業の効率化ができるレベルです。Ansible完全に理解した 現状、インフラチームは私しかいないのでコーディング規約など存在せず、自分がわかればいい雑環境でございます そもそもSier勤務なので、運用には一切関わることができません! 障害時の保守だけ担当している状態です 『AnsibleFest2020 Recap』さいとうひでき さん Japan Ansible User Groupに所属されている、全Ansible Nightに参加されているすごい人 AnsibleFestの技術トピックから運用に関するものをピックアップして解説して頂きました AnsibleFestは2020年の10月に開催されたようなのですが、私はまったく把握でき
AWS Compute Blog Executing Ansible playbooks in your Amazon EC2 Image Builder pipeline This post is contributed by Andrew Pearce – Sr. Systems Dev Engineer, AWS Since launching Amazon EC2 Image Builder, many customers say they want to re-use existing investments in configuration management technologies (such as Ansible, Chef, or Puppet) with Image Builder pipelines. In this blog, I walk through cr
久しぶりにズンドコしたくなったので、Operator SDKのAnsible operatorを使って、KubernetesクラスタでズンドコキヨシするZundoko Ansible Operatorを作った話し。 Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから 「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた — てくも (@kumiromilk) 2016年3月9日 書いたものはGitHubに置いた。 なお、これはKubernetes Advent Calendar 2020 その2の20日目の記事です。 Kubernetes Operatorとは KubernetesのOperatorというのはCoreOS社(現Red Hat)によって提
Ansibleのyum module:各state(present,installed,latest,absent,removed)の違いAnsible Ansibleでyum moduleを使っていたときに少しハマったのでメモします。 yum - Manages packages with the yum package manager — Ansible Documentation yum moduleとは その名の通り、RedHat系で利用されるパッケージ管理システムを利用してプロビジョニングを行うためのモジュールです。 このmoduleを利用して、パッケージをインストールしたり削除したりします。 各stateの一覧と意味 公式ドキュメントの state 欄にも Whether to install (present or installed, latest), or remove
Ansibleユーザーのコミュニティミートアップ「Ansible Night」がオンラインで開催されました。今回は、Ansibleの最新技術キャッチアップとあわせて、Ansible利用時にやらかした話、ハマった(けどこうやって解決した)話を共有する場となりました。じろ氏は、Ansible SaaS運用で起こった事故について発表しました。 自動化の環境はAWSで動くWebシステム じろ氏:「本当にあった怖い話 Ansible SaaS運用編~大いなる力には大いなる責任が伴う~」というタイトルで、じろが発表します。よろしくお願いします。 最初に、これは実際にAnsibleを使って起きた事故です。本当にすごくしょうもない事故ですが、今のところ有効な再発防止策がないので、もしいい案があればハッシュタグ付きでツイートしてもらえたらと思います。そのあと、私が起こしたわけではありませんが若干脚色して話そ
業務で Ansible を使い始めたので、プライベートの Ubuntu マシンも Ansible で環境構築中です 公式サイトでの手順を Ansible のお作法にのっとって書き直しただけですが、無事にインストールできました🎉 【参考】 https://docs.docker.com/install/linux/docker-ce/ubuntu/ https://docs.docker.com/compose/install/ https://gist.github.com/rbq/886587980894e98b23d0eee2a1d84933 前提 Ansible Roles を使用 sudo のパスワードは別途指定が必要 Docker/docker-compose のバージョンを固定したい場合はそれぞれ追加の指定が必要 できたもの --- - name: Add docker GP
これは Ansible Advent Calendar 2020 (Adventar版) の 14日目の記事です。 はじめに 現在、コミュニティ版としての 最新安定版は Ansible 2.10 系です。 もともとのロードマップでは、Ansible 2.10 系 の次は Ansible 2.11 系でした。ですが先月、2.10 系の次は 3.0.0 になる予定、との情報が入ってきまた。 [2021/04/27 追記] ansible-core 2.11 がリリースされました。こちらは Ansible Community Package の コアの位置するもので、ansible-base 2.10 の後継です。関係については公式ブログの記事をご参照ください。 簡単にですが、この記事では Ansible 3.0.0 のリリースについての情報をまとめます。 Ansible 3.0.0 ってなに?
みなさんこんにちは。レッドハットの杉村です。Ansible のテクニカルサポートをしています。 毎月何か書くはずだったのですが2月はとても時間が過ぎるのが早く、結局28日の夜になりました。 今回は Ansible Tower のアップグレードについてお話します。 Ansible Tower のライフサイクル 最近は5月と11月にリリースが出て、1年半後にEOL(End Of Life)となる流れが続いています。いま最新版の3.8については、2年間サポートするものとなりました。3.x 系としての最終版となることが予定されています。 access.redhat.com 3.6 は5月にEOLとなってサポートを提供できなくなります。以前の記事にも書きましたが、3.7 ではアーキテクチャを刷新して大きくパフォーマンスの改善が行われましたので、まだお使いのお客様には少しでも早くバージョンアップをご検
インフラをコードとして定義し(Infrastructure as Code : IaC)、インフラの構築や運用を自動化する取組が多く行われています。IaC を実現するためには、そもそも IaC に対応しているインフラを用意する必要があります。クラウド環境においては、 IaC を実現するためのツールが既に提供されています。例えば、AWS では CloudFormation を使うことで、yaml 形式で記載された構成情報から、AWS のリソースを自動構築することができます。 そこで、オンプレミスのサーバーとネットワークがある環境でもクラウドと同じようにインフラをコードとして定義し、管理できる環境を構築しました。 何を出来るようにしたか オンプレに用意した GitLab にネットワークの構成情報が書かれた yaml ファイルを git push すると、自動的に Cisco Nexus 900
Ansibleコンテナ オフライン環境でAnsibleを構築する必要があったのですが、必要なパッケージやらを全部かき集めて作るのは大変ですね。 全部Dockerに放り込んでしまえばいいのでは?ということで、PythonのDockerコンテナをベースにAnsibleをコンテナ化しました。 ちなみに、Offcialでansible/ansibleというコンテナイメージがありますが、これはAnsible自体のテスト環境として用意されているものであり、Ansibleが入っているわけではありません。 ansible/ansible Images for automated testing of Ansible. They do not include Ansible and are not for end users. レポジトリ 以下のレポジトリに登録してあります。 satken2/ansible
目標 Ansibleとは インストール Ansibleの構成 設定ファイル(ansible.cfg)の作成 インベントリ(hosts)の作成 プレイブック(ubuntu-provisioning.yml)の作成 Roleの作成 必要なパッケージのインストール fishの設定 実行 最後に 参考 目標 Ansibleを使ってUbuntuの環境を最低限構築します. 構築する環境はだいたい下のような感じ. Git fish Docker Ubuntu20.04はインストール済みということにします. Ubuntu20.04では最初からPython3.8がインストール済みなので新たにインストールする必要はありません. Ansibleとは Python製の構成管理自動化ツールです. 今回はローカルで個人利用のPCの初期設定に用いましたが,本来は多数のサーバを一括でセットアップしたりするのが目的のツール
おはようございます。レッドハットでAnsibleのテクニカルサポートエンジニアをしている八木澤(ひよこ大佐)です。 Ansible Towerをインストールする際は、各種リポジトリから依存パッケージをダウンロードする必要があります。Ansible Towerのインストールパッケージには依存パッケージが同梱されていないものと、同梱されているもの(Bundle)があります。 しかし、Bundle Installerを利用してもすべてのパッケージが同梱されているわけではありません。一部のパッケージはリポジトリからダウンロードする必要があります。 通常は問題ありませんが、Ansible Towerを外部ネットワークから遮断した環境でインストールしたい場合には、別途オフライン用のリポジトリを用意するなどの追加手順が必要となります。今回はその手順を、本記事執筆時点(2020年5月22日)での最新版であ
みなさんこんにちは。レッドハットの杉村です。Ansible のテクニカルサポートをしています。 本日は Red Hat Ansible Automates 2021 Japan Day 1 が開催されています。多数の方にご参加いただいているとお聞きしています。ありがとうございます。 www.redhat.com 今回は最近よくお問合せをいただく Collections の使い方について紹介します。 Collections とは Ansible では多くのモジュールがありましてリリースを重ねるごとにどんどん数も増えてきまして 3000を超えてしまい、一緒に配布することにさまざまな限界が出てきてしまいました。 2.8 〜 2.9 頃から本体と分けて Collections として切り出すことにより、開発ベンダーやコミュニティは独自に開発や配布を進めることができ、品質の向上や利用者の利便性を高め
Ansibleを使ってVMware vSphereの検証環境を自動で作れるか試してみました。 やりたかったこと VMwareの検証環境を準備するには、vCenter Server Appliance(VCSA)をデプロイしたりESXiインストールしたり色々と大変です。 作ったコードの動作確認用として、vCenter Simulatorがあるのですが、シミュレーター側に実装されているところまでしかテストできなかったのが課題でした。 そこで、今回はVCSAとネストしたESXiのVMのテンプレートを作っておきAnsibleを使って自動でVCSAとESXiの展開から登録までやってみました。 イメージは以下の図のようなことをします。
はじめに set_fact モジュールは、Playbook 内のタスクとして、新たな変数を定義できるモジュールです。 便利といえば便利なのですが、プログラムでいう変数の代入のようなことをタスクで実現させるには、少々大げさに感じることがあります。 set_fact モジュールにしかできない変数の定義方法もありますが、簡単な定義であれば他の方法でも定義できます。 この記事では、他の方法を検討するためのポイントをご紹介します。 前提 (set_fact を利用する場合) 以下のような Playbook をベースに考えます。set_fact モジュールで、test_var 変数を定義し、その値を debug モジュールで表示するという簡単なものです。 - hosts: localhost gather_facts: no tasks: - name: set_fact set_fact: test
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く