HA構成のOpenShift on Azure で Cockpit を有効にする

Cockpit を利用するとOpenShiftに作成したプロジェクトやコンテナを横断的に管理することができます。

Cockpitのインストール手順は以下を参照してください。

ちょっとした動作確認で、All in One 構成の場合は上記の手順通りで簡単に利用できるのですが、Azure上にHA構成で構築している場合はLBの設定などに変更が必要です。

Azureの設定変更

Inboudセキュリティルールの追加

Masterサーバのネットワークセキュリティグループ(masterSubnetNSG)に Inboundのポートを追加します。

  1. リソースグループのOverview画面でmasterSubnetNSGを選択
  2. masterSubnetNSGのSettingsメニューからInbound security rulesを選択
  3. 画面上部の「+Add」ボタンをクリックしてルールを追加
項目名
Name cockpit
Priority 変更せず
Source Any
Service Custom
Protocol TCP
Port range 9090
Action Allow

LBのルールの追加

Masterサーバ用のロードバランサ(masterLB)に9090ポートへのロードバランスルールを追加します。

  1. リソースグループのOverview画面でmasterLBを選択
  2. masterLBのSettingsメニューからLoad balancing rulesを選択
  3. 画面上部の「+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に鍵認証でログインできるように設定します。

作業対象:全サーバ

  1. myadmin ユーザを作成
  2. myadmin ユーザの鍵を配布
  3. myadmin ユーザのパスワード設定(ここで設定したパスワードは、Cockpitのログインで使います)

myadminユーザの設定

myadminユーザが system:admin 権限で OpenShift のクラスタ管理ができるようにします。

作業対象:Masterサーバ

  1. /etc/origin/master/admin.kubeconfig ファイルを ~myadmin/.kube/config ファイルにコピー
cp /etc/origin/master/admin.kubeconfig ~myadmin/.kube/config

あとは、cockpit の管理画面にブラウザでアクセスすれば、OpenShiftのNodeやコンテナの情報が参照可能になります。

f:id:akubicharm:20170815193047p:plain

f:id:akubicharm:20170815193057p:plain