前回、rkeを使ってKubernetesをデプロイしました。
というわけで、今回はデプロイしたKubernetesをRancher 2にインポートして使ってみます。
Rancher 2のデプロイとノードのインポート
まず、Rancher2を用意します。RancherはDockerがホストにインストールされている必要があるため、事前にインストールしておきます。RHEL7やCentOS7ホストの場合は、次のように80ポートと443ポートをRancher2を実行するノード上で開けておいてください。
# firewall-cmd --add-port=80/tcp --zone=public --permanent && firewall-cmd --add-port=80/tcp --zone=public # firewall-cmd --add-port=443/tcp --zone=public --permanent && firewall-cmd --add-port=443/tcp --zone=public # docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
しばらく待つと、ブラウザーでRancher2にアクセスできるようになります。
https://<SERVER_IP>
にブラウザーでアクセスします。<SERVER_IP>
はRancher2をデプロイしたホストのIPアドレスに置き換えてください。
プロンプトが現れたら、adminアカウントのパスワードを作成します。
Rancher ServerのURLを設定します。URLに指定できるのは、IPアドレスまたはホスト名のいずれかです。 クラスターに追加する各ノードはこのURLに接続できる必要があります。
Rancher 2にログインしたら、クラスターページを開いて「クラスターを追加」ボタンをクリックします。 画面が切り替わったら、Importをクリックし、クラスタ名を設定します。入力が終わったら、「作成」ボタンをクリックします。
「クラスターを追加」画面に切り替わったら、一番下のcurl行をノード上で実行します。このコマンドを実行するには次が必要です。
- curlコマンドがインストールされていること
- kubectlコマンドがインストールされていること
- ノード上にKubeconfigが~/.kube/configとして保存されていること
うまくいくと、rkeでデプロイしたKubernetesクラスターがRancher2にインポートされます。
やりました!
Rancher 2を使ってみよう
インポートしたKubernetesを使って、Rancher2でアプリケーションをデプロイしてみます。
カタログアプリページを開き、「+ 起動」ボタンをクリックします。
アプリ一覧の中からWordpress
を探し、「詳細を見る」ボタンをクリックします。
カタログの詳細画面が現れますので、※印がついた設定をきちんと設定します。実は事前に永続ストレージを用意しておいたほうがいいのですが、今回はデモなのでWordPress Persistent Volume Enabled
とMariaDB Persistent Volume Enabled
は「いいえ」にして、アプリケーションを起動します。
L7ロードバランサーも標準で利用できます。あとは数分待つだけ。
WordPressをデプロイできました。ちなみにRancherのロードバランサーはNGINXを使っているのですが、アプリケーションのアクセスにNodePortではなくL7ロードバランサー機能を使う場合は、該当のポートをKubernetesノード側で開けておく必要があります。
KubernetesとかRancher、触っていると楽しいです。