zaki work log

作業ログやら生活ログやらなんやら

Ansible

[Ansible] packageモジュールでパッケージインストールする

Ansibleモジュールの一覧をなんとなく眺めていたらpackage – Generic OS package managerという汎用的なパッケージ管理モジュールみたいなものを見つけたので、yumやaptと違ってプラットフォームに依存しないパッケージインストールができるのかなーと思って…

Ansibleのyum_repositoryモジュールを使ってyumインストール用のリポジトリを追加する

/etc/yum.repos.d/以下の設定ファイルをAnsibleを使って作成する方法。 ドキュメント yum_repository – Add or remove YUM repositories — Ansible Documentation お題 zaki-hmkc.hatenablog.com このクライアント側のyum設定 playbook --- - hosts: localho…

playbook内にAnsible実行時に使用する環境変数を定義する

※ 1/29: コピペミスで記述位置が同じになってたので修正しました environmentを使う。 PYTHONPATH = /usr/lib/python3.6/site-packagesという環境変数を定義するのであれば、 1. playに書く場合 - hosts: localhost gather_facts: False environment: PYTHON…

expectモジュールを使ったAnsibleでの対話式のプログラム実行の呼び出し

対話式のプログラムなんかをAnsibleで実行したい場合はexpectモジュールを使用する。 なお、以下のライブラリが追加で必要 pexpect >= 3.3 システムにインストールされていないとエラーになる。 ※ インストールが必要なのはコントロールノードでなく、ターゲ…

Python Versionが2.7なAnsibleでpython3をinterpreter_pythonで指定する場合のライブラリ参照

良い感じのタイトルにならない CentOS7やRHEL7にyumを使ってAnsibleをインストールすると、Python2系を使う構成のAnsibleがインストールされると思います。 ↓のpython versionの部分。 $ ansible --version ansible 2.9.2 config file = /home/zaki/ansible/…

マルチノードOpenShift Origin(OKD) 3.11 with NFSをmetrics/logging込みでCentOS7へインストール

検証用なので軽めの構成になってます。 本当はRed Hat Forum Tokyo 2019終わってすぐ、遅くとも12月中旬にはまとめたかったけどずいぶん遅くなってしまった。。 バージョン3.11なので旬は過ぎてますが、仕事(Enterprise版だけど)で3.11お守してるのと、tech …

ansible-vaultで暗号化

ansible-vaultを使ったインベントリの暗号化について、ざっくりとお試し。 初期状態 ファイルの暗号化と復号 暗号化ファイルの新規作成 既存ファイルの暗号化 暗号化されたファイルの中身を確認する 暗号化されたファイルを編集する ファイルを復号する 値の…

Ansibleのドキュメント検索とGitHubアクセスをサポートするChrome拡張"usansible"を作ってみた

qiita.com Advent Calendarのネタとして、Chrome拡張開発にちょっとチャレンジしてみました。 拡張はこちらです。 chrome.google.com 公開するまで「既存に同じことするツール類あったらどうしよう…」と思ってましたが、色んな方に便利とコメントいただいた…

Ansibleの呼吸 肆ノ型 フィルター芸「0,1反転」 ワンライナー編

元ネタです qiita.com 別解編 tekunabe.hatenablog.jp qiita.com ということで、私も試してみました。 フィルター + ansibleアドホックコマンドでワンライナー編 $ cat before_number.txt 001010101010101010010101 111000101010100111010011 10000101010000…

Ansibleを使えるようにするための準備 (既存のLinuxマシンなど対象に)

Ansible Advent Calendar 2019の16日目の記事としてQiitaにアップしました。 qiita.com Ansibleを使えるようにするために必要なSSHの公開鍵認証とsudoの設定の手順と、それもAnsibleでやるにはどうするか、という内容です。

マルチノードOpenShift Origin (OKD) 3.11のコンテナレジストリのpv(NFS)を有効にしたデプロイ

OpenShiftのデプロイに必要なAnsible関連のファイルの取得方法と、コンテナレジストリをNFSのpvで利用する設定とデプロイについて。 ここではHawkularはまだ入れてないです。 deploy_clusterで初期デプロイ時にpvを有効にすると、ちょっとしたハマりポイント…

Ansibleアドホックコマンドとyumモジュールで対象全サーバのパッケージを最新に更新する

$ ansible all -i inventory.ini -b -m yum -a "name='*' state=latest" おわり。 これでインベントリに書いた全てのサーバでyum updateが実行される。 もしパスフレーズ無しの公開鍵認証設定がされてない場合(パスワード認証する場合)は-kも追加 特権実行の…

Ansibleのtag機能とalways/neverタグについて動作確認してみた

Ansibleのtagの機能は一応知ってはいたけど使ったことがなく、alwaysとneverはその存在を知らなかったので試してみた。 というのも、よこちさんが「タグで指定されない限り実行されないタスクって定義できるかな?」とツイートしたとき、ピタゴラスイッチで…

Ansibleで trick or treat🎃

Ansibleのwhenの制御構文条件指定、あまり得意ではない(あまり使わないから)ので思い付きでいろいろ試してみた! --- - hosts: localhost tasks: - debug: msg: Happy Halloween when: trick or treat

CentOS7のIPv6無効をAnsibleで設定する・おまけ:sshをIPv4で動かす

- hosts: localhost become: true tasks: - name: disable ipv6 sysctl: name: '{{ item }}' value: '1' with_items: - net.ipv6.conf.all.disable_ipv6 - net.ipv6.conf.default.disable_ipv6 こんな感じ

ansible-playbook実行時のタスク毎の実行時間を表示する

タスクごとの実行時刻と統計を表示するcallback_whitelist = profile_tasksを試す。 元ネタはOpenShiftのデプロイ用Ansibleのansible.cfgから。 こんな感じ

[Ansible] deprecatedになってるvsphere_guestを使ってESXi上でVMを自動生成する

10/15 21時追記: タイトルと、"はじめに"部分を大きく修正 Ansibleを使ったESXiでのVM作成などを行うモジュールがいくつかあり、deprecatedなのを承知でvsphere_guestを使ってみたときの作業手順。 ドキュメントの"DEPRECATED"の項目を見れば明記されてるけ…

Ansibleのアドホックコマンドで複数ホストに対してコマンドをまとめて実行やファイル転送をワンショット実行

最近チームで障害調査の割合が増えだしたのでざっとまとめてみた。 ansibleコマンドを使って複数ホストに対して同じ処理を同時に行う。 メンテや障害調査で何十台もあるホストに同じコマンド実行したりログ収集したり。 普段はansible-playbookで作成したpla…