概要
今回はOpenShift Container Platform(以降OCP)のoc login
コマンドを実行時にセッションを確立するために使用されるトークンの動きが気になったので、調べた結果を記載する。
前提
- 検証環境:OpenShift Container Platform 4.3 on AWS
- 作業端末:OCPデプロイ先のVPCのパブリックサブネット内にあるEC2 Amazon Linux2インスタンス
この作業端末にはOCPクラスタに接続するための設定情報kubeconfigファイルが格納されている。
結論
結論から言うと、CLIのログインコマンド
terminal
# oc login -u <user_name> -p <passwd>
を使用し、OCPにログインを行うと、OCPの認証情報が格納されているkubeconfigファイルの以下の部分のトークンが更新される。
kubeconfig
- name: <user_name>/api-myopenshift-test-com:6443
user:
token: **************************
検証
1. 作業端末にsshでログイン
terminal
ssh ec2-user@<remote-ip> -i <private-key-file>
2. rootユーザーにスイッチ
tarminal
$ sudo su -
3. OCPにログイン前のkubeconfigのトークンの値を確認
kubeconfig
# less <your-dir>/kubeconfig
(一部抜粋)
- name: <user_name>/api-myopenshift-test-com:6443
user:
token: nFKg1Clp00jQYBYJl-kPgvkU0wNN15-papWTeGLILCQ
<your-dir>
はkubeconfigが格納されているディレクトリ
4. kubeconfigを環境変数としてexport
terminal
# export KUBECONFIG=<your-dir>/kubeconfig
これを行うことで、格納されている認証情報を用いてocコマンドを実行できる。
5. oc login実行
terminal
# oc login -u <user_name> -p <passwd>
6. 再度トークンを確認
terminal
# less <your-dir>/kubeconfig
(一部抜粋)
- name: <user_name>/api-myopenshift-test-com:6443
user:
token: OTn3jUv5oonEx2wgUwE2pPJQxx68pvIomO2NrBBL5fA
このように、oc login
毎にトークンが更新される。
以上、読んでいただきありがとうございました。