上下文允许您在使用 CLI 操作时轻松地在多个 ROSA 服务器或集群中的多个用户之间切换。昵称通过提供上下文、用户凭据和集群详细信息的简写引用,使管理 CLI 配置更加容易。用户第一次使用oc CLI 登录后,如果不存在~/.kube/config文件,ROSA 会创建一个。随着更多身份验证和连接详细信息提供给 CLI(在oc login操作期间自动提供或通过手动配置 CLI 配置文件提供),更新的信息将存储在配置文件中。
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部分定义了 ROSA 集群的连接详细信息,包括其主服务器的地址。在此示例中,一个集群的昵称是openshift1.example.com:8443,另一个是openshift2.example.com:8443。 |
| 2 |
此contexts部分定义了两个上下文:一个昵称是alice-project/openshift1.example.com:8443/alice,使用alice-project项目、openshift1.example.com:8443集群和alice用户;另一个昵称是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 |
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.
示例输出
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
|