6.4. リモートアクセス用の追加の kubeconfig ファイルの生成
デフォルトのリモートアクセスファイルが提供するものより多くのホスト名または IP アドレスが必要な場合は、追加の kubeconfig ファイルを生成して使用できます。
設定の変更を実装するには、MicroShift を再起動する必要があります。
前提条件
-
MicroShift の
config.yamlが作成されている。
手順
オプション:
config.yamlの内容を表示できます。以下のコマンドを実行します。cat /etc/microshift/config.yaml
$ cat /etc/microshift/config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: リモートアクセス
kubeconfigファイルの内容を表示できます。以下のコマンドを実行します。cat /var/lib/microshift/resources/kubeadmin/<hostname>/kubeconfig
$ cat /var/lib/microshift/resources/kubeadmin/<hostname>/kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要追加のリモートアクセス
kubeconfigファイルには、Red Hat build of MicroShiftconfig.yamlファイルにリストされているサーバー名のいずれかを含める必要があります。追加のkubeconfigファイルも検証に同じ CA を使用する必要があります。追加の DNS 名、SAN、または外部 IP アドレス用に追加の
kubeconfigファイルを生成するには、必要なエントリーをapiServer.subjectAltNamesフィールドに追加します。次の例では、使用される DNS 名はalt-name-1、IP アドレスは1.2.3.4です。追加の認証値を含む
config.yamlの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow MicroShift を再起動して設定の変更を適用し、次のコマンドを実行して必要な
kubeconfigファイルを自動生成します。sudo systemctl restart microshift
$ sudo systemctl restart microshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 追加のリモートアクセス
kubeconfigファイルの内容を確認するには、config.yamlにリストされている名前または IP アドレスをcatコマンドに挿入します。たとえば、次のコマンド例ではalt-name-1が使用されています。cat /var/lib/microshift/resources/kubeadmin/alt-name-1/kubeconfig
$ cat /var/lib/microshift/resources/kubeadmin/alt-name-1/kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの接続に使用する SAN または IP アドレスを含む、使用する
kubeconfigファイルを選択します。この例では、cluster.serverフィールドに `alt-name-1` を含むkubeconfigが正しいファイルです。追加の
kubeconfigファイルの内容の例clusters: - cluster: certificate-authority-data: <base64 CA> server: https://alt-name-1:6443clusters: - cluster: certificate-authority-data: <base64 CA> server: https://alt-name-1:64431 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
/var/lib/microshift/resources/kubeadmin/alt-name-1/kubeconfigファイルの値は、apiServer.subjectAltNames設定値からのものです。
これらのパラメーターはすべて、API サーバーの外部提供証明書に共通名 (CN) およびサブジェクト代替名 (SAN) として含まれています。
6.4.1. MicroShift クラスターへのリモートアクセス用にファイアウォールを開く リンクのコピーリンクがクリップボードにコピーされました!
リモートユーザーが MicroShift クラスターにアクセスできるように、次の手順を使用してファイアウォールを開きます。この手順は、ワークステーションユーザーがリモートでクラスターにアクセスする前に完了する必要があります。
この手順では、user@microshift は、MicroShift ホストマシン上のユーザーであり、別のワークステーション上のリモートユーザーがアクセスできるようにそのマシンをセットアップする責任があります。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - クラスター管理者の権限がある。
手順
MicroShift ホストの
user@microshiftとして、次のコマンドを実行して、Kubernetes API サーバー (6443/tcp) のファイアウォールポートを開きます。sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp && sudo firewall-cmd --reload
[user@microshift]$ sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp && sudo firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
user@microshiftとして次のコマンドを実行して、MicroShift が入力されていることを確認します。oc get pods -A
$ oc get pods -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この出力例は、基本的な MicroShift を示しています。オプションの RPM をインストールしている場合は、それらのサービスを実行している Pod のステータスも出力に表示されるはずです。
6.4.2. MicroShift クラスターへのリモートアクセス リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、kubeconfig ファイルを使用してリモートロケーションから MicroShift クラスターにアクセスします。
user@workstation ログインは、ホストマシンにリモートからアクセスするのに使用されます。手順の <user> 値は、user@workstation が MicroShift ホストにログインするユーザーの名前になります。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
user@microshiftは、ローカルホストからファイアウォールを開いている。
手順
user@workstationとして、Red Hat Enterprise Linux (RHEL) マシンに~/.kube/フォルダーがない場合は、次のコマンドを実行してこのフォルダーを作成します。mkdir -p ~/.kube/
[user@workstation]$ mkdir -p ~/.kube/Copy to Clipboard Copied! Toggle word wrap Toggle overflow user@workstationとして、次のコマンドを実行して、MicroShift ホストのホスト名の変数を設定します。MICROSHIFT_MACHINE=<microshift_hostname>
[user@workstation]$ MICROSHIFT_MACHINE=<microshift_hostname>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <MicroShift_hostname> の値は、実行しているホストの名前または IP アドレスに置き換えます。
user@workstationとして、次のコマンドを実行して、MicroShift を実行している RHEL マシンからローカルマシンに接続するホスト名または IP アドレスを含む生成されたkubeconfigファイルをコピーします。ssh <user>@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config
[user@workstation]$ ssh <user>@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <user> は、SSH ログイン認証情報に置き換えます。
注記この手順の
kubeconfigファイルを生成するには、リモートアクセス用の kubeconfig ファイルの追加生成 を参照してください。user@workstationとして、次のコマンドを実行して~/.kube/configファイルのパーミッションを更新します。chmod go-r ~/.kube/config
$ chmod go-r ~/.kube/configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
user@workstationとして、次のコマンドを入力して、MicroShift が実行されていることを確認します。oc get pods -A
$ oc get pods -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この出力例は、基本的な MicroShift を示しています。オプションの RPM をインストールしている場合は、それらのサービスを実行している Pod のステータスも出力に表示されるはずです。