ニフティクラウド上でのCoreOSの起動

事前にニフティクラウド CLIをインストールする必要があります。These instructions are also available in English.

Cloud-config

CoreOSはcloud-configにより、マシンのパラメータを設定したり、起動時にsystemdのunitを立ち上げたりすることが可能です。サポートしている機能はこちらで確認してください。cloud-configは最小限で有用な状態にクラスターを立ち上げることを目的としており、複数のホストで共通ではない設定をするためには使うべきではありません。ニフティクラウド上では、cloud-configはサーバーの起動中に編集でき、次回起動時に反映されます。

ニフティクラウドCLIを使ってcloud-configを設定することができます。

最も一般的なcloud-configは下記のようなものです。

 #cloud-config

coreos:
  etcd2:
    # generate a new token for each unique cluster from https://discovery.etcd.io/new?size=3
    # specify the initial size of your cluster with ?size=X
    discovery: https://discovery.etcd.io/<token>
    # multi-region and multi-cloud deployments need to use $public_ipv4
    advertise-client-urls: http://$private_ipv4:2379,http://$private_ipv4:4001
    initial-advertise-peer-urls: http://$private_ipv4:2380
    # listen on both the official ports and the legacy ports
    # legacy ports can be omitted if your application doesn't depend on them
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://$private_ipv4:2380
  units:
    - name: etcd2.service
      command: start
    - name: fleet.service
      command: start
CoreOS cloud-configs can validated using the online validator.

$private_ipv4$public_ipv4という変数はニフティクラウド上のcloud-configでサポートされています。

チャンネルの選択

CoreOSはチャンネル毎に別のスケジュールで自動アップデートされるように設計されています。推奨はしませんが、この機能は無効にすることもできます。各機能やバグフィックスについてはリリースノートを読んでください。

AlphaチャンネルはMasterをぴったりと追っていて、頻繁にリリースされます。テストのために最新のDockeretcdfleetの利用が可能です。現在のバージョンはCoreOS 1688.0.0です。

$ZONE, $TYPE, $FW_ID and $SSH_KEY_IDを指定し、ニフティクラウドCLIで立ち上げます。

nifty-run-instances $(nifty-describe-images --delimiter ',' --image-name "CoreOS Alpha 1688.0.0" | awk -F',' '{print $2}') --key $SSH_KEY_ID --availability-zone $ZONE --instance-type $TYPE -g $FW_ID -f cloud-config.yml -q POST

BetaチャンネルはAlphaリリースが昇格されたものです。現在のバージョンはCoreOS 1662.2.0です。

$ZONE, $TYPE, $FW_ID and $SSH_KEY_IDを指定し、ニフティクラウドCLIで立ち上げます。

nifty-run-instances $(nifty-describe-images --delimiter ',' --image-name "CoreOS Beta 1662.2.0" | awk -F',' '{print $2}') --key $SSH_KEY_ID --availability-zone $ZONE --instance-type $TYPE -g $FW_ID -f cloud-config.yml -q POST

プロダクションクラスターではStableチャンネルを使用すべきです。CoreOSの各バージョンは昇格されるまでにBetaとAlphaチャンネルで検証済みです。現在のバージョンはCoreOS 1632.3.0です。

$ZONE, $TYPE, $FW_ID and $SSH_KEY_IDを指定し、ニフティクラウドCLIで立ち上げます。

nifty-run-instances $(nifty-describe-images --delimiter ',' --image-name "CoreOS Stable 1632.3.0" | awk -F',' '{print $2}') --key $SSH_KEY_ID --availability-zone $ZONE --instance-type $TYPE -g $FW_ID -f cloud-config.yml -q POST

サーバーの追加

さらにクラスタにサーバーを追加するには、同じcloud-config、適当なファイアウォールグループで立ち上げるだけです。

SSH

下記のコマンドでログインできます。

ssh core@<ip address> -i <path to keyfile>

CoreOSの利用

起動済みのマシンを手に入れたら、遊ぶ時間です。 CoreOSクイックスタートを見るか、各トピックスを掘り下げましょう。