機能 #141
完了サーバのプロビジョニング自動化について検討
0%
説明
現状では VM/CT の作成を Proxmox VE の web UI 上で行い、これに対して初期セットアップスクリプトを実行して最低限の設定を SSH 経由で流し込み、それを ansible で管理している。
(初期セットアップスクリプトは SSH のポート変更と開放等、 ansible を使う前に必要な最低限の設定だけを行うもの。)
これだと VM/CT インスタンスの柔軟な増減が難しいが、そうは言っても ansible でプロビジョニングもそれはそれで面倒。
たとえば最初の playbook で VM/CT の作成・削除や設定適用を行い、次の playbook でその中身にログインしつつセットアップをするといった二段構えでやる必要があるため、 playbook や role の構成 (さらには変数等の設定の構成) が面倒になる。
また、インスタンスを動的に増減させるということは、 IP アドレスや VM/CT ID の管理や割り当てについても更なる効率化や自動化が必要になるということでもある。
たとえば CI の worker node を増やすために毎度 IP アドレスと VM/CT ID を指定するような面倒なことはしたくないので、空いているもので他と競合しなそうなものを勝手に使ってほしい。
このような面倒があるため、まず本当にプロビジョニングを自動化すべきかを考える必要がある。
たとえば LXC CT で必ずしもセットアップを全自動化できるとは限らず (TurnKey Linux の初期設定が事実上インタラクティブな TTY を要求するなどもある)、そうでなくとも cloudinit 系の利用経験もない。
Proxmox VE の web UI も十分に使いやすいもので、インスタンスを作るところは API を叩くスクリプトで自動化可能のはずだから、敢えて ansible に任せる必要があるかも微妙かもしれない。
nop_thread さんが約1年前に更新 · 編集済み
TurnKey Linux の自動化面倒話: https://mastodon.cardina1.red/@lo48576/111489577870833822
結局セットアップ自動化はうまくいかなかった。
nop_thread さんが12ヶ月前に更新
最近 ansible の羃等性の扱いに大いに不満がある。
羃等性のコンセプト自体には大いに賛同するところだが ansible でのモデル化と実際の実装があまりに微妙なのではないかという気がしているので、そのうち自分で何か書くかもしれない。 (などと考えて手を動かさなかったことがこれまで何度あったことか……)
nop_thread さんが10ヶ月前に更新
- ステータス を 新規 から 中止 に変更
mitamae を試してみたが結局満足できなかった。
hocho apply
(sorah/hocho: Hocho: Run Itamae easily with host inventory)で sudo を要求されて萎えた (https://mastodon.cardina1.red/@lo48576/112468588189033840)。
当面はシェルスクリプト&手作業によるセットアップと ansible によるメンテナンスでやっていこうと思う。