こちらのようにベアメタル環境にOpenShiftクラスターを構築した場合、踏み台サーバーを作業マシンとして、そこからOpenShiftクラスターにログインして作業することが多いかと思います。
一方で、他の人に(踏み台サーバーを使わせずに)そのOpenShiftクラスターにアクセスさせたい場面もあるでしょう。そのような場合に必要なことをまとめてみました。
OpenShift 4.6で確認しました。
1. ユーザー追加 - OpenShiftクラスターでの作業
アクセスさせたい人が使うためのユーザーを追加します。
具体的な手順は、Red Hatのマニュアルや以下の参考記事をご参照ください。
参考)
- How to configure an HTPasswd identity provider in OpenShift Container Platform 4.x?
- [OpenShift]ユーザ認証について確認する
2. 名前解決 - アクセス元マシンでの作業
クラスターへのアクセスに必要な次の2つが、踏み台サーバーの外側のIPアドレスに対応していることを、アクセス元のマシンがわかっている必要があります。
- api
- oauth-openshift
必要な名前解決のため、アクセス元のマシンのhostsに次の情報を登録します。
(DNSでそれらの名前解決ができている環境であれば、必要ありません。)
例)install-config.yamlで次のように指定して構築した環境の場合:
- ドメイン名: example.com
- クラスター名:lab
設定例は次のようになります:
<踏み台サーバーのIPアドレス> api.lab.example.com oauth-openshift.apps.lab.example.com
これで、次のOpenShiftクラスターへのログインコマンドが成功するはずです。
oc login -u <userid> -p <password> https://api.lab.example.com:6443
OpenShift webコンソールでのアクセスが必要な場合は、追加で以下の設定も必要です。
<踏み台サーバーのIPアドレス> console-openshift-console.apps.lab.example.com
参考:OpenShiftクラスターへのログイン状況の確認方法
- 現在クラスターにログインしているユーザーの確認
oc get oauthaccesstokens
- ログイン履歴の確認
How to check user login history in OpenShift?
(自分自身では未検証です。また、リンク先の閲覧にはRed Hat subscriptionが必要です。)