HA構成のOpenShift on Azure で Cockpit を有効にする
Cockpit を利用するとOpenShiftに作成したプロジェクトやコンテナを横断的に管理することができます。
Cockpitのインストール手順は以下を参照してください。
- Cockpit integration with Openshift 3 - Red Hat Customer Portal
- Webベースのグラフィカルモニタリングツールcockpitをセットアップする - nekop's blog
ちょっとした動作確認で、All in One 構成の場合は上記の手順通りで簡単に利用できるのですが、Azure上にHA構成で構築している場合はLBの設定などに変更が必要です。
Azureの設定変更
Inboudセキュリティルールの追加
Masterサーバのネットワークセキュリティグループ(masterSubnetNSG)に Inboundのポートを追加します。
- リソースグループのOverview画面でmasterSubnetNSGを選択
- masterSubnetNSGのSettingsメニューからInbound security rulesを選択
- 画面上部の「+Add」ボタンをクリックしてルールを追加
項目名 | 値 |
---|---|
Name | cockpit |
Priority | 変更せず |
Source | Any |
Service | Custom |
Protocol | TCP |
Port range | 9090 |
Action | Allow |
LBのルールの追加
Masterサーバ用のロードバランサ(masterLB)に9090ポートへのロードバランスルールを追加します。
- リソースグループのOverview画面でmasterLBを選択
- masterLBのSettingsメニューからLoad balancing rulesを選択
- 画面上部の「+Add」をクリックしてルールを追加
項目名 | 値 |
---|---|
Name | cockpitRule |
IP Version | IPv4 |
Frontend IP address | masterLBFrontEndを選択 |
Protocol | TCP |
Port | 9090 |
BackendPort | 9090 |
Backend pool | 変更せず |
TcpProbe(TCP:8443) | 変更せず |
Session persistence | None |
ユーザ設定
Cockpitのログインユーザが、OpenShiftのクラスタ情報にアクセスできるように設定します。 ここでは myadmin とユーザで設定します。
ユーザ作成
myadmin ユーザが各Nodeに鍵認証でログインできるように設定します。
作業対象:全サーバ
- myadmin ユーザを作成
- myadmin ユーザの鍵を配布
- myadmin ユーザのパスワード設定(ここで設定したパスワードは、Cockpitのログインで使います)
myadminユーザの設定
myadminユーザが system:admin 権限で OpenShift のクラスタ管理ができるようにします。
作業対象:Masterサーバ
- /etc/origin/master/admin.kubeconfig ファイルを ~myadmin/.kube/config ファイルにコピー
cp /etc/origin/master/admin.kubeconfig ~myadmin/.kube/config
あとは、cockpit の管理画面にブラウザでアクセスすれば、OpenShiftのNodeやコンテナの情報が参照可能になります。