LoginSignup
13

More than 5 years have passed since last update.

VagrantとCoreOSでkubernetesをMacで使ってみる ①環境構築編

Last updated at Posted at 2016-08-12

今回使用した環境は下記の通りです

  • OSX El Capitan ver.10.11.6

必要なもの

  • curl
  • git
  • Homebrew-cask
  • Vagrant
  • VirtualBox
  • CoreOS
  • Kubernetes

Vagrantの導入

Vagrantは仮想マシンの構築と共有をコマンドや定義ファイルを使って簡単に行うことができるツールで、VirtualBox、VMWare上に仮想マシンを複数同時に構築し、必要な設定をすべて行った上で起動できたりします。

①VagrantはHomebrew-caskを使ったインストールがオススメです。

Homebrew-caskを導入してない場合は先に導入します。

$ brew install caskroom/cask/brew-cask

②Vagrantをインストールします。

$ brew cask search vagrant
==> Exact match
vagrant
$ brew cask install vagrant

※serchでvagrantが出ることを確認できない場合はDownload Vagrant - Vagrantからダウンロードしてインストールしてください。

③VirtualBoxをインストールしていない場合は、この段階でインストールをします。

$ brew cask install virtualbox

※VirtualBoxをインストールされている方は最新版にアップデートしてください。

CoreOSでクラスタ構築

今回は手元に必要最低限のクラスタを簡単に構築するためにメンテナンスがよくされているMulti-node cluster using cloud-config and Vagrantを使います。

①リポジトリをクローンしてmasterを1台、nodeを2台構築します。

$ git clone git://github.com/pires/kubernetes-vagrant-coreos-cluster.git
$ cd kubernetes-vagrant-coreos-cluster
$ vagrant up master node-01 node-02

※途中で管理ユーザーのパスワードを求められる場合があります。

②きちんと仮想マシンが構築されて起動されているか確認をします。

$ vagrant global-status
id       name    provider   state   directory
----------------------------------------------------------------------------------
91a29ff  master  virtualbox running /Users/user/kubernetes-vagrant-coreos-cluster
0c1207e  node-01 virtualbox running /Users/user/kubernetes-vagrant-coreos-cluster 
0cd28e4  node-02 virtualbox running /Users/user/kubernetes-vagrant-coreos-cluster 

3つのマシンが全てrunningになっていることを確認してください。
確認できたらVagrant ssh-configの設定をしておくと楽なので、設定しちゃいましょう。

$ vagrant ssh-config >> ~/.ssh/config
ここまで出来たら、$ cd ~/で1度ユーザーのルートディレクトリに戻ります。

kubernetesを準備

①kubernetesを操作するためのCLIである、kubectlをインストールします。

$ curl -k -o kubectl https://kuar.io/darwin/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

②kubernetesをGitからMacに持ってきます。

$ git clone git://github.com/GoogleCloudPlatform/kubernetes.git

③最後にnodeの確認をしてみます。

$ kubectl get nodes
Name           STATUS    AGE
172.17.8.102   Ready     1d
172.17.8.103   Ready     1d
2つのnodeの確認とSTATUSがReadyになっっていることを確認できたら、環境構築は完了です。お疲れさまでした!

サンプル実行編はこちら

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
13