postgresql_user

使用 postgresql_xxx 的模組存取 Postgresql 資料庫時,一般會需要切換為 postgres 使用者來進行操作。在 Ansible 可以怎麼去做呢? ...

June 5, 2022 · 1 min · 323 words · elleryq

小技巧 - 取得字串中指定的部份

有些時候,會需要取得字串中的某個部份來使用,這時候可以怎麼做呢? ...

May 14, 2022 · 2 min · 670 words · elleryq

RHEL 8.6 與 9.0 以後的 Ansible

前兩天是 Red Hat Summit,Red Hat 也趁勢公佈了一個消息: Updates to using Ansible in RHEL 8.6 and 9.0 ...

May 13, 2022 · 1 min · 360 words · elleryq

如何使用debug模組

debug 模組的用途,顧名思義就是除錯用的,一般用來在 playbook 裡列印變數內容,或是指定的訊息。在預設的情況下,模組只會有狀態的輸出, 像是 changed, ignored 等等的,使用 debug 模組,就可以印出變數內容或者是運算式的結果。基本上就把他想做是 bash 裡的 echo,或是 python 裡的 print。 ...

April 29, 2022 · 1 min · 252 words · elleryq

分析任務執行時間

在遇到執行 playbook 花費較多時間的情況時,該怎麼去進行分析,找出執行效能瓶頸呢? 在 ansible-core 2.15 版以前,可以在 ansible.cfg 裡加上 callback_whitelist = profile_tasks 來進行分析。 在 ansible-core 2.15 版以後,就強制要使用新的設定 callback_enabled = profile_tasks 了。 ...

April 18, 2022 · 1 min · 425 words · elleryq

Rundeck 的 Ansible 整合

我最早是用 Jenkins + Ansible 來執行 Playbook ,後來才用 AWX/Ansible Tower。最近在 Reddit 上看到有人介紹 Rundeck,想說來試用看看。 在 Rundeck 的文件裡,就有教學文章了:Rundeck and Ansible integration ...

April 3, 2022 · 2 min · 821 words · elleryq

ansible_user 與 remote_user 的差異

有同事問我這兩個變數的差異在哪裡? 我查了之後才知道,其實是一樣的。這部份可以在 ansible 原始碼裏面看到。 ...

March 27, 2022 · 1 min · 146 words · elleryq

Windows-取得本機帳號清單

在 Windows 要取得本機帳號清單,Ansible 沒有這樣的模組,只能透過 win_shell 或 win_powershell 來達成。 PowerShell 要使用的指令是 Get-LocalUser 。 ...

March 11, 2022 · 1 min · 317 words · elleryq

將 List 轉置為 dict 的 list

需求是這樣子的,需要把 List 裡的元素轉置為 dict,再放到 List 裡。 也就是 my_users: - aaa - bbb - ccc 要轉換為 my_users: - Name: aaa - Name: bbb - Name: ccc 用 Ansible 該怎麼做呢?看這篇:Using filters to manipulate data 看了好久,都沒找到適合的 filter… ...

February 25, 2022 · 1 min · 227 words · elleryq

最簡單的 git server

一般來說,Ansible Playbook 要讓 Ansible Tower (或新的名字 Ansible Automation Controller) 或 AWX 使用,有幾種方式: 放在 Ansible Tower / Ansible Automation Controller / AWX 的主機裡,這樣的作法是最簡單,但若需要放新的 playbook 進去,勢必要使用 SSH 登入,然後才能處理。 放在 git server,這是 Best practice,一來 playbook 的變更有紀錄可循,二來也能很方便的取用。但缺點是需要架設 git server,這時候就會自建 gitlab、gitea 或是放在外部的 github、gitlab 。 這裡要介紹一種方式,是我突然想到的,也是我之前忽略的。 git server 本身只要有 SSH server ,其實就可以了,無需額外架設。架設的方法可以參考 Setting up the server 以下紀錄如何進行 ...

February 15, 2022 · 2 min · 738 words · elleryq