アクティブ ディレクトリで 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 ファイアウォールという名前のアプリケーションを開きます。

新しい受信ファイアウォール規則を作成します。

zabbix active directory

[ポート] オプションを選択します。

zabbix windows firewall port

[TCP] オプションを選択します。

[特定のローカル ポート] オプションを選択します。

TCP ポート 389 を入力します。

zabbix windows firewall port ldap

[接続を許可する] オプションを選択します。

zabbix windows firewall allow connection

ドメイン オプションを確認します。

[プライベート] オプションをオンにします。

[パブリック] オプションをオンにします。

Zabbix windows firewall profile

ファイアウォール規則の説明を入力します。

windows firewall active directory

これで、必要なファイアウォールルールが作成されました。

このルールにより、Kubernetes サーバーは Active Directory データベースを照会できるようになります。

チュートリアルウィンドウ – ドメインアカウントの作成

次に、Active Directory データベースに少なくとも 2 つのアカウントを作成する必要があります。

ADMINアカウントは、Kubernetesダッシュボードにログインするために使用されます。

BIND アカウントは、アクティブ ディレクトリ データベースのクエリに使用されます。

ドメイン コントローラーで、次の名前のアプリケーションを開きます: Active Directory ユーザーとコンピューター

Users コンテナ内に新しいアカウントを作成します。

Zabbix active directory account

admin という名前の新しいアカウントを作成します。

ADMIN ユーザーに設定されたパスワード: 123qwe..

このアカウントは Kubernetes Web インターフェイスで認証するために使用されます。

active directory admin account
zabbix active directory admin properties

次の名前の新しいアカウントを作成します。

BIND ユーザーに設定されたパスワード: kamisama123..

Kubernetes はこのアカウントを使用して Active Directory に対してクエリを実行します。

active directory bind account
zabbix active directory ldap bind properties

これで、必要なアクティブ ディレクトリ アカウントが作成されました。

チュートリアルウィンドウ – ドメイングループの作成

次に、アクティブ ディレクトリにグループを作成する必要があります。

ドメイン コントローラーで、次の名前のアプリケーションを開きます: Active Directory ユーザーとコンピューター

Users コンテナ内に新しいグループを作成します。

Grafana active directory group

次の名前の新しいグループを作成します。

このグループのメンバーは、Kubernetes ダッシュボードでの管理権限を持ちます。

Kubernetes LDAP authentication group

大事な! 管理者ユーザーを KUBERNETES-ADMIN のメンバーとして追加します。

Kubernetes LDAP Active directory group

これで、必要なアクティブ ディレクトリ グループが作成されました。

チュートリアル Kubernetes – マスター ノードのインストール

必要なパッケージの一覧をインストールします。

Copy to Clipboard

Docker サービスをインストールします。

Copy to Clipboard

ブート中に Docker サービスを有効にします。

Copy to Clipboard

Docker サービス構成ファイルを編集します。

Copy to Clipboard

EXECSTART という名前の項目の末尾に、次の構成を追加します。

Copy to Clipboard

設定前のファイルを次に示します。

Copy to Clipboard

ここに私たちの設定の後のファイルがあります。

Copy to Clipboard

システム構成ファイルを作成します。

Copy to Clipboard

ここにファイルの内容があります。

Copy to Clipboard

システム構成ファイルを有効にします。

Copy to Clipboard

MODULES という名前の構成ファイルを編集します。Conf

Copy to Clipboard

このファイルの末尾に次の構成を追加します。

Copy to Clipboard

FSTAB 構成ファイルを編集し、スワップ メモリの使用を無効にします。

Copy to Clipboard

設定前のファイルを次に示します。

Copy to Clipboard

ここに私たちの設定の後のファイルがあります。

Copy to Clipboard

一意のホスト名を設定します。

Copy to Clipboard

必要な環境変数を構成するファイルを作成します。

Copy to Clipboard

ここにファイルの内容があります。

Copy to Clipboard

コンピュータを再起動します。

Copy to Clipboard

Kubernetes リポジトリ キーをダウンロードしてインストールします。

Copy to Clipboard

公式の Kubernetes リポジトリを追加します。

Copy to Clipboard

Kubernetes パッケージをインストールします。

Copy to Clipboard

必要なKubernetes画像をダウンロードしてください。

Copy to Clipboard

コマンド出力を次に示します。

Copy to Clipboard

Kubernetes クラスターを初期化します。

Copy to Clipboard

コマンド出力を次に示します。

Copy to Clipboard

Kubernetes クラスターにノードを追加するコマンドをメモします。

Copy to Clipboard

Kubernetes 構成ファイルに正しいファイル権限を設定します。

Copy to Clipboard

必要なネットワーク構成をインストールします。

Copy to Clipboard

デフォルトでは、Kubernetes マスターノードは PODS を実行できません。

必要に応じて、Kubernetes マスターノードで PODS を実行できるようにします。

Copy to Clipboard

この例では、単一ノード Kubernetes クラスターを使用しています。

チュートリアル – Kubernetes ダッシュボードのインストール

必要なパッケージの一覧をインストールします。

Copy to Clipboard

必要な YAML ファイルをダウンロードします。

Copy to Clipboard

Kubernetes ダッシュボードをインストールします。

Copy to Clipboard

コマンド出力を次に示します。

Copy to Clipboard

ダッシュボードのサービス アカウントを作成します。

Copy to Clipboard

クラスター管理者の役割をダッシュボード サービス アカウントに構成します。

Copy to Clipboard

Apache プロキシのサービス アカウントを作成します。

Copy to Clipboard

Apache プロキシアカウントにクラスタ管理ロールを設定します。

Copy to Clipboard

Kubernetes サーバーで利用可能な Apache シークレットをリストします。

Copy to Clipboard

コマンド出力を次に示します。

Copy to Clipboard

あなたの秘密の名前は私たちの名前と同じではありません。

Apache シークレットトークンの値を取得します。

Copy to Clipboard

コマンド出力を次に示します。

Copy to Clipboard

Apache トークンの値を書き留めます。

この例では、トークンの値を次に示します。

Copy to Clipboard

ダッシュボード サービス クラスターの IP アドレスを一覧表示します。

Copy to Clipboard

コマンド出力を次に示します。

Copy to Clipboard

クラスタの IP アドレスと TCP ポートをメモします。

この例では、ダッシュボード クラスターは TCP ポート 443 と IP アドレス 10.107.55.24 を使用しています。

必要なダッシュボードの設定が完了しました。

Kubernetes プロキシ – Apache を使用した基本ユーザー認証

マスターノードで、Apache サーバーをインストールします。

Copy to Clipboard

必要な Apache モジュールを有効にします。

Copy to Clipboard

Apache 構成ファイルを編集します。

Copy to Clipboard

このファイルの末尾に次の行を追加します。

Copy to Clipboard

OpenSSL コマンドを使用して、秘密鍵と証明書を作成します。

Copy to Clipboard

要求された情報を入力します。

Copy to Clipboard

COMMON_NAMEという名前のオプションで、IP アドレスまたはホスト名を入力する必要があります。

この例では、IP アドレス 192.168.15.200 を使用します。

既存の Kubernetes プロキシ証明書とキーを PEM 形式の単一ファイルに変換します。

Copy to Clipboard

デフォルトの Web サイトの Apache 構成ファイルを編集します。

Copy to Clipboard

ここでは、設定の前にファイルがあります。

Copy to Clipboard

ここに、設定後のファイルがあります。

Copy to Clipboard

AUTHLDAPURL という名前の構成項目の IP アドレスをドメイン コントローラの IP アドレスに変更します。

環境に合わせて、Active Directory のすべてのドメイン情報を変更します。

プロキシパスとプロキシパスREVERSEという名前の設定項目の IP アドレスを、ダッシュボード・クラスターの IP アドレスに変更します。

前に作成した Apache シークレットトークン値に、要求ヘッダーという名前の CI のトークン値を変更します。

この例では、自己署名証明書を使用した HTTPS の使用を有効にしました。

Copy to Clipboard

この例では、LDAP 認証の使用を構成しました。

Copy to Clipboard

Apache は、ユーザーとダッシュボードクラスターの IP アドレス間の HTTPS 通信を表します。

Copy to Clipboard

Apache は Kubernetes サーバーのインストール中に自動的に作成された証明書と鍵を使用して、ダッシュボードで相互 TLS 認証を実行します。

Copy to Clipboard

Apache サーバーは、ダッシュボードに送信されるすべてのパケットにヘッダーを追加します。

このヘッダーは AUTHORIZATION BEARER という名前で、Apache プロキシーで前に作成されたシークレット・トークンを含みます。

Copy to Clipboard

また、Apache は HTTP ユーザーを要求された URL の HTTPS バージョンにリダイレクトします。

Copy to Clipboard

Apache サービスを再起動します。

Copy to Clipboard

ブラウザを開き、Apache サーバの IP アドレスの HTTPS バージョンにアクセスします。

この例では、次の URL がブラウザに入力されました。

• https://192.168.15.200

Apache サーバーでは、ユーザー認証を実行する必要があります。

Kubernetes Dashboard Proxy Authentication

ログインが成功すると、Kubernetes ダッシュボードが表示されます。

Kubernetes Dashboard

Apache プロキシは、次の名前の機能を使用して Kubernetes ダッシュボードに対して自動的に認証されます: AUTH HEADER.

Kubernetes dashboard Authorization bearer

Kubernetes ダッシュボードのプロキシとして Apache の設定が正常に完了しました。