プロジェクト

全般

プロフィール

機能 #141

完了

サーバのプロビジョニング自動化について検討

nop_thread さんが約1年前に追加. 10ヶ月前に更新.

ステータス:
中止
優先度:
通常
担当者:
開始日:
期日:
進捗率:

0%

一時中断:
いいえ
pinned:
いいえ
リマインド予定日:
前回確認日:
2024/05/26
管理外残件あり:

説明

現状では 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 に任せる必要があるかも微妙かもしれない。

他の形式にエクスポート: Atom PDF