Red Hat OpenShift Bastion ノードのセットアップ
展開を有効にするには、 Red Hat® OpenShift® のインストール手順を実行し、 HTTP Server をホストする仮想マシン(VM)がプロビジョニングされます。 このVMは、バスターノードとして知られています。 bastion ノードは Red Hat OpenShift 論理スイッチに接続され、ジャンプ・サーバーまたはリモート・デバイスからの SSH アクセスを許可するように、ESG ファイアウォールと NAT ルールが構成されます。
bastion ノードは Red Hat® Enterprise Linux® を実行し、ブートストラップ、コントロール・プレーン、およびコンピュートの各ノードをプロビジョニングするためのスクリプト、ファイル、およびツールをホストするために使用されます。 デプロイメント後に、bastion ノードをクラスターの管理ノードとして保持することをお勧めします。
bastion ノードのセットアップは、以下のステップで構成されます。
- Red HatVMをプロビジョニングします。
- Red Hat VMを登録します。
- NGINX (HTTP サーバー) をインストールします。
- SSH 秘密鍵を生成し、エージェントに追加します。
Red Hat VM のプロビジョニング
以下の仕様に基づいて、 Red Hat のVMを用意してください。 VMのプロビジョニングには、 vCenter サーバーのユーザーインターフェースを使用するか、またはこの文書の後半で説明されている PowerCLI スクリプトを使用します。 NSX ESG で構成されている NAT アドレスを記録します。
VM | IP アドレス | ゲートウェイ | ディスク (GB) | メモリー (GB) | vCPU | NAT アドレス |
---|---|---|---|---|---|---|
bastion |
192.168.133.8 | 192.168.133.1 | 50 | 2 | 1 | 10.208.59.197 |
以下の表を使用して、デプロイメントの詳細を記録します。
パラメーター | 例 | デプロイメント |
---|---|---|
vCenter Server IP アドレス | ||
vCenter Server のユーザー | ||
vCenter Server のパスワード | ||
論理スイッチ | OpenShift-LS |
|
vCenter Server インスタンス・データ・ストア | vsanDatastore |
|
VM 名 | bastion |
|
ISO ファイル名 | rhel-8.x-x86_64-dvd.iso |
|
IP アドレス | 192.168.133.8 | |
ネットマスク | 255.255.255.0 | |
デフォルト・ゲートウェイ | 192.168.133.1 |
開始する前に、vCenter CLI または以下の PowerCLI スクリプトを使用して VM を作成します。
# Connect to vCenter
connect-VIserver –server <IP_Address> -User <UserName> -Password '<Password>'
# Create VM
$ls = get-nsxtransportzone | get-nsxlogicalswitch OpenShift-LS | Get-NsxBackingPortGroup | Select-Object Name
$ds = get-datastore -Name vsanDatastore
$vm = New-VM -Name bastion -Datastore $ds -DiskGB 50 -DiskStorageFormat Thin -MemoryGB 2 -NumCpu 1 -Notes "OpenShift Bastion node" -NetworkName $ls.name -GuestId rhel8_64Guest
# Connect a CD Drive loaded with the RHEL ISO
New-CDDrive -VM $vm -IsoPath "[vsanDatastore] ISO\rhel-8.x-x86_64-dvd.iso" -StartConnected
#Start the VM
Start-VM -VM $vm
# Disconnect
Disconnect-NsxServer
VM の始動後、Web コンソールまたはリモート・コンソールを使用して VM に接続し、以下のインストール・ステップを実行します。 必要に応じて、Red Hat Enterprise Linux の資料を参照してください。
- 必要な言語を選択します。
- 日時を設定します。
- ネットワークおよびホスト名を構成します。
- インストール先を選択します。
- ルート・パスワードを設定します。
- ユーザーを作成します。
Red Hat VM の登録
このステップでは、Red Hat サブスクリプションの詳細を指定する必要があります。
- ユーザー名
- パスワード
- サブスクリプション・プール
bastion ノードがデプロイされたら、それを Red Hat パブリック・リポジトリーに登録する必要があります。 ジャンプ・ホストまたはリモート・デバイスから、SSH で bastion ノードに接続します。 su
コマンドを使用して root 権限を取得し、ユーザー名、パスワード、プールを実際の変数に置き換えた後に以下のコマンドを実行します。
export rhel_subscription_username=<email address>
export rhel_subscription_password=<password>
sudo subscription-manager register --username=${rhel_subscription_username} --password=${rhel_subscription_password} --force
subscription-manager refresh
subscription-manager attach --pool=<pool>
subscription-manager repos --disable="*"
subscription-manager repos --enable rhel-8-server-rpms
subscription-manager repos --enable rhel-8-server-extras-rpms
subscription-manager repos --enable rhel-server-rhscl-8-rpms
NGINX (HTTP サーバー) のインストール
Red Hat OpenShift ノードのデプロイメントでは Ignition が使用されます。このプロセスでは、必要な構成をダウンロードするために HTTP Server が使用可能であることが必要です。 このデプロイメントでは、bastion ノードで実行されている NGINX インスタンスを使用します。 NGNIX をインストールするには、bastion ノードに接続して root 権限を取得してから、以下のステップを実行します。
-
vi などのテキスト・エディターを使用して、ファイル
vi /etc/yum.repos.d/nginx.repo
を作成します。 -
挿入するために
i
と入力して、以下の情報をファイルに貼り付けます。[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/rhel/8/$basearch/ gpgcheck=0 enabled=1
-
Esc を押してコマンド・モードに戻り、
:wq
と入力してファイルを保存し、vi を終了します。 -
yum
コマンドを使用して NGINX パッケージをインストールします。yum update yum install -y nginx
-
デフォルト構成ファイル
vi /etc/nginx/conf.d/default.conf
を作成します。 -
挿入するために
i
と入力して、以下の情報をファイルに貼り付けます。server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } }
-
Esc を押してコマンド・モードに戻り、
:wq
と入力してファイルを保存し、vi を終了します。 -
以下のコマンドを実行して、NGINX を始動します。
systemctl enable nginx systemctl start nginx
-
Linux ファイアウォールは、以下の firewall-cmd コマンドを使用して、HTTP を有効にするように構成される必要があります。
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --reload
SSH 秘密鍵の生成とエージェントへの追加
インストール・デバッグまたは災害復旧を実行する対象の Red Hat OpenShift コンテナー・プラットフォーム・クラスターでは、ssh-agent プロセスによってインストーラーに使用される SSH 鍵を指定する必要があります。
この鍵を使用して、ノードにユーザー・コアとして SSH で接続できます。 クラスターをデプロイすると、鍵がコア・ユーザーの ~/.ssh/authorized_keys
リストに追加されます。
ローカルの鍵を使用する必要があります。
SSH 鍵の作成
-
バストノードのSSHセッションで、次のコマンドを実行します。これにより、
rsa
の公開鍵または秘密鍵のペアが/root/.ssh
のディレクトリに生成されますssh-keygen -f ~/.ssh/id_rsa -t rsa -b 4096 -N ''
秘密鍵は
/root/.ssh/id_rsa
で、公開鍵は/root/.ssh/id_rsa.pub
です。 -
バックグラウンド・タスクとして ssh-agent プロセスを開始します。
eval "$(ssh-agent -s)"
-
SSH 秘密鍵を ssh-agent に追加します。
ssh-add /root/.ssh/id_rsa
インストール・ツールのダウンロード
Red Hat OpenShift 4.14 のインストールの詳細については、ユーザー プロビジョニング インフラストラクチャを使用した vSphere へのクラスタのインストール を参照してください。
Red Hat OpenShift ユーザープロバイダーのインフラストラクチャへのアクセス方法の詳細については 、「 Red Hat OpenShift コンテナプラットフォームのインターネットおよびテレメトリアクセス 」を参照してください。
Red Hat OpenShift Container Platform をインストールする前に、いくつかのファイルを bastion ノードにダウンロードして、解凍する必要があります。 以下のアクションを実行します。
unzip
をダウンロードし、ダウンロードしたファイルを解凍します。- インストール・ディレクトリーを作成し、それを作業ディレクトリーにします。
- Red Hat OpenShift のインストール・ツールとクライアント・ツールをダウンロードします。
- ダウンロードしたバンドルを解凍します。
- 使用しやすいように、
/usr/local/bin
にコマンドを移動します。 - Git をインストールして、Red Hat OpenShift インストーラーをダウンロードします。
- インストーラー・リポジトリーを bastion ノードに複製します。
- Terraform をダウンロードして、使いやすいように
/usr/local/bin
ディレクトリーに解凍します。
以下のコマンドは、root 権限を持つ bastion ノードへの SSH セッションで使用されます。 4.x を現在の Red Hat OpenShift バージョンに置き換えます。例えば、 4.14。
# Download unzip
yum install -y wget unzip
# Create an installation directory and make it the working directory
mkdir -p /opt/ocpinstall
cd /opt/ocpinstall
# Download the OpenShift installer and client tools
wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest-4.x/openshift-client-linux.tar.gz
wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest-4.x/openshift-install-linux.tar.gz
# Extract the downloaded bundles
tar -xvf openshift-client-linux.tar.gz
tar -xvf openshift-install-linux.tar.gz
# Move commands to /usr/local/bin for ease of use
mv kubectl oc openshift-install /usr/local/bin
mv openshift-install /usr/local/bin
# Install git and clone the OpenShift installer
yum install -y git
git clone -b release-4.x https://github.com/openshift/installer
# Download and extract terraform
wget https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip
unzip terraform_0.11.13_linux_amd64.zip
mv terraform /usr/local/bin
Bastion ノードは、Red Hat OpenShift 4.14 で説明されています。Red Hat OpenShift 4.14 ユーザ・プロバイダ・インフラストラクチャのインストール で説明されています。