RancherでKubernetes管理

作成日:2019-06-06

Rancher🐮でKubernetes (ACK) を管理しよう❗️ - 検証編 -

はじめに

昨年、多くのパブリッククラウドにてKubernetesサービスが正式に提供開始されたこともあり、Kubernetesというキーワードを聞くことがかなり多くなってきたように感じます🤔

下記のGoogle Trendsのグラフを見てもKubernetesの着実な盛り上がりが感じられますね😁    こうしてみると結構日本とアメリカのグラフが連動していて面白いです。
ちなみに日本のグラフだけガクッと下がっている部分はGWですね🎌   

trend
(2021年10月時点)

そんな、Kubernetesですが、もちろんAlibaba Cloud でもサービスとして提供しています😁

Alibaba Cloud Container Service for Kubernetes というサービスで記事のタイトルにもあるのですが`ACK`と略します。

今回の記事ではAlibaba Cloud の Kubernetes サービスにも対応している「Rancher」というソフトウェアをご紹介したいと思います😆 ℹ️今回は動作検証が目的の内容になります。

Container Service for Kubernetesの概要はコチラのプロダクトページをご覧いただければと思います。

Rancherとは

Rancherとはオープンソースのコンテナ管理プラットフォームです。
Kubernetesクラスタの構築、運用やアプリケーション展開機能を持っています。
特に大きなポイントは「マルチクラウド」「マルチクラスタ」を1つのRancherプラットフォームから管理することができる点です。

参照元:

https://rancher.com/products/rancher/multi-cluster-management/

Rancherに関する詳しい内容は下記のThink IT連載などをご覧頂ければと思います。

https://thinkit.co.jp/series/8740

3月末にリリースされた Rancher 2.2 からACKにも対応致しましたので実際に検証していきたいと思います。
下記は昨年RancherがAlibabaを含む中国発クラウドのKubernetesサービスへのサポートを発表した記事になります。

https://rancher.com/blog/2018/2018-11-14-rancher-announces-china-cloud-provider-support/

Rancher on Alibaba Cloud ECS

Rancherの構築手順に関してはQiitaで簡単な構築手順の記事を書いていますので、こちらをご覧頂ければと思います。

https://qiita.com/MatYoshr/items/628cb1246655e27d10b1

Rancher への Kubernets の登録

RancherでKubernetes環境を管理するには2通りの方法があります。

既存のKubernetsクラスターをRancher管理下に置く新規のKubernetsクラスターをRancherから作成する

Alibaba Cloud Container Service for Kubernetes はどちらの方法にも対応していますので、それぞれ見ていきたいと思います。

Import Cluster

構築済みのRancher環境へアクセスします。

img

Rancher上に管理対象が存在しない場合この様な画面になります。
クラスターを追加を選択して既存のContainer Service for Kubernetes 環境を設定したいと思います。

img

既存のクラスターをインポートを選択クラスター名を入力し「作成」を選択します。

img

既存のKubernetesにRancherと通信するための設定を実施します。
以下のコマンドをコピーし、kubectlが使える端末から対象のKubernetesに実行します。
コマンド実行後に「完了」を選択します。

img

ℹ️以下のコマンドのURL部分は環境によって異なります。

kubectl apply -f https://xxx.yyy.zzz/v3/import/1234567894bw9qv8z7ml2xdv2p9cg899hp8s4llk.yaml

この様なメッセージが表示されると思います。

img

コマンドの成功後にACKのコンソール画面を確認しに行くと「名前空間」にcattle-systemが追加されています。

img

Rancherの画面に戻るとこの様な画面が表示される様になります。
先程のコマンドが成功していれば状態、プロバイダー、ノード数などの情報が取得できていると思います。
ℹ️データが取得できる様になるまで多少の時間が必要です。

img

クラスター名の部分(今回だとalibabacloud-cluster)を選択するとクラスターの詳細が表示されます。
ACKで作ったKubernetesクラスターはバージョンにaliyunなどの文字列が入っている様です。
ℹ️バージョンによって表記は変わる可能性があります。

img

ノードの情報もこの様に取得されます。

img

alibabacloud-cluster > Default を選択します。

img

表示される画面のワークロードにリソースの情報が表示されます。
Deploymentの名称やイメージ、レプリカ数などが表示されています。

img

Deploymentを選択(testappを選択)すると詳細画面が表示されます。
ここでスケールの項目の+ボタンを押して2から3にするとPodのスケールが実行されます。

img

少々待つと動的にPodの数が増えました。

img

Alibaba Cloud の管理コンソールから見たときも、ちゃんと1個増えている様子が確認できます。

img

Create Cluster

Rancher v2.2 はAlibaba Cloudに対応しているのでRancherからACKを作成することが出来ます。
ただし、AWSやAzure などと違いデフォルトではAlibaba Cloud対応が無効化されていますので、有効化を行ってから作成を行います。

クラスターの画面などからツール > Driversを選択します。

img

以下の様な画面が表示されます。
Alibaba ACKにチェックを入れて「アクティブ化」を選択します。

img

しばらくしてAlibaba ACKが「Active」に変われば成功です。

img

クラスター画面に戻り「クラスターを追加」を選択します。

img

In a hosted Kubernetes providerAlibaba ACKが追加されています😁

img

Alibaba ACKを選択しAccount Accessで必要な情報(Region,Access Key,Secret Key)を入力します。
入力後に「Next: Configure Cluster」を選択します。

img

Cluster Configurationで必要な情報を入力し「Next: Configure Master Node」を選択します。

img

画面を省略しますが、Master Node、Worker Nodeの設定を行い「作成」を選択するとACK環境の作成が開始されます。

img

作成が始まるとRancherの画面では以下の様にProvisioningの表記でクラスターが表示されます。
プロバイダーがAlibaba ACKとなっています。
img

Alibaba Cloud の管理コンソール上でもクラスター構築中なのがわかります。
15分ほど初期構築に時間がかかりますので終わるのを待ちます。

img

しばらくするとActiveに変わってKubernetesが利用可能になります🎉
RancherがちゃんとACKに対応している事が確認できました。

img

最後に

Rancher というツールがAlibaba Cloud のKubernetesサービスに対応している事がご理解頂けたかと思います。
最近はAlibaba Cloudに対応しているツールも増えてきましたので、色々活用してみてください😁

ただ、Alibaba Cloud のKubernetes サービスは他のKubernetesサービスに比べると、管理コンソールにGUIのダッシュボードがあったりHelmが最初から使えたりと、実はRancherを入れなくても使いやすく管理しやすい構成になっていると個人的には思います🤔

しかし、マルチクラウドやハイブリッドでKubernetesを管理したいという様な要望がある際にはRancherを使って一元管理をするシナリオはありそうですね。

今回は簡単な動作検証でしたがRancheには色々と便利な機能を持っていますのでその辺とACKを組み合わせなども紹介していきたいと思います。

松田 悦洋
この記事を書いた人
松田 悦洋
Github Icon
インフラからアプリまでのシステム基盤のアーキテクトを経てクラウドのアーキテクトへ、AWS、Azure、Cloudflare などのサービスやオープンソース関連も嗜みます。2019年1月にソフトバンクへ入社、2020年より Alibaba Cloud MVP。
Close

Alibaba Cloudを始めてみましょう

ソフトバンクは、Alibaba Cloudのアカウント開設から、サービス展開までをお手伝いします。
Hatena