Kubernetesサービス
KubernetesサービスとしてKeeper Automatorをインストール
本ガイドでは、Keeper AutomatorをKubernetesサービスとして実行するための手順を解説します。
SSL証明書が必要となりますので、お持ちでない場合はカスタムSSL証明書の作成ページをご参照ください。
(1) Kubernetesのセットアップ
Kubernetesのインストールとデプロイについては詳しく触れませんが、デモの目的でプラットフォームに依存しない2つのEC2インスタンス(マスターとワーカー)を使用する、非常に基本的な単一ノード環境について記載しました。K8環境がすでに整っている場合には手順2へお進みください。
Dockerのセットアップ
Kubernetesはコンテナランタイムを要しますのでDockerを使用します。
kubeadm、kubelet、kubectlのインストール
これらのパッケージは、マスターノードとワーカーノードの両方にインストールする必要があります。 今回の例ではAWS Amazon Linux 2インスタンスタイプを使用しています。
マスターノードの初期化
マスターノードとして使用をご希望のマシンで以下を実行します。
--pod-network-cidr
引数は、特定のネットワークプロバイダーで必要となります。ポッドに設定するIP範囲を置き換えます。
kubeadm init
が完了後、ワーカーノードをマスターに参加させるために使用できるコマンドが表示されます。レスポンスと初期化コードをメモして次の手順で使えるようにします。
ローカルのkubeconfigをセットアップします。
ポッドネットワークのインストール
クラスターが機能する前にポッドネットワークをインストールする必要があります。簡単にflannel
を使用できます。
ワーカーノードを参加させる
ワーカーノードとして追加する各マシンで、初期化コードを含む以下のコマンドを実行します。
セキュリティグループ内のワーカーノードとマスターノードの間でポート6443 が開いている必要があリます。
ワーカーが参加した後、Kubernetesクラスターが稼働します。マスター上でkubectl get nodes
を実行すると、ノードのステータスを確認できます。
(2) Kubernetes Secretの作成
Keeper AutomatorのSSL証明書がSecretとしてKubernetesサービスに提供されます。SSL証明書とSSL証明書パスワード(SSL 証明書ガイドから作成)を保存するには、以下のコマンドを実行します。
(3) マニフェストの作成
以下は、automator-deployment.yamlとして保存できるマニフェストファイルです。デプロイメントリソースとサービスリソースの両方の設定が含まれています。
デプロイメントリソースはKeeper Automator Dockerコンテナを実行します。
SSL証明書と証明書パスワードファイルは、マウントされたSecretとして参照されます。
Secretは初期化コンテナ内のポッドにコピーされます。
Automatorサービスはポート30000でリスンしてから、コンテナーのポート443にルーティングします。
本手順では、単一のコンテナ(replicas: 1)のみをデプロイしてコンテナを設定できるようにします。最後の手順でreplicasの数を増やします。
(4) サービスのデプロイ
30秒以内にサービスが起動します。
(5) サービスステータスのチェック
ウェブブラウザでサービスが実行されていることを確認します(テストしているデバイスからポート 30000を開く必要があります)。 今回の場合、URLはhttps://automator2.lurey.com:30000/api/rest/statusとなります。
自動ヘルスチェックには以下のURLもご利用になれます。
https://<server>/health
例:
これで単一ポッドのサービスが実行されていますので、Keeper Commanderを使用してAutomatorをご利用の環境に統合します。
(6) Commanderでポッドを設定
ポッドを設定してAutomator機能を使うには、Keeper Commanderが必要となります。Keeper Commanderはどこからでも実行できます。
ご利用のワークステーションにKeeper Commander CLIをインストールします。バイナリインストーラーを含むインストール手順についてはこちらをご覧ください。
Commanderをインストールした後、keeper shell
と入力してセッションを開いてからlogin
コマンドを使用してログインします。Automatorをセットアップするには、Keeper管理者またはSSO ノードを管理する権限を持つ管理者としてログインする必要があります。
Keeper Commanderにログインし、automator create
で始まる一連のコマンドを使用してAutomatorを有効にします。
ノード名 (この場合はAzure Cloud) は、以下のように管理コンソールUIから取得します。
コマンドの出力には、IDプロバイダからのメタデータを含むAutomator設定が表示されます。
URLはまだ入力されていませんので、以下のようにautomator editコマンドを実行します。これによりURLとスキルが設定されます(team
、 team_for_user
、device
)。
次にキーを交換します。Automator公開キーで暗号化されたエンタープライズ秘密キーがAutomatorに提供されます。
次に、他のIdPメタデータをAutomatorに送信します。
Automatorサービスを有効にします。
この時点で設定は完了となります。
(7) サービスの確保
Keeperのサーバーおよびご利用のワークステーションからサービスへのネットワークアクセスを制限することを推奨します。許可するKeeper IPアドレスのリストについては、イングレス要件をご参照ください。
(8) Automatorサービスのテスト
単一のポッドでAutomatorサービスが適切に動作していることを確認するには、以下の手順を行います。
ブラウザのシークレットモードでウィンドウを開きます。
SSOユーザーアカウントを使用してKeeperウェブボルトにログインします。
SSOログインの成功後にデバイスの承認が必要ないことを確認します。
(9) ポッド設定の更新
この時点では、単一のポッド設定を実行しています。最初のポッドにAutomatorサービスがセットアップされKeeper クラウドに設定されましたので、ポッドの数を増やせます。以下のように、YAMLファイル内のreplicasステートメントを実行したいポッドの数に更新します。
次に変更を適用します。
複数のポッドが実行されている場合、コンテナはラウンドロビン方式のセットアップで負荷が分散されます。最初の承認リクエスト時に構成設定がKeeperクラウドからAutomatorポッドへ自動的かつ安全にロードされます。
Automatorサービスのトラブルシューティング
Automatorサービスを実行しているログファイルでエラーを監視できます。ポッドのリストを取得するには以下を実行します。
以下のコマンドを使用して、ターミナル経由でAutomatorコンテナに接続します。
ログファイルはlogs/フォルダにあります。ターミナルに接続する代わりに、以下のコマンドからコンテナのログファイルを追跡することもできます。
最終更新