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コマンドでインストールスクリプトを再ダウンロードしてからインストールする。