仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

Rancher2にrkeでデプロイしたKubernetesノードをインポートして使う

前回、rkeを使ってKubernetesをデプロイしました。

tech.virtualtech.jp

というわけで、今回はデプロイした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をクリックし、クラスタ名を設定します。入力が終わったら、「作成」ボタンをクリックします。

f:id:virtualtech:20190906165839p:plain

「クラスターを追加」画面に切り替わったら、一番下のcurl行をノード上で実行します。このコマンドを実行するには次が必要です。

  • curlコマンドがインストールされていること
  • kubectlコマンドがインストールされていること
  • ノード上にKubeconfigが~/.kube/configとして保存されていること

うまくいくと、rkeでデプロイしたKubernetesクラスターがRancher2にインポートされます。

f:id:virtualtech:20190906170601p:plain

やりました!

f:id:virtualtech:20190906170858p:plain

Rancher 2を使ってみよう

インポートしたKubernetesを使って、Rancher2でアプリケーションをデプロイしてみます。

カタログアプリページを開き、「+ 起動」ボタンをクリックします。

f:id:virtualtech:20190906171014p:plain

アプリ一覧の中からWordpressを探し、「詳細を見る」ボタンをクリックします。

f:id:virtualtech:20190906171151p:plain

カタログの詳細画面が現れますので、※印がついた設定をきちんと設定します。実は事前に永続ストレージを用意しておいたほうがいいのですが、今回はデモなのでWordPress Persistent Volume EnabledMariaDB Persistent Volume Enabledは「いいえ」にして、アプリケーションを起動します。

f:id:virtualtech:20190906171414p:plain

L7ロードバランサーも標準で利用できます。あとは数分待つだけ。

f:id:virtualtech:20190906171520p:plain

WordPressをデプロイできました。ちなみにRancherのロードバランサーはNGINXを使っているのですが、アプリケーションのアクセスにNodePortではなくL7ロードバランサー機能を使う場合は、該当のポートをKubernetesノード側で開けておく必要があります。

f:id:virtualtech:20190906172021p:plain

KubernetesとかRancher、触っていると楽しいです。