LoginSignup
4
6

More than 5 years have passed since last update.

dcos-cliを利用してKubernetesをインストールしてみる。dcosキャッチアップ

Posted at

やりたいこと

ここらへんでdcos周りについてもろもろ(spark, hdfs, chronos等)に触っていこうと思いました。

hdfsに触ろうとしたのですが、いきなり5ノードくらいをdcosに要求されたので、ひよりました。。
そこで、k8s(1ノードから始められる)をインストールすることで、dcos-cliのキャッチアップとさせていただきました。

mesosphereのコマンドラインツールdcos-cliを利用して、kubernetesインストールしてみました。

参考: https://docs.mesosphere.com/services/kubernetes/


1. dcos-cliをインストールする

すなおにチュートリアル通りに進めました。
プロキシ等ない環境であれば、ものの1,2分で作業は完了します。

$mkdir dcos
$cd dcos
$curl -O https://downloads.mesosphere.io/dcos-cli/install.sh
$bash install.sh <install_dir> <hosturl>

masterノードを設定して、node一覧を出力してみました。

$ cd <install_dir>
$ export PATH=$PATH:`pwd`/bin

$ dcos config set core.mesos_master_url http://*.*.*.*:5050
[core.mesos_master_url]: set to 'http://*.*.*.*:5050'

$dcos node
                    HOSTNAME                          IP                          ID
ip-*-*-*-*.ap-northeast-1.compute.internal  *.*.*.*  *******-****-****-****-************-***

使えるようになってます。

dcos-cli自体を同梱した軽量のDockerコンテナとかあってもいいかな、と少し思いました。
(毎回pipを利用者に打ってもらうのも面倒なため)


2. marathonのアドレスも設定してあげる

dcos-cliのドキュメントを参考にして、ホストとポートを設定します。

$ dcos config set marathon.url http://*.*.*.*:8080
[marathon.url]: set to 'http://*.*.*.*:8080'

3. DCOSのサービス群のrepository情報をdcos-cliで読み込む

dcos-cliを利用して、apt-getの感覚でk8sをインストール可能だが、その前にDCOSのサービス群のrepository情報をgithubから取得してね、とドキュメントにあるので素直に実行してみました。

実行コマンドは以下のとおりです。

$ dcos config prepend package.sources https://github.com/mesosphere/multiverse/archive/version-1.x.zip
$ dcos package update --validate

わらわらといろんなサービス情報がjson形式で落ちてきました。

Updating source [https://github.com/mesosphere/multiverse/archive/version-1.x.zip]
Validating package definitions...
- /H/helloworld/0/command.json
- /K/kubernetes/2/command.json
- /R/riak/0/command.json
- /S/swarm/0/command.json
- /C/crate/0/config.json
- /D/datadog/0/config.json
- /E/elasticsearch/0/config.json
- /E/elasticsearch/1/config.json
- /E/etcd/0/config.json
- /H/helloworld/0/config.json
- ...
- ...
- /H/hdfs/0/package.json
- /H/hdfs/1/package.json
- /H/hdfs/2/package.json
- /H/hdfs/3/package.json
- /K/kafka/0/package.json
- /K/kafka/1/package.json
- /M/marathon/0/package.json
- /M/marathon/1/package.json
- /M/marathon/2/package.json
- /M/marathon/3/package.json
- /M/marathon/4/package.json
- /M/marathon/5/package.json
- /M/marathon/6/package.json
- /S/spark/0/package.json
- /S/spark/1/package.json
- /S/spark/2/package.json
- /S/spark/3/package.json
- /S/spark/4/package.json

hdfs, kafka, hadoop, marathon, cassandra, zeppelinとかも入っているようです。なんでもありですね。。


4. kubernetesをdcospackageコマンドでinstallする

コマンドを実行するだけです。ただ、注意事項として、まだバギーだよ、と出てきます。無視してyesを選択します。

$ dcopackage install kubernetes

In order for Kubernetes to start successfully all resources must be available in the cluster including ports, CPU shares and RAM.

We recommend a minimum of 1 node with 1 CPU share and 1 GB of RAM available for use by the Kubernetes service.

Note that the service is alpha and there may be bugs, including possible data loss, incomplete features, incorrect documentation or other discrepancies.

Continue installing? [yes/no] yes

実行結果は以下のとおりです。

Installing Marathon app for package [kubernetes] version [v1.0.6-v0.6.7-alpha]
Installing CLI subcommand for package [kubernetes] version [v1.0.6-v0.6.7-alpha]
New commands available: dcos kubectl, dcos kubernetes
Kubernetes DCOS Service has been successfully installed!

    Documentation: https://github.com/mesosphere/kubernetes-mesos
    Issues: https://github.com/mesosphere/kubernetes-mesos/issues
    Web UI: <hostname>/service/kubernetes/

5. marathon上で確認してみる

マラソンのアドレスの「http://マラソンホスト:8080」にアクセスすると以下のように表示されます。

スクリーンショット 2015-11-18 18.15.05.png

うまく言ったように見えます。

次回(があれば)このk8s上でなんらかのアプリケーションを動かしてみたいと思います。
あとはhdfsも利用してみたいです。

今日はここまでとなります。dcos-cliお手軽でいいですね。

4
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
4
6