2.4. CLI プロファイルの管理
CLI 設定ファイルにより、OpenShift CLI (oc) で使用するさまざまなプロファイルまたはコンテキストの設定が可能になります。コンテキストは、ユーザー認証および ニックネーム と関連付けられた OpenShift Container Platform サーバー情報で構成されます。
2.4.1. CLI プロファイルの切り替えについて リンクのコピーリンクがクリップボードにコピーされました!
コンテキストを使用すると、OpenShift CLI (oc) を使用して複数の OpenShift Container Platform クラスター間で簡単にユーザーの切り替えが可能です。ニックネームを指定すると、コンテキスト、ユーザーの認証情報、およびクラスターの詳細情報の省略された参照を提供することで、CLI 設定の管理が容易になります。
ユーザーが oc CLI を使用して初めてログインした後、OpenShift Container Platform は ~/.kube/config ファイルを作成します (まだ存在しない場合)。CLI に認証と接続の詳細が追加されると、更新された情報が設定ファイルに保存されます。
CLI 設定ファイル
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: https://openshift1.example.com:8443
name: openshift1.example.com:8443
- cluster:
insecure-skip-tls-verify: true
server: https://openshift2.example.com:8443
name: openshift2.example.com:8443
contexts:
- context:
cluster: openshift1.example.com:8443
namespace: alice-project
user: alice/openshift1.example.com:8443
name: alice-project/openshift1.example.com:8443/alice
- context:
cluster: openshift1.example.com:8443
namespace: joe-project
user: alice/openshift1.example.com:8443
name: joe-project/openshift1/alice
current-context: joe-project/openshift1.example.com:8443/alice
kind: Config
preferences: {}
users:
- name: alice/openshift1.example.com:8443
user:
token: xZHd2piv5_9vQrg-SKXRJ2Dsl9SceNJdhNTljEKTb8k
各項目の説明:
clusters-
マスターサーバーのアドレスを含む OpenShift Container Platform クラスターの接続の詳細を指定します。この例では、1 つのクラスターのニックネームは
openshift1.example.com:8443で、もう 1 つのクラスターのニックネームはopenshift2.example.com:8443となっています。 contexts-
2 つのコンテキストを指定します。1 つは
alice-project/openshift1.example.com:8443/aliceというニックネームで、alice-projectプロジェクト、openshift1.example.com:8443クラスター、およびaliceユーザーを使用します。もう 1 つはjoe-project/openshift1.example.com:8443/aliceというニックネームで、joe-projectプロジェクト、openshift1.example.com:8443クラスター、およびaliceユーザーを使用します。 current-context-
joe-project/openshift1.example.com:8443/aliceコンテキストが現在使用中であることを指定します。これにより、aliceユーザーはopenshift1.example.com:8443クラスターのjoe-projectプロジェクトで作業することが可能になります。 users-
ユーザー認証情報を指定します。この例では、ユーザーニックネーム
alice/openshift1.example.com:8443は、アクセストークンを使用します。
CLI は、実行時にロードされ、コマンドラインから指定されたオーバーライドオプションとともにマージされる複数の設定ファイルをサポートできます。ログイン後に、oc status または oc project コマンドを使用して、現在の作業環境を確認できます。
現在の作業環境の確認
$ oc status
出力例
In project Joe's Project (joe-project)
service database (172.30.43.12:5434 -> 3306)
database deploys docker.io/openshift/mysql-55-centos7:latest
#1 deployed 25 minutes ago - 1 pod
service frontend (172.30.159.137:5432 -> 8080)
frontend deploys origin-ruby-sample:latest <-
builds https://github.com/openshift/ruby-hello-world with joe-project/ruby-20-centos7:latest
#1 deployed 22 minutes ago - 2 pods
To see more information about a service or deployment, use 'oc describe service <name>' or 'oc describe dc <name>'.
You can use 'oc get all' to see lists of each of the types described in this example.
現在のプロジェクトのリスト表示
$ oc project
出力例
Using project "joe-project" from context named "joe-project/openshift1.example.com:8443/alice" on server "https://openshift1.example.com:8443".
oc login コマンドを再度実行し、対話式プロセス中に必要な情報を指定して、ユーザー認証情報およびクラスターの詳細の他の組み合わせを使用してログインできます。コンテキストが存在しない場合は、コンテキストが指定される情報に基づいて作成されます。すでにログインしている場合で、現行ユーザーがアクセス可能な別のプロジェクトに切り替える場合には、oc project コマンドを使用してプロジェクトの名前を入力します。
$ oc project alice-project
出力例
Now using project "alice-project" on server "https://openshift1.example.com:8443".
出力に示されるように、いつでも oc config view コマンドを使用して、現在の CLI 設定を表示できます。高度な使用方法で利用できる CLI 設定コマンドが他にもあります。
管理者の認証情報がある場合でもデフォルトシステムユーザーの system:admin としてログインしていない場合は、認証情報が CLI 設定ファイルにある限り、いつでもこのユーザーとしてログインし直すことができます。
以下のコマンドはログインを実行し、デフォルトプロジェクトに切り替えます。
$ oc login -u system:admin -n default