こんにちは。
ソリューションアーキテクト松田(@MatYoshr)です。
昨年、多くのパブリッククラウドにてKubernetesサービスが正式に提供開始されたこともあり、Kubernetes
というキーワードを聞くことがかなり多くなってきたように感じます🤔
下記のGoogle Trendsのグラフを見てもKubernetesの着実な盛り上がりが感じられますね😁
こうしてみると結構日本とアメリカのグラフが連動していて面白いです。
ちなみに日本のグラフだけガクッと下がっている部分はGWですね🎌
そんな、Kubernetesですが、もちろんAlibaba Cloud でもサービスとして提供しています😁
Alibaba Cloud Container Service for Kubernetes
というサービスで記事のタイトルにもあるのですがACK
と略します。
今回の記事ではAlibaba Cloud の Kubernetes サービスにも対応している「Rancher」というソフトウェアをご紹介したいと思います😆 ℹ️今回は動作検証が目的の内容になります。
Container Service for Kubernetesの概要はコチラのプロダクトページをご覧いただければと思います。
また、Container Service for Kubernetes に関する過去のテックブログもご覧いただければと思います。
こちらに関しては1年前からの更新情報などもあるので、アップデート記事を近いうちに作成したいと思います😎
Rancherとは
Rancherとはオープンソースのコンテナ管理プラットフォームです。
Kubernetesクラスタの構築、運用やアプリケーション展開機能を持っています。
特に大きなポイントは「マルチクラウド」「マルチクラスタ」を1つのRancherプラットフォームから管理することができる点です。
参照元:Products - Rancher / Multi-Cluster management
Rancherに関する詳しい内容は下記のThink IT連載などをご覧頂ければと思います。
3月末にリリースされた Rancher 2.2 からACKにも対応致しましたので実際に検証していきたいと思います。
下記は昨年RancherがAlibabaを含む中国発クラウドのKubernetesサービスへのサポートを発表した記事になります。
Rancher on Alibaba Cloud ECS
Rancherの構築手順に関してはQiitaで簡単な構築手順の記事を書いていますので、こちらをご覧頂ければと思います。
Rancher への Kubernets の登録
RancherでKubernetes環境を管理するには2通りの方法があります。
・既存のKubernetsクラスターをRancher管理下に置く
・新規のKubernetsクラスターをRancherから作成する
Alibaba Cloud Container Service for Kubernetes はどちらの方法にも対応していますので、それぞれ見ていきたいと思います。
Import Cluster
構築済みのRancher環境へアクセスします。
Rancher上に管理対象が存在しない場合この様な画面になります。クラスターを追加
を選択して既存のContainer Service for Kubernetes
環境を設定したいと思います。
既存のクラスターをインポート
を選択クラスター名
を入力し「作成」を選択します。
既存のKubernetesにRancherと通信するための設定を実施します。
以下のコマンドをコピーし、kubectlが使える端末から対象のKubernetesに実行します。
コマンド実行後に「完了」を選択します。
ℹ️以下のコマンドのURL部分は環境によって異なります。
kubectl apply -f https://xxx.yyy.zzz/v3/import/1234567894bw9qv8z7ml2xdv2p9cg899hp8s4llk.yaml
この様なメッセージが表示されると思います。
コマンドの成功後にACKのコンソール画面を確認しに行くと「名前空間」にcattle-system
が追加されています。
Rancherの画面に戻るとこの様な画面が表示される様になります。
先程のコマンドが成功していれば状態、プロバイダー、ノード数などの情報が取得できていると思います。
ℹ️データが取得できる様になるまで多少の時間が必要です。
クラスター名
の部分(今回だとalibabacloud-cluster)を選択するとクラスターの詳細が表示されます。
ACKで作ったKubernetesクラスターはバージョンにaliyun
などの文字列が入っている様です。
ℹ️バージョンによって表記は変わる可能性があります。
ノードの情報もこの様に取得されます。
alibabacloud-cluster
> Default
を選択します。
表示される画面のワークロード
にリソースの情報が表示されます。
Deploymentの名称やイメージ、レプリカ数などが表示されています。
Deploymentを選択(testappを選択)すると詳細画面が表示されます。
ここでスケール
の項目の+
ボタンを押して2から3にするとPodのスケールが実行されます。
少々待つと動的にPodの数が増えました。
Alibaba Cloud の管理コンソールから見たときも、ちゃんと1個増えている様子が確認できます。
Create Cluster
Rancher v2.2 はAlibaba Cloudに対応しているのでRancherからACKを作成することが出来ます。
ただし、AWSやAzure などと違いデフォルトではAlibaba Cloud対応が無効化されていますので、有効化を行ってから作成を行います。
クラスター
の画面などからツール
> Drivers
を選択します。
以下の様な画面が表示されます。Alibaba ACK
にチェックを入れて「アクティブ化」を選択します。
しばらくしてAlibaba ACK
が「Active」に変われば成功です。
クラスター画面に戻り「クラスターを追加」を選択します。
In a hosted Kubernetes provider
にAlibaba ACK
が追加されています😁
Alibaba ACK
を選択しAccount Access
で必要な情報(Region,Access Key,Secret Key)を入力します。
入力後に「Next: Configure Cluster」を選択します。
Cluster Configuration
で必要な情報を入力し「Next: Configure Master Node」を選択します。
画面を省略しますが、Master Node、Worker Nodeの設定を行い「作成」を選択するとACK環境の作成が開始されます。
作成が始まるとRancherの画面では以下の様にProvisioning
の表記でクラスターが表示されます。
プロバイダーがAlibaba ACKとなっています。
Alibaba Cloud の管理コンソール上でもクラスター構築中なのがわかります。
15分ほど初期構築に時間がかかりますので終わるのを待ちます。
しばらくするとActive
に変わってKubernetesが利用可能になります🎉
RancherがちゃんとACKに対応している事が確認できました。
おわりに
Rancher というツールがAlibaba Cloud のKubernetesサービスに対応している事がご理解頂けたかと思います。 最近はAlibaba Cloudに対応しているツールも増えてきましたので、色々活用してみてください😁
ただ、Alibaba Cloud のKubernetes サービスは他のKubernetesサービスに比べると、管理コンソールにGUIのダッシュボードがあったりHelmが最初から使えたりと、実はRancherを入れなくても使いやすく管理しやすい構成になっていると個人的には思います🤔
しかし、マルチクラウドやハイブリッドでKubernetesを管理したいという様な要望がある際にはRancherを使って一元管理をするシナリオはありそうですね。
今回は簡単な動作検証でしたがRancheには色々と便利な機能を持っていますのでその辺とACKを組み合わせなども紹介していきたいと思います。
おまけ
最初の方に日米のKubernetesのGoogle Trendsを出しましたが・・・
実は中国を対象に入れるとこんなグラフになります😳
人口のせいなのか中国での検索数が多すぎて比較にならない・・・
とは言え中国でのKubernetesの人気振りがここから見える様な気がしますね😄