アクティブ ディレクトリで Kubernetes LDAP 認証を構成する方法について学習しますか? このチュートリアルでは、Windows Active Directory と LDAP プロトコルを使用して Kubernetes ダッシュボード ユーザーを認証する方法を示します。
• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18
このチュートリアルでは、単一ノード Kubernetes クラスターをインストールします。
この例では、Kubernetes マスターノードの IP アドレスは 192.168.15.200 です。
この例では、ドメイン コントローラの IP アドレスは 192.168.15.10 です。
クベルネテス – チュートリアル
このページでは、Kubernetes に関連するチュートリアルのリストにすばやくアクセスできます。
チュートリアルウィンドウ – ドメインコントローラファイアウォール
• IP – 192.168.15.10
•オペラシステム – WINDOWS 2012 R2
• ホスト名 – テック DC01
まず、Windows ドメイン コントローラにファイアウォールルールを作成する必要があります。
このファイアウォール規則により、Kubernetes サーバーは Active ディレクトリに対してクエリを実行できます。
ドメイン コントローラで、セキュリティが強化された Windows ファイアウォールという名前のアプリケーションを開きます。
新しい受信ファイアウォール規則を作成します。
[ポート] オプションを選択します。
[TCP] オプションを選択します。
[特定のローカル ポート] オプションを選択します。
TCP ポート 389 を入力します。
[接続を許可する] オプションを選択します。
ドメイン オプションを確認します。
[プライベート] オプションをオンにします。
[パブリック] オプションをオンにします。
ファイアウォール規則の説明を入力します。
これで、必要なファイアウォールルールが作成されました。
このルールにより、Kubernetes サーバーは Active Directory データベースを照会できるようになります。
チュートリアルウィンドウ – ドメインアカウントの作成
次に、Active Directory データベースに少なくとも 2 つのアカウントを作成する必要があります。
ADMINアカウントは、Kubernetesダッシュボードにログインするために使用されます。
BIND アカウントは、アクティブ ディレクトリ データベースのクエリに使用されます。
ドメイン コントローラーで、次の名前のアプリケーションを開きます: Active Directory ユーザーとコンピューター
Users コンテナ内に新しいアカウントを作成します。
admin という名前の新しいアカウントを作成します。
ADMIN ユーザーに設定されたパスワード: 123qwe..
このアカウントは Kubernetes Web インターフェイスで認証するために使用されます。
次の名前の新しいアカウントを作成します。
BIND ユーザーに設定されたパスワード: kamisama123..
Kubernetes はこのアカウントを使用して Active Directory に対してクエリを実行します。
これで、必要なアクティブ ディレクトリ アカウントが作成されました。
チュートリアルウィンドウ – ドメイングループの作成
次に、アクティブ ディレクトリにグループを作成する必要があります。
ドメイン コントローラーで、次の名前のアプリケーションを開きます: Active Directory ユーザーとコンピューター
Users コンテナ内に新しいグループを作成します。
次の名前の新しいグループを作成します。
このグループのメンバーは、Kubernetes ダッシュボードでの管理権限を持ちます。
大事な! 管理者ユーザーを KUBERNETES-ADMIN のメンバーとして追加します。
これで、必要なアクティブ ディレクトリ グループが作成されました。
チュートリアル Kubernetes – マスター ノードのインストール
必要なパッケージの一覧をインストールします。
Docker サービスをインストールします。
ブート中に Docker サービスを有効にします。
Docker サービス構成ファイルを編集します。
EXECSTART という名前の項目の末尾に、次の構成を追加します。
設定前のファイルを次に示します。
ここに私たちの設定の後のファイルがあります。
システム構成ファイルを作成します。
ここにファイルの内容があります。
システム構成ファイルを有効にします。
MODULES という名前の構成ファイルを編集します。Conf
このファイルの末尾に次の構成を追加します。
FSTAB 構成ファイルを編集し、スワップ メモリの使用を無効にします。
設定前のファイルを次に示します。
ここに私たちの設定の後のファイルがあります。
一意のホスト名を設定します。
必要な環境変数を構成するファイルを作成します。
ここにファイルの内容があります。
コンピュータを再起動します。
Kubernetes リポジトリ キーをダウンロードしてインストールします。
公式の Kubernetes リポジトリを追加します。
Kubernetes パッケージをインストールします。
必要なKubernetes画像をダウンロードしてください。
コマンド出力を次に示します。
Kubernetes クラスターを初期化します。
コマンド出力を次に示します。
Kubernetes クラスターにノードを追加するコマンドをメモします。
Kubernetes 構成ファイルに正しいファイル権限を設定します。
必要なネットワーク構成をインストールします。
デフォルトでは、Kubernetes マスターノードは PODS を実行できません。
必要に応じて、Kubernetes マスターノードで PODS を実行できるようにします。
この例では、単一ノード Kubernetes クラスターを使用しています。
チュートリアル – Kubernetes ダッシュボードのインストール
必要なパッケージの一覧をインストールします。
必要な YAML ファイルをダウンロードします。
Kubernetes ダッシュボードをインストールします。
コマンド出力を次に示します。
ダッシュボードのサービス アカウントを作成します。
クラスター管理者の役割をダッシュボード サービス アカウントに構成します。
Apache プロキシのサービス アカウントを作成します。
Apache プロキシアカウントにクラスタ管理ロールを設定します。
Kubernetes サーバーで利用可能な Apache シークレットをリストします。
コマンド出力を次に示します。
あなたの秘密の名前は私たちの名前と同じではありません。
Apache シークレットトークンの値を取得します。
コマンド出力を次に示します。
Apache トークンの値を書き留めます。
この例では、トークンの値を次に示します。
ダッシュボード サービス クラスターの IP アドレスを一覧表示します。
コマンド出力を次に示します。
クラスタの IP アドレスと TCP ポートをメモします。
この例では、ダッシュボード クラスターは TCP ポート 443 と IP アドレス 10.107.55.24 を使用しています。
必要なダッシュボードの設定が完了しました。
Kubernetes プロキシ – Apache を使用した基本ユーザー認証
マスターノードで、Apache サーバーをインストールします。
必要な Apache モジュールを有効にします。
Apache 構成ファイルを編集します。
このファイルの末尾に次の行を追加します。
OpenSSL コマンドを使用して、秘密鍵と証明書を作成します。
要求された情報を入力します。
COMMON_NAMEという名前のオプションで、IP アドレスまたはホスト名を入力する必要があります。
この例では、IP アドレス 192.168.15.200 を使用します。
既存の Kubernetes プロキシ証明書とキーを PEM 形式の単一ファイルに変換します。
デフォルトの Web サイトの Apache 構成ファイルを編集します。
ここでは、設定の前にファイルがあります。
ここに、設定後のファイルがあります。
AUTHLDAPURL という名前の構成項目の IP アドレスをドメイン コントローラの IP アドレスに変更します。
環境に合わせて、Active Directory のすべてのドメイン情報を変更します。
プロキシパスとプロキシパスREVERSEという名前の設定項目の IP アドレスを、ダッシュボード・クラスターの IP アドレスに変更します。
前に作成した Apache シークレットトークン値に、要求ヘッダーという名前の CI のトークン値を変更します。
この例では、自己署名証明書を使用した HTTPS の使用を有効にしました。
この例では、LDAP 認証の使用を構成しました。
Apache は、ユーザーとダッシュボードクラスターの IP アドレス間の HTTPS 通信を表します。
Apache は Kubernetes サーバーのインストール中に自動的に作成された証明書と鍵を使用して、ダッシュボードで相互 TLS 認証を実行します。
Apache サーバーは、ダッシュボードに送信されるすべてのパケットにヘッダーを追加します。
このヘッダーは AUTHORIZATION BEARER という名前で、Apache プロキシーで前に作成されたシークレット・トークンを含みます。
また、Apache は HTTP ユーザーを要求された URL の HTTPS バージョンにリダイレクトします。
Apache サービスを再起動します。
ブラウザを開き、Apache サーバの IP アドレスの HTTPS バージョンにアクセスします。
この例では、次の URL がブラウザに入力されました。
• https://192.168.15.200
Apache サーバーでは、ユーザー認証を実行する必要があります。
ログインが成功すると、Kubernetes ダッシュボードが表示されます。
Apache プロキシは、次の名前の機能を使用して Kubernetes ダッシュボードに対して自動的に認証されます: AUTH HEADER.
Kubernetes ダッシュボードのプロキシとして Apache の設定が正常に完了しました。