![K8s クラスターでの Jenkins (および他のアプリ) ユーザー認証](https://rvso.com/image/726810/K8s%20%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%A7%E3%81%AE%20Jenkins%20(%E3%81%8A%E3%82%88%E3%81%B3%E4%BB%96%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA)%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E8%AA%8D%E8%A8%BC.png)
オンプレミスの Kubernetes クラスター内のポッドで Jenkins を実行しています。私の会社では AD を使用しており、クラスター外の Jenkins インスタンス (これからクラスター インスタンスに移行しています) では認証に LDAP を使用しています。クラスターでは nginx イングレス コントローラーが実行されており、URL (jenkins.cluster.mycompany.com など) に基づいて、クラスター内の適切なアプリに http および https リクエストを振り分けます。
すべてのクラスター メンバーに対してファイアウォール リクエストを送信することもできますが、Jenkins に加えて、LDAP 経由の同じタイプの認証を必要とするアプリが複数あるため、これは近視眼的すぎるようです
。考え私が探していたのは、AD/LDAP 認証呼び出しをプロキシし、すべてのクラスター アプリがそれを使用できる、何らかの内部クラスター サービスでした。プロキシを使用するのは、実際の AD サーバーが Windows であり、クラスター内で Win2kXs コンテナーを AD レプリカとして実行したくないためです。この方法では、ファイアウォール ルールは単一の IP、つまりプロキシの外部 NET アドレスになります。
これを行う方法について、何か考えや推奨事項はありますか? 調査を始めたばかりで、クラスターとアプリを正しく構築したいと考えています。LDAP を Kubernetes に接続する方法については多くの情報がありますが、そのためには証明書を使用します。クラスター自体ではなく、内部アプリへのアクセス権をユーザーに付与する必要があります。