For the complete documentation index, see llms.txt. This page is also available as Markdown.

Kubernetesサービス

KubernetesサービスとしてKeeperオートメーターをインストール

本ページでは、Keeperオートメーターを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を作成

AUTOMATOR_CONFIG_KEYの生成

AUTOMATOR_CONFIG_KEY を設定すると、起動時に暗号キーがランダムに生成されるのではなく、その値から導出されます。ポッドを再起動しても同じキーが復元されるため、コマンダーで構成し直さなくても、Keeperクラウドの構成は有効なままです。

256ビットのキーを生成します。

出力を保存してください。この値は、以下の手順でKubernetes Secretとして登録します。

Secretの作成

KeeperオートメーターのSSL証明書は、SecretとしてKubernetesサービスに登録します。SSL証明書作成のページで作成したSSL証明書とSSL証明書パスワードを保存するには、以下のコマンドを実行します。

構成キーは証明書とは別のSecretに格納します。証明書とは独立して管理できます。

3. マニフェストを作成

以下は、automator-deployment.yaml として保存できるマニフェストファイルです。デプロイメントリソースとサービスリソースの両方の設定が含まれています。

  • デプロイメントリソースはKeeperオートメーターDockerコンテナを実行します

  • SSL証明書と証明書パスワードファイルは、マウントされたSecretとして参照されます

  • Secretは初期化コンテナ内のポッドにコピーされます

  • コンテナには、前の手順で作成したSecretから読み取った AUTOMATOR_CONFIG_KEY を環境変数として渡します

  • オートメーターサービスはポート30000でリッスンし、コンテナーのポート443にルーティングします

  • 本手順では、単一のコンテナ (replicas: 1) のみをデプロイしてコンテナを設定できるようにします。最後の手順でreplicasの数を増やします

本例では NodePort サービスを使用しているため、ノードのポート30000にアクセスできる必要があります。クラスターの構成や公開方法に応じて、LoadBalancer サービスやIngressコントローラーを使うこともできます。いずれの場合も、公開するアドレスとポートを、手順6でコマンダーに登録するURLと一致させてください。

4. サービスをデプロイ

30秒以内にサービスが起動します。

5. サービスステータスを確認

ウェブブラウザでサービスが実行されていることを確認します (テストしている端末からポート30000へアクセスできる必要があります)。 今回の場合、URLはhttps://automator.example.com:30000/api/rest/statusです。

自動ヘルスチェックには、以下のURLも使用できます。

https://<server>/health

以下は、curlコマンドの例です。

単一ポッドのサービスが実行されているので、Keeperコマンダーを使用してオートメーターをご利用の環境に統合します。

6. コマンダーでポッドを設定

ポッドを設定してオートメーター機能を使うには、Keeperコマンダーが必要です。Keeperコマンダーはどこからでも実行できます。

ご利用のワークステーションにKeeperコマンダーCLIをインストールします。バイナリインストーラーを含むインストール手順についてはこちらのページをご参照ください。

コマンダーをインストールした後、keeper shell と入力してセッションを開き、login コマンドを使用してログインできます。オートメーターを設定するには、Keeper管理者またはSSOノードを管理する権限を持つ管理者としてログインする必要があります。

Keeperコマンダーにログインし、automator create で始まる一連のコマンドを使用してオートメーターを有効化します。

ノード名 (この場合は「Azure Cloud」) は、以下に示すように管理コンソールUIから取得します。

オートメーターの作成

コマンドの出力には、IDプロバイダからのメタデータを含むオートメーター設定が表示されます。

URLはまだ設定されていません。以下のように automator edit コマンドを実行します。これによりURLとスキルが設定されます (team、 team_for_user、device)。

続いてキーを交換します。オートメーター公開キーで暗号化されたエンタープライズ秘密キーがオートメーターへ渡されます。

続いて、他のIdPメタデータをオートメーターに送信します。

オートメーターサービスを有効にします。

この時点で設定は完了です。

7. ネットワークアクセスの制限

Keeperのサーバーからのインバウンドアクセスに限定するよう、ネットワークアクセスを制限する必要があります。許可するIPアドレスの一覧は、インバウンド要件をご参照ください。

8. オートメーターサービスをテスト

単一のポッドでオートメーターサービスが適切に動作していることを確認するには、以下の手順を行います。

  • ブラウザのシークレットモードでウィンドウを開きます

  • SSOユーザーアカウントを使用してKeeperウェブボルトにログインします

  • SSOログインの成功後にデバイスの承認が必要ないことを確認します

9. ポッド設定を更新

この時点では、単一のポッド設定を実行しています。最初のポッドにオートメーターサービスがセットアップされKeeperクラウドに設定されたので、ポッドの数を増やせます。以下のように、YAMLファイル内の replicas ステートメントを実行したいポッドの数に更新します。

続いて変更を適用します。

複数のポッドが実行されている場合、コンテナはラウンドロビン方式のセットアップで負荷が分散されます。最初の承認リクエスト時に構成設定がKeeperクラウドからオートメーターポッドへ自動的かつ安全にロードされます。

オートメーターサービスのトラブルシューティング

オートメーターサービスを実行しているログファイルでエラーを監視できます。ポッドのリストを取得するには、以下を実行します。

以下のコマンドを使用して、ターミナル経由でオートメーターコンテナに接続します。

ログファイルは logs/ フォルダにあります。ターミナルに接続する代わりに、以下のコマンドからコンテナのログファイルを追跡することもできます。

最終更新