Kubernetes ダッシュボードのインストール方法、Nginx をプロキシとして構成する方法、Nginx を使用してユーザー認証を制御する方法を学習しますか? このチュートリアルでは、Kubernetes ダッシュボードをインストールし、Ubuntu Linux を実行しているコンピューターで認証プロキシとして Nginx を使用できるようにする方法を説明します。
• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18
このチュートリアルでは、単一ノード Kubernetes クラスターをインストールします。
この例では、Kubernetes マスター ノードの IP アドレスは 192.168.15.200 です。
クベルネテス – チュートリアル
このページでは、Kubernetes に関連するチュートリアルのリストにすばやくアクセスできます。
チュートリアル Kubernetes – マスター ノードのインストール
必要なパッケージの一覧をインストールします。
Docker サービスをインストールします。
ブート中に Docker サービスを有効にします。
Docker サービス構成ファイルを編集します。
EXECSTART という名前の項目の末尾に、次の構成を追加します。
設定前のファイルを次に示します。
ここに私たちの設定の後のファイルがあります。
システム構成ファイルを作成します。
ここにファイルの内容があります。
システム構成ファイルを有効にします。
MODULES という名前の構成ファイルを編集します。Conf
このファイルの末尾に次の構成を追加します。
FSTAB 構成ファイルを編集し、スワップ メモリの使用を無効にします。
設定前のファイルを次に示します。
ここに私たちの設定の後のファイルがあります。
一意のホスト名を設定します。
必要な環境変数を構成するファイルを作成します。
ここにファイルの内容があります。
コンピュータを再起動します。
Kubernetes リポジトリ キーをダウンロードしてインストールします。
公式の Kubernetes リポジトリを追加します。
Kubernetes パッケージをインストールします。
必要なKubernetes画像をダウンロードしてください。
コマンド出力を次に示します。
Kubernetes クラスターを初期化します。
コマンド出力を次に示します。
Kubernetes クラスターにノードを追加するコマンドをメモします。
Kubernetes 構成ファイルに正しいファイル権限を設定します。
必要なネットワーク構成をインストールします。
デフォルトでは、Kubernetes マスターノードは PODS を実行できません。
必要に応じて、Kubernetes マスターノードで PODS を実行できるようにします。
この例では、単一ノード Kubernetes クラスターを使用しています。
チュートリアル – Kubernetes ダッシュボードのインストール
必要なパッケージの一覧をインストールします。
必要な YAML ファイルをダウンロードします。
Kubernetes ダッシュボードをインストールします。
コマンド出力を次に示します。
ダッシュボードのサービス アカウントを作成します。
クラスター管理者の役割をダッシュボード サービス アカウントに構成します。
Nginx プロキシのサービス アカウントを作成します。
Nginx プロキシ アカウントにクラスタ管理ロールを設定します。
Kubernetes サーバーで使用できる Nginx シークレットを一覧表示します。
コマンド出力を次に示します。
あなたの秘密の名前は私たちの名前と同じではありません。
Nginx シークレット トークン値を取得します。
コマンド出力を次に示します。
Nginx トークンの値をメモします。
この例では、トークンの値を次に示します。
ダッシュボード サービス クラスターの IP アドレスを一覧表示します。
コマンド出力を次に示します。
クラスタの IP アドレスと TCP ポートをメモします。
この例では、ダッシュボード クラスターは TCP ポート 443 と IP アドレス 10.107.55.24 を使用しています。
必要なダッシュボードの設定が完了しました。
Kubernetes プロキシ – Nginx を使用した基本ユーザー認証
マスターノードに Nginx サーバーをインストールします。
Nginx パスワード ファイルを作成し、最初のユーザー アカウントを追加します。
システムは、新しいユーザー アカウントにパスワードを入力するように要求します。
ここにファイルの内容があります。
追加のユーザー アカウントを作成するには、次のコマンドを使用します。
OpenSSL コマンドを使用して、秘密キーと証明書を作成します。
要求された情報を入力します。
COMMON_NAMEという名前のオプションで、IP アドレスまたはホスト名を入力する必要があります。
この例では、IP アドレス 192.168.15.200 を使用しました。
デフォルトの Web サイトの Nginx 構成ファイルを編集します。
ここでは、設定の前にファイルがあります。
ここに、設定後のファイルがあります。
ダッシュボード クラスターの IP アドレスにPROXY_PASSという名前の構成項目の IP アドレスを変更します。
PROXY_SET_HEADERという名前の構成項目のトークン値を、以前に作成した Nginx シークレット トークン値に変更します。
この例では、自己署名証明書を使用した HTTPS の使用を有効にしました。
この例では、Nginx 基本認証の使用を構成しました。
Nginx は、ユーザーとダッシュボード クラスターの IP アドレス間の HTTPS 通信をプロキシします。
Nginx は Kubernetes サーバーのインストール中に自動的に作成された証明書とキーを使用して、ダッシュボードへの相互 TLS 認証を実行します。
Nginx サーバーは、ダッシュボードに送信されるすべてのパケットにヘッダーを追加します。
このヘッダーは AUTHORIZATION BEARER という名前で、以前に Nginx プロキシに作成されたシークレット トークンを含みます。
Nginx サービスを再起動します。
ブラウザを開き、NGInx サーバーの IP アドレスの HTTPS バージョンにアクセスします。
この例では、ブラウザに次の URL が入力されています。
• https://192.168.15.200
Nginx サーバーでは、ユーザー認証を実行する必要があります。
ログインが成功すると、Kubernetes ダッシュボードが表示されます。
Nginx プロキシは、次の名前の機能を使用して Kubernetes ダッシュボードで認証を自動的に実行します: AUTH HEADER。
Kubernetes ダッシュボードのプロキシとして Nginx の設定が正常に完了しました。