上下文允许您在使用 CLI 操作时轻松地在多个 OpenShift Dedicated 服务器或集群上的多个用户之间切换。昵称通过提供对上下文、用户凭据和集群详细信息的简写引用,使管理 CLI 配置更容易。用户第一次使用oc
CLI 登录后,如果不存在,OpenShift Dedicated 会创建一个~/.kube/config
文件。随着更多身份验证和连接详细信息提供给 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 部分定义了 OpenShift Dedicated 集群的连接详细信息,包括其主服务器的地址。在此示例中,一个集群的昵称是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
|