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の作成

KeeperオートメーターのSSL証明書がSecretとしてKubernetesサービスに提供されます。SSL証明書とSSL証明書パスワード (SSL 証明書ガイドから作成) を保存するには、以下のコマンドを実行します。

3. マニフェストの作成

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

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

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

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

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

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

4. サービスのデプロイ

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

5. サービスステータスのチェック

ウェブブラウザでサービスが実行されていることを確認します (テストしているデバイスからポート 30000を開く必要があります)。 今回の場合、URLはhttps://automator2.lurey.com:30000/api/rest/statusとなります。

自動ヘルスチェックには以下のURLもご利用になれます。

https://<server>/health

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

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

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

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

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

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

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

オートメーターの作成

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

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

次にキーを交換します。オートメーター公開キーで暗号化されたエンタープライズ秘密キーがオートメーターに提供されます。

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

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

この時点で設定は完了となります。

7. サービスの確保

Keeperのサーバーおよびご利用のワークステーションからサービスへのネットワークアクセスを制限することを推奨します。許可するKeeper IPアドレスのリストについては、イングレス要件をご参照ください。

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

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

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

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

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

9. ポッド設定の更新

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

次に変更を適用します。

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

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

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

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

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

最終更新

役に立ちましたか?