Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Cloud-initのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Cloud-init
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:Virtualization]] [[Category:Networking]] [[en:Cloud-init]] Cloud-init はクラウドのインスタンスを最初に初期化するためのユーティリティからなるパッケージです。[[OpenStack]] や [[AWS]] などのクラウドで起動するための Arch Linux イメージに入れる必要があります。 == インストール == [[公式リポジトリ]] から {{Pkg|cloud-init}} をインストールします。 == 設定 == クラウド用の Arch のイメージを準備するためには、いくつかのステップが必要になります: * デフォルトユーザーを作成する。このユーザーでインスタンスにログインすることになります。ここでは {{ic|arch}} というユーザーを作成します。 * sudo をインストールし、デフォルトユーザーを sudo グループに追加します。これでスーパーユーザーとしてコマンドを実行できるようになります。 * デフォルトユーザーがパスワードなしで sudo できるようにします。 * インスタンスのメタ情報を引き出せるように cloud-init を設定します。以下のことが含まれますが、これだけに限られるわけではありません: ** {{ic|hostname}} をセットする ** {{ic|resolv.conf}} をセットする ** デフォルトユーザーの {{ic|~/.ssh/authorized_keys}} をセットする cloud-init のメイン設定ファイルは {{ic|/etc/cloud/cloud.cfg}} です。{{ic|/etc/cloud/cloud.cfg.d}} に {{ic|*.cfg}} ファイルを 置くと、これらも読み込まれます。 === デフォルトユーザーの設定 === {{ic|/etc/cloud/cloud.cfg}} を編集して以下のようにします: users: - default これによって {{ic|system_info}} > {{ic|default_user}} のユーザーがデフォルトユーザーになります。 system_info: distro: arch default_user: name: arch lock_passwd: True gecos: Arch groups: [adm, audio, cdrom, dialout, dip, floppy, netdev, plugdev, sudo, video] sudo: ["ALL=(ALL) NOPASSWD:ALL"] shell: /bin/bash {{ic|system_info}} の中でディストロを "arch" と指定しています。これによって設定に {{ic|arch.py}} が使われるようになります。さらに以下の設定をしています: * デフォルトユーザーの名前を {{ic|arch}} にする * デフォルトユーザーのパスワードをロックする。これによって起動時に設定した SSH 鍵なしにログインできなくなる。 * デフォルトユーザーをグループ {{ic|adm}}, {{ic|audio}}, {{ic|cdrom}}, {{ic|dialout}}, {{ic|dip}}, {{ic|floppy}}, {{ic|netdev}}, {{ic|plugdev}}, {{ic|sudo}}, {{ic|video}} に追加する * デフォルトユーザーをパスワードなしで sudo できるようにする * デフォルトユーザーのシェルを {{ic|/bin/bash}} にする === root でのログインを禁止する === {{ic|/etc/cloud/cloud.cfg}} で次のように指定します: disable_root: true また、root ユーザーのパスワードを削除することもできます: # passwd -d root 前のセクションでの設定が正しく動作することを確認できていない限り、これは実行しないでください。そうしないとインスタンスから完全に閉めだされてしまいます。 === データソースの設定 === データソースは、起動時にどのようにインスタンスのメタ情報を引き出すかを定義します。これはどのクラウド (OpenStack, AWS, OpenNebula など) を使うかによります。内部では、これは共通のインターフェイスで定義されたいくつかのメソッドを実装しているモジュールに対応します。{{ic|/etc/cloud/cloud.cfg}} を編集して以下のようにしてください: datasource_list: [ NoCloud, ConfigDrive, OpenNebula, Azure, AltCloud, OVF, MAAS, GCE, OpenStack, CloudSigma, Ec2, CloudStack, None ] これによって、インスタンスのメタ情報をダウンロードするときにどのモジュールを使うかを指定します。状況に応じて、以下のように各データソースごとのパラメータを渡すこともできます: {{bc|<nowiki> datasource: OpenStack: metadata_urls: [ 'http://169.254.169.254:80' ] dsmode: net </nowiki>}} 上記の設定は、OpenStack データソースの場合に {{ic|<nowiki>http://169.254.169.254:80</nowiki>}} からメタデータをダウンロードするようにし、ネットワーク初期化の後に実行させるようにします。これはどちらもデフォルトの挙動であり、省略できます。 == cloud.cfg の他のセクション == {{ic|cloud.cfg}} には他にもいくつかのセクションがあり、 {{ic|cloud_init_modules}}, {{ic|cloud_config_modules}}, {{ic|cloud_final_modules}} などを含んでいます。これらはインスタンス初期化の各ステージにおいて実行されるモジュールを定義しています。 これらのモジュールは {{ic|/usr/lib/python2.7/site-packages/cloudinit/config/}} から動的にロードされ、起動時に実行されます。 独自のモジュールを定義して、毎回の起動時に例えば次のようなことをさせることもできます: * ディスクをリサイズする * パッケージをアップデートする == Systemd との統合 == cloud-init は4個の systemd サービスと1個の systemd ターゲットを提供します。これらが以下の順番で起動するように依存関係が構築されます: * {{ic|cloud-init-local.service}}。ファイルシステムが立ち上がっていることを要求するだけ。{{ic|cloud-init init --local}} を実行する。 * {{ic|cloud-init.service}}。ネットワークが起動することを要求する。{{ic|cloud-init init}} を実行する。 * {{ic|cloud-config.target}}。Corresponds to the cloud-config upstart event "to inform third parties that cloud-config is available" * {{ic|cloud-config.service}}. {{ic|cloud-init modules <nowiki>--mode=config</nowiki>}} を実行する。 * {{ic|cloud-final.service}}. {{ic|cloud-init modules <nowiki>--mode=final</nowiki>}} を実行する。 [[Arch_Linux_AMIs_for_Amazon_Web_Services|Uplink Labs EC2 images]] は上記の全てを有効にしています。もっともこれは依存関係のせいでやりすぎになっているようですが。
このページで使用されているテンプレート:
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
Cloud-init
に戻る。
検索
検索
Cloud-initのソースを表示
話題を追加