こんにちは。前回はICP3.1のインストールについてご案内させていただきました。
今回は、ICP上で動作するIBM Multicloud Manager(以下、MCM)という製品のインストール方法を書いていきます。
MCMってなんぞや?
IBM Multicloud Managerですがその名の通り、複数のクラウドを管理するマネージャーになります。
このクラウドの中にはICP(オンプレ製品ですが)はもちろん、IBM発表の情報では、IKS(IBM Cloud上のKubernetesサービス)やAWS、Azure等々の他ベンダーのクラウドにあるKubernetesサービスも管理できるようになるという製品です。
MCM上でほかのKubernetesクラスターの状況確認はもちろん、Helmからリモートでデプロイする機能も含まれているようです。
ただ、まだまだ情報が出そろってはいません。
このあたりの機能などの情報については情報が出そろったらまたご案内できればと思います!
環境
ICPのインストール方法で作成したICP環境を 2セット 用意します。
前回の環境情報はこんな感じです。
/////////////////////////////////////////////////////////////////////
2台のサーバーを使いICPをインストールします。
1台目:Master node (Master,Management,etcd,Proxy)
2台目:Worker node (Worker)
※インストール手順では、1台目を「Master」、2台目を「Worker」を表記します。
サーバーはどちらも同一スペックを用意しています。
OS | RedHat Endterprise Linux 7.4 |
物理/仮想 | 仮想 |
CPU(Core) | 8 |
Memory | 24GB |
Disk | 300GB |
NIC | 1つ |
FirewallとSELinuxについては無効にしています。
//////////////////////////////////////////////////////////////////////
ファイルの準備
下記のファイルを入手します。
- IBM Multi-cloud Manager 3.1.0 Kubernetes Images for Linux (CNVV6EN )
size:962MB
事前にダウンロードしたファイルを解凍して、Tokyo Master,Osaka Master上それぞれにコピーしておきます。該当のファイル名は mcm-3.1.0_x86.tgz になります。
今回、このファイルは ~/ 配下にコピーしています。
やること
今回はMCMのインストールともう一つのICPクラスターをMCM配下のクラスターとして登録します。
登場人物
-
ICPクラスター2セット
- クラスター名: Tokyo
- Master: Tokyo Master IP末尾 50
- Worker: Tokyo Worker IP末尾 51
- クラスター名: Osaka
- Master: Osaka Master IP末尾 60
- Worker: Osaka Worker IP末尾 61
- クラスター名: Tokyo
-
Multi Cloud Manager
MCMの管理コンポーネント。Helmからインストール。- Tokyo Masterにインストール
-
Klusterlet
MCM用のAgent。Helmからインストール。 -
hub-cluster
IBM Multicloud ManagerをインストールしたICP Master(今回は Tokyo Master)のこと。 -
cluster_CA_domain
Clusterのドメイン名。デフォルトは mycluster.icp
※変更するのはICPのインストール時になります。
手順の概要
- Tokyo Masterに MCM をインストール
- Tokyo Masterに Klusterlet をインストール
- Osaka Masterに Klusterlet をインストール
MCMインストール
インストールはCLIベースでの作業と管理コンソールでの作業があります。
CLIベースの作業は各クラスターの Master で作業を実施します。
CLIではRootにログインして作業します。
Tokyo Master 作業(CLI)
Docker にログイン
- User : admin
- Password : admin
IBM Cloud Private CLIにログイン
Helmチャートにファイルをロード
Tokyo Master 作業(GUI)
コンテナイメージの確認
管理コンソール上でMCMに必要なイメージがロードされていることを確認します。
- 管理コンソールにログイン
- 左上のメニューを開き、「イメージ」に移動
- 検索窓で「kube-system」と入力し、イメージを確認
Helmカタログの確認
管理コンソールでHelmにカタログが登録されていることを確認します。
- 管理コンソールにログイン
- 右上の「カタログ」に移動
- 検索窓で「mcm」と入力し、カタログを確認
カタログからデプロイ
管理コンソールからカタログに移動し、 ibm-mcm-controller を選択します。
右下の 構成 をクリックします。
デプロイに必要なパラメータを入力します。
設定名 | 設定値 |
---|---|
Helmリリース名 | 任意の名前を入力 |
ターゲット名前空間 | kube-system |
Multi-cloud Manager Namespace | 専用の名前空間 |
名前空間はIBM Multicloud Manager用に専用の名前空間が必要になります。 ここでは mcm-tokyo と指定します。
インストール をクリックしインストールを実行します。 実行後、Helmリリースの状況を確認します。
よくあるミスとしては、ターゲット名前空間を間違えてしまうということがあります。
その場合 デプロイメント のなかの multicloudmanager-ibm-mcm-controller-controller の使用可能部分が 0 となっていることがあります。この場合は、Helmを使って、一度削除してが必要になります。(削除できないことがありますのでなるべく間違えないように気を付けてください。)
数分待ったあとに一度管理コンソールからログアウトし、再度ログインします。
正常動作している場合は、管理コンソールのメニューに マルチクラスター という項目が増えます。
Tokyo Master 作業(CLI)
Hub Clusterのへのログイン
<hub_cluster_host_name>はTokyo Masterのホスト名もしくはIPアドレスになります。
MCM用のNameSpaceの作成
カタログからMCMをデプロイした際のNameSpaceと同一にします。
ここでは mcm-tokyoと指定しました。
Hub ClusterからのリモートHelmインストール機能を有効にする
※<hub_cluster_host_name>部分をMCMをいれたICP Masterのホスト名にします。名前解決ができない場合はIPアドレスを指定します。
Klusterletのインストール(Tokyo Master)
次にMCMと通信を行うKlusterletをインストール(デプロイ)します。クラスターTokyoに対しても作業が必要になります。
Tokyo Master 作業(GUI)
事前準備
デプロイに必要なパラメータを確認します。
Tokyo Masterの管理コンソールにログインし、右上の人型アイコンをクリックし、クライアントの構成 をクリックします。
「クライアントの構成」のポップアップが表示されます。
パラメータが表示されている部分を2列分をコピーします。
このあとに使用する部分は、
- --server= https://xxx.xxx.xxx.50:8001
- --token= eyJ0(以下、略)
略部分はもちろん略さず利用します。
Tokyo Master 作業(CLI)
Tokyoクラスターにログイン
※ICPクラスター名をインストール時に変更している場合は適宜クラスター名を変更します。
Secret の作成
<klusterlet_tiller_secret> に任意の名称を入力します。ここでは、klusterlet-tiller-secret として入力します。
Secretの確認
Secretが正常に作成されているか確認します。
Klusterlet用のNameSpaceの作成
ここでは mcm-tokyo-klusterletと指定しました。
Tokyo Master 作業(GUI)
デプロイ
管理コンソールにログインし右上のカタログをクリックします。
検索画面で mcm と入力し、表示された ibm-mcm-klusterlet を選択します。
遷移した画面で構成 をクリックします。
それぞれパラメータを指定していきます。
設定名 | 設定値 |
---|---|
Helmリリース名 | 任意の名前を入力 |
ターゲット名前空間 | kube-system |
Cluster Name | 任意のクラスター名 |
Cluster Namespace | Klusterlet専用の名前空間 |
Klusterlet Tiller Secret Name | 事前に作成してSecret名 |
Hub Cluster Kubernetes API Server | 事前に確認したAPIサーバー名 |
Hub Cluster Kubernetes API server token | 事前に確認したToken |
今回の環境では下記のようになります(しました)。
設定名 | 設定値 |
---|---|
Helmリリース名 | tokyo-cluster-klusterlet |
ターゲット名前空間 | kube-system |
Cluster Name | tokyo-cluster |
Cluster Namespace | mcm-tokyo-klusterlet |
Klusterlet Tiller Secret Name | klusterlet-tiller-secret |
Hub Cluster Kubernetes API Server | https://xxx.xxx.xxx.50:8001 |
Hub Cluster Kubernetes API server token | eyJ0(以下、略) |
ローカルインストール を選択し、デプロイを開始します。
デプロイの確認
デプロイ状況を確認します。
管理コンソールのメニューから[ワークロード]-[Helmリリース]を開きます。
検索画面にtokyo と入力し、tokyo-cluster-klusterletを選択します。
使用可能の値が必要数と異なっていたり、エラー等が発生していないことを確認します。
管理コンソールのメニューから[マルチクラスター]-[クラスター]を開きます。
tokyo-cluster が表示され、Statusが正常なことを確認します。
Klusterletのインストール(Osaka Master)
Osaka MasterにKlusterletをインストール(デプロイ)します。
Osaka Master 作業(CUI)
Docker にログイン
- User : admin
- Password : admin
IBM Cloud Private CLIにログイン
Helmチャートにファイルをロード
Osakaクラスターにログイン
※ICPクラスター名をインストール時に変更している場合は適宜クラスター名を変更します。
Secret の作成
<klusterlet_tiller_secret> に任意の名称を入力します。ここでは、klusterlet-tiller-secret として入力します。
※Tokyo Clusterと同じで問題ありません。
Secretの確認
Secretが正常に作成されているか確認します。
Klusterlet用のNameSpaceの作成
ここでは mcm-osaka-klusterletと指定しました。
Tokyo Master 作業(GUI)
事前準備
Tokyo MasterにKlusterletをデプロイした直後であれば確認は必要ありません。しかし、時間をあけてデプロイする場合は、Tokenの値が更新されていることがありますので必ずご確認ください。
デプロイに必要なパラメータを確認します。
Tokyo Masterの管理コンソールにログインし、右上の人型アイコンをクリックし、クライアントの構成 をクリックします。
「クライアントの構成」のポップアップが表示されます。 パラメータが表示されている部分を2列分をコピーします。
このあとに使用する部分は、
- --server= https://xxx.xxx.xxx.50:8001
- --token= eyJ0(以下、略)
略部分はもちろん略さず利用します。
Osaka Master 作業(GUI)
デプロイ
管理コンソールにログインし右上のカタログをクリックします。
検索画面で mcm と入力し、表示された ibm-mcm-klusterlet を選択します。
遷移した画面で構成 をクリックします。
それぞれパラメータを指定していきます。
設定名 | 設定値 |
---|---|
Helmリリース名 | 任意の名前を入力 |
ターゲット名前空間 | kube-system |
Cluster Name | 任意のクラスター名 |
Cluster Namespace | Klusterlet専用の名前空間 |
Klusterlet Tiller Secret Name | 事前に作成してSecret名 |
Hub Cluster Kubernetes API Server | 事前に確認したAPIサーバー名 |
Hub Cluster Kubernetes API server token | 事前に確認したToken |
今回の環境では下記のようになります(しました)。
設定名 | 設定値 |
---|---|
Helmリリース名 | osaka-cluster-klusterlet |
ターゲット名前空間 | kube-system |
Cluster Name | osaka-cluster |
Cluster Namespace | mcm-osaka-klusterlet |
Klusterlet Tiller Secret Name | klusterlet-tiller-secret |
Hub Cluster Kubernetes API Server | https://xxx.xxx.xxx.50:8001 |
Hub Cluster Kubernetes API server token | eyJ0(以下、略) |
また、今回はClusterの場所の表示を変えるためにすべてのパラメーターを下記のように設定します。
※記載のないパラメーターは変更していません。
設定名 | 設定値 |
---|---|
Cluster Region | AP |
Cluster Datacenter | Osaka |
Cluster Owner | it |
ローカルインストール を選択し、デプロイを開始します。
Tokyo Master 作業(GUI)
デプロイの確認
デプロイ状況を確認します。
管理コンソールのメニューから[ワークロード]-[Helmリリース]を開きます。
検索画面にosaka と入力し、osaka-cluster-klusterletを選択します。
使用可能の値が必要数と異なっていたり、エラー等が発生していないことを確認します。
Tokyo Master 作業(GUI)
デプロイの確認
管理コンソールのメニューから[マルチクラスター]-[クラスター]を開きます。
osaka-cluster が表示され、Statusが正常なことを確認します。
その他
NameSpaceの確認
作成したNameSpaceはコマンドでも管理コンソールでも確認できます。
コマンドの場合は
管理コンソールの場合は、メニューの[管理]-[名前空間]から確認ができます。
Hub Cluster上のNameSpace(名前空間)
Hub Cluster上には管理するクラスターでKlusterletデプロイ時に指定したNameSpaceが作成されます。
MCMの情報ソース
現在は下記のURLにMCMの構築手順や管理手順が記載されていますので、不明点がありましたらご参照ください。
IBM Multi-cloud Manager
※日本語は用意されていませんので必ず英語でご確認ください。
※メニューは「Table of Contents」をクリックすると開きます。
今回は以上になります!複数のKubernetes Serviceを利用されている皆様には良い機能かと思いますので是非是非使ってみてください。
評価等のご希望がありましたら、こちらの「お問い合わせ・ご相談はこちら」からブログを見て!とご連絡を頂ければと思います。
すずきけ