Cocktail Installation to Virtualbox on Mac OS X

MacOSでVirtualBoxを利用して、Cocktailが提供する機能を簡単に確認する場合、以下の手順に従ってインストールする。

事前準備

事前準備は、Cocktail Installationを参照。

インストールする前に、以下のプログラムが予めインストールされていなければならない。インストールされていない場合は、エラーメッセージが発生する。

1) Dockerダウンロード後、インストール

https://store.docker.com/editions/community/docker-ce-desktop-mac

2) Vagrant ダウンロード後、インストール

https://www.vagrantup.com/downloads.html

3) Virtualbox ダウンロード (5.1.x version)

https://www.virtualbox.org/wiki/Download_Old_Builds_5_1

4) SSH private key&public key作成およびユーザー登録

キー作成の場合、以下の項目で詳しく確認できる。

# ssh-keygen -t rsa
# ssh-add id_rsa (ユーザー登録)

1.まずインストールするために、空のディレクトリを作成し、そのディレクトリに移動する

# mkdir /Desktop/virtualbox
# cd /Desktop/virtualbox

2.1. cubeコマンドを使用して、virtualbox用インストールscriptをdownloadし、初期化する。

# cube init -p virtualbox

3.cube.yamファイルをエディタで開き、インストールするVMの情報を書き込む。下記はその一例である。

# vi cube.yaml
---
cloud_provider: "virtualbox"

# (required) Master node ips(comma separated). Example: ["192.168.50.11", "192.168.50.12"]
master_ip: ["192.168.100.11"]

# (required) Worker node ips(comma separated). Example: ["192.168.50.13", "192.168.50.14", "192.168.50.15"]
worker_ip: ["192.168.100.13"]

# (required) Master node vcpu number
master_cpus: 4

# (required) Master node memory size (MB)
master_memory: 4096

# (required) Worker node vcpu number
worker_cpus: 2

# (required) Worker node memory size (MB)
worker_memory: 2048

# (required) Set true if haproxy is required.
haproxy: false

# (conditional) Set load-balancer ip.
lb_ip:

# (required) Absolute Path to an SSH private key file to access server.
private_key_path: "/path/to/ssh_private_key"

# (required) Absolute Path to an SSH public key file to be provisioned as the SSH key.
key_path: "/path/to/ssh_public_key"

# Kubernetes
k8s_version: "1.9.8"
cluster_name: "cube"
domain_name: "acornsoft.io"
addons:
  cm: true
  km: false

# (required) if cocktail service true
nfs_ip: "192.168.100.13"
nfs_mountdir: "/cocktail-nfs"

# Prometheus Rule Language - en, ko, jp
alertmsg_lang: "jp" # monitoring alarmが使用する言語

# cluster id
cluster_id: "unique_clister_id" # clusterの一意の識別子、50文字未満

上記項目で、private_key_pathと key_pathは、それぞれVMにssh keyで接続するためのprivate keyとpublic keyであるため、必ず絶対パスとして書き込む。既に存在する場合は、該当パスを書き込む。新規に作成する場合は、以下の手順で実行する。

< ssh keyの新規発行方法 >

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/cloud/.ssh/id_rsa): /Desktop/cubetest/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/cloud/git/cubedeploy/virtualbox/5/id_rsa.
Your public key has been saved in /Users/cloud/git/cubedeploy/virtualbox/5/id_rsa.pub.
The key fingerprint is:
SHA256:liTKyW/l3eU9+mBzyksL0AKpYXRsvsQ793nWJiUgJC0 [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|     ....        |
|    . .E.o       |
|     o=o=        |
|   o.oo*.o..     |
|    =.. So... .  |
|     . B oo. + o |
|      o + o.o==o.|
|     .     o=+Bo.|
|            o*=. |
+----[SHA256]-----+

4. cube create cube createコマンドを使用し、実際にVMにcocktailをインストールする。

# cube create

5. 問題なくインストールが完了したら、master機器にsshで接続し、cocktail-systemを構成するコンテナが正常に起動するかを確認する。

# ssh -i ~/cube/pki/id_rsa [email protected]
# watch -n1 "kubectl get pods -n cocktail-system"
NAME                                     READY     STATUS    RESTARTS   AGE
apollomq-3231363346-77ltx                1/1       Running   0          2m
cocktail-api-67592375-63k43              1/1       Running   1          2m
cocktail-client-4046445963-rrwhh         2/2       Running   1          2m
cocktail-cmdb-520687312-rhm8s            1/1       Running   0          2m
cocktail-metering-aws-3487533297-tw1x7   1/1       Running   0          2m
redis-3766055555-1lzmh                   1/1       Running   0          2m

6.ブラウザでhttp://master_IP:30000으로に接続すると、cocktail login画面に接続することができる。(User Id、Passwordは、別途確認必要)

削除

1. 削除はオプションに応じて、k8s clusterのみ削除、または作成されたVMを削除することができる。
デフォルトでオプションを与えない場合は、作成したk8s clusterのみ削除してインストールスクリプトはそのまま維持し、-fオプションを追加すると、作成されたVMを削除し、cube.yamlファイルをcube.yaml.orgとしてバックアップファイルを作成した後、インストールスクリプトもすべて削除する。

したがって、このコマンドは注意の上、実行しなければならない

# cd /Desktop/cubetest

// k8sのみ削除し、インストールスクリプトはそのまま維持 
# cube destroy

// k8sとインストールスクリプトを削除し、cube.yamlをcube.yaml.orgファイルとしてバックアップ 
# cube destroy -f

-f オプションで削除した後、再インストールするためには、cube initコマンドでインストールスクリプトを再ダウンロードしてからインストールする。

results matching ""

    No results matching ""