3.2. 在 CLI 配置集间切换
通过上下文,您可以在使用多个 OpenShift Container Platform 服务器或使用 CLI 操作时轻松地切换多个用户。nicknames 通过提供对上下文、用户凭证和集群详情的简短参考,从而更轻松地管理 CLI 配置。
第一次使用 CLI 登录后,OpenShift Container Platform 会创建一个 ~/.kube/config 文件(如果不存在)。随着更多身份验证和连接详情被提供给 CLI,在 oc login
操作或 显式设置 时,更新的信息会存储在配置文件中:
例 3.1. CLI 配置文件
apiVersion: v1 clusters: 1 - 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: 2 - 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 3 kind: Config preferences: {} users: 4 - name: alice/openshift1.example.com:8443 user: token: xZHd2piv5_9vQrg-SKXRJ2Dsl9SceNJdhNTljEKTb8k
- 1
clusters
部分定义 OpenShift Container Platform 集群的连接详情,包括其 master 服务器的地址。在本例中,一个集群名为 nicknamed openshift1.example.com:8443,另一个是 nicknamed openshift2.example.com:8443。- 2
- 此上下文
部分定义
两个上下文:一个 nicknamed alice-project/ openshift1.example.com:8443 /alice,使用 alice-project 项目、openshift1.example.com:8443 集群和 alice 用户,另一个 nicknamed joe-project/openshift1.example.com:8443/alice, 使用 joe-project 项目 openshift1.example.com:8443 集群和 alice 用户。 - 3
current-context
参数显示 joe-project/openshift1.example.com:8443/alice 上下文当前正在使用中,允许 alice 用户在 openshift1.example.com:8443 集群上的 joe-project 项目中工作。- 4
CLI 可以支持多个配置文件;它们 在运行时加载,并合并在一起,以及从命令行指定的覆盖选项。
登录后,您可以使用 oc status
命令或 oc project
命令验证您当前的工作环境:
例 3.2. 验证当前工作环境
$ oc status
输出示例
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 above.
列出当前项目
$ 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 配置命令也可用于 更高级的使用。