2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[10分チャレンジ]瞬殺!さくらのクラウドでDC/OSを動かすよ!

Last updated at Posted at 2016-05-31

はじめに

DC/OS使ってますか?

最近ではTechNet:マイクロソフトが新規 DC/OS オープン ソース プロジェクトに参加
先日のde:code2016でのセッションなど何かと話題ですね!

このビックウェーブに乗っかろうと思い、インストールを試みたのですが、、ちょっと大変でした。
ローカルならvagrant、クラウド上でならAWSやAzure、DigitalOceanなどですぐに動かせる環境があるのですが、

  • vagrantだと重すぎ
  • クラウドだと、どれくらいのお値段かかるのかよくわからない
  • 将来的に自分で細やかに物理ノードを制御したい

という思いがあったため、さくらのクラウドに環境作りました。
インストールにはTerraform for さくらのクラウドを使うことで、10分ほどで環境構築ができてしまいます。

さくらのクラウドならクーポンお持ちの方も多いかと思いますし、
日本語使える、料金アラートも設定できるので安心ですよね!

なお、 タイトルはちょっと釣り気味です。
前提条件を満たすことを考えるともうちょっとかかるかもしれません。
そこはまあご容赦ください。

DC/OSの詳細なインストール手順はこちらです。合わせて一読ください。

サーバー環境:料金(198円/時間)

  • Bootstrapノード(2コア4GBメモリ) : 41円/時間
  • Masterノード(4コア8GBメモリ) : 65円/時間
  • Agentノード(2コア4GBメモリ) * 2台 : 41円/時間 * 2
  • スイッチ : 10円/時間
  • SSHキー : 0円

合計で 198円/時間ですね。
2万円クーポン使えば余裕ですね:bangbang:

2016/6/1追記:スイッチ分を入れ忘れていたため修正

前提条件

  • Terraform for さくらのクラウドが使えること
  • Gitが使えること

Terraform for さくらのクラウドについては以下の記事を参考に使えるようにしておいてください。

Terraform for さくらのクラウド スタートガイド

さくらのクラウドのAPIキーは以下のように環境変数に設定しておいてください。

APIキーを環境変数に設定
export SAKURACLOUD_ACCESS_TOKEN="取得したAPIトークン"
export SAKURACLOUD_ACCESS_TOKEN_SECRET="取得したAPIシークレット"

gitは参考サイトなど多数あると思いますので、適宜インストールしておいてください。
なお、以下ではMac(OSX)で作業しています。
Linux/Windowsで作業する場合は適宜読み替えてください。

手順

以下順次実施すればOKです

    1. Terraform用に定義ファイル類をGithubから取得
    1. SSHキーペア生成
    1. terraform実施

1) Terraform用に定義ファイル類をGithubから取得

tfファイル取得
$ git clone https://github.com/yamamoto-febc/dcos-on-sakuracloud.git
$ cd dcos-on-sakuracloud

上記リポジトリは以下リンクからも参照できます。
GitHub:dcos-on-sakuracloud

2) SSHキーペア生成

sshキーペア生成
$ ssh-keygen -C "" -f keys/id_rsa

3) terraform apply実施

terraform実行
$ terraform get    # tfファイル内で使っているモジュールの取得
$ terraform plan   # 実行内容の確認
$ terraform apply  # 実行

DC/OSダッシュボードを開く!

インストールできましたか?
terraform applyの最後にダッシュボードのURLが表示されていますのでブラウザで開いてみましょう。

output.png

もしウィンドウを閉じてしまったなどの場合は以下のコマンドで再表示できます。

ダッシュボードURL再表示
$ terraform output

ログイン画面

ブラウザで開くと以下のような画面になると思います。

login.png

Google/GitHub/MicrosoftいずれかのアカウントでOAuthログインします。
なお、初回は OAuthできれば誰でもログイン出来ちゃいます。
(初回ログイン時に管理者として登録され、他のユーザーがログイン出来なくなるみたいです)
なるべく早くログインしましょう。

ダッシュボード画面

ログイン出来ましたか?
以下のような画面が表示されるはずです。

dash1.png

後はどんどん動かしてみるだけです。

画面サンプル

dash2.png

dash3.png

dash4.png

かっこいいUIですよね!私もこれからガンガン使い倒す予定です!

なお、この構成はスペックが若干低めです。
tfファイルの編集で調整できますので以下のスペックの調整を参考にしてください。

おまけ

スペックの調整

variables.tfを編集してください。

variables.tf
variable "private_ip" {
    default = {
        "bootstrap" = "192.168.2.11"
        "master01" = "192.168.2.101"
        "agent01" = "192.168.2.201"
        "agent02" = "192.168.2.202"
    }
}

variable "spec" {
    default = {
        # Bootstrapノード
        bootstrap_core = 2
        bootstrap_memory = 4
        
        # Masterノード
        master_core = 4
        master_memory = 8
        
        # Agentノード
        agent_core = 2
        agent_memory = 4
    }
}

作ったサーバーへのSSH接続

Terraformのoutputを利用してSSH接続情報を表示できます。
以下のコマンドで表示されるコマンドをコピペで実行できます。
$()やバッククォートで直接実行してもOKです。

$ terraform output

SSH.png

直接実行する場合は以下のような感じですね。

直接SSHコマンド実行
$ $(terraform output ssh_bootstrap) # Bootstrapノード
$ $(terraform output ssh_master01)  # Masterノード
$ $(terraform output ssh_agent01)   # Agentノード(01)
$ $(terraform output ssh_agent02)   # Agentノード(02)

後片付け

使い終わったらterraform destroyしておきましょう。
どうせ環境構築は10分もかからないのですから、
お試し/調査の場合は使う度に作ったほうが料金的に安心ですよね!

本日は以上です。Enjoy:bangbang:

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?