×

关于 OpenShift 命令行界面 (CLI)

使用 OpenShift 命令行界面 (oc),您可以从终端创建应用程序并管理 OpenShift Dedicated 项目。OpenShift 命令行界面在以下情况下非常理想:

  • 直接使用项目源代码

  • 编写 OpenShift Dedicated 操作脚本

  • 在带宽资源受限且 Web 控制台不可用时管理项目

安装 OpenShift 命令行界面 (CLI)

您可以通过下载二进制文件或使用 RPM 来安装 OpenShift 命令行界面 (oc)。

安装 OpenShift 命令行界面 (CLI)

您可以安装 OpenShift 命令行界面 (oc) 以通过命令行界面与 OpenShift Dedicated 集群进行交互。您可以在 Linux、Windows 或 macOS 上安装 oc

如果您安装了早期版本的 oc,则无法使用它来完成 OpenShift Dedicated 中的所有命令。请下载并安装新版本的 oc

在 Linux 上安装 OpenShift 命令行界面 (CLI)

您可以按照以下步骤在 Linux 上安装 OpenShift 命令行界面 (oc) 二进制文件。

步骤
  1. 在 Red Hat 客户门户网站上导航到 OpenShift Dedicated 下载页面

  2. 从“产品变体”下拉列表中选择体系结构。

  3. 从“版本”下拉列表中选择相应的版本。

  4. 点击“OpenShift v Linux Clients”条目旁边的“立即下载”并保存文件。

  5. 解压归档文件

    $ tar xvf <file>
  6. oc 二进制文件放在 PATH 上的目录中。

    要检查您的 PATH,请执行以下命令:

    $ echo $PATH
验证
  • 安装 OpenShift 命令行界面后,可以使用 oc 命令。

    $ oc <command>

在 Windows 上安装 OpenShift 命令行界面 (CLI)

您可以按照以下步骤在 Windows 上安装 OpenShift 命令行界面 (oc) 二进制文件。

步骤
  1. 在 Red Hat 客户门户网站上导航到 OpenShift Dedicated 下载页面

  2. 从“版本”下拉列表中选择相应的版本。

  3. 点击“OpenShift v Windows Client”条目旁边的“立即下载”并保存文件。

  4. 使用 ZIP 程序解压缩归档文件。

  5. oc 二进制文件移动到 PATH 上的目录中。

    要检查您的 PATH,请打开命令提示符并执行以下命令:

    C:\> path
验证
  • 安装 OpenShift 命令行界面后,可以使用 oc 命令。

    C:\> oc <command>

在 macOS 上安装 OpenShift 命令行界面 (CLI)

您可以按照以下步骤在 macOS 上安装 OpenShift 命令行界面 (oc) 二进制文件。

步骤
  1. 在 Red Hat 客户门户网站上导航到 OpenShift Dedicated 下载页面

  2. 从“版本”下拉列表中选择相应的版本。

  3. 点击“OpenShift v macOS Clients”条目旁边的“立即下载”并保存文件。

    对于 macOS arm64,请选择“OpenShift v macOS arm64 Client”条目。

  4. 解压归档文件。

  5. oc 二进制文件移动到 PATH 上的目录中。

    要检查您的 PATH,请打开终端并执行以下命令:

    $ echo $PATH
验证
  • 使用 oc 命令验证您的安装

    $ oc <command>

使用 Web 控制台安装 OpenShift 命令行界面 (CLI)

您可以安装 OpenShift 命令行界面 (oc) 以通过 Web 控制台与 OpenShift Dedicated 集群进行交互。您可以在 Linux、Windows 或 macOS 上安装 oc

如果您安装了早期版本的 oc,则无法使用它来完成 OpenShift Dedicated 中的所有命令。请下载并安装新版本的 oc

使用 Web 控制台在 Linux 上安装 OpenShift 命令行界面 (CLI)

您可以按照以下步骤在 Linux 上安装 OpenShift 命令行界面 (oc) 二进制文件。

步骤
  1. 从 OpenShift 集群管理器上的 下载 页面下载适用于您操作系统的最新版 oc CLI。

  2. 从下载的压缩包中解压 oc 二进制文件。

    $ tar xvf <file>
  3. oc 二进制文件移动到 PATH 上的目录中。

    要检查您的 PATH,请执行以下命令:

    $ echo $PATH

安装 OpenShift 命令行界面后,可以使用 oc 命令。

$ oc <command>

使用 Web 控制台在 Windows 上安装 OpenShift CLI

您可以按照以下步骤在 Windows 上安装 OpenShift 命令行界面 (oc) 二进制文件。

步骤
  1. 从 OpenShift 集群管理器上的 下载 页面下载适用于您操作系统的最新版 oc CLI。

  2. 从下载的压缩包中解压 oc 二进制文件。

  3. oc 二进制文件移动到 PATH 上的目录中。

    要检查您的 PATH,请打开命令提示符并执行以下命令:

    C:\> path

安装 OpenShift 命令行界面后,可以使用 oc 命令。

C:\> oc <command>

使用 Web 控制台在 macOS 上安装 OpenShift CLI

您可以按照以下步骤在 macOS 上安装 OpenShift 命令行界面 (oc) 二进制文件。

步骤
  1. 从 OpenShift 集群管理器上的 下载 页面下载适用于您操作系统的最新版 oc CLI。

  2. 从下载的压缩包中解压 oc 二进制文件。

  3. oc 二进制文件移动到 PATH 上的目录中。

    要检查您的 PATH,请打开终端并执行以下命令:

    $ echo $PATH

安装 OpenShift 命令行界面后,可以使用 oc 命令。

$ oc <command>

使用 RPM 安装 OpenShift CLI

对于 Red Hat Enterprise Linux (RHEL),如果您在 Red Hat 帐户上拥有活动的 OpenShift Dedicated 订阅,则可以将 OpenShift CLI (oc) 作为 RPM 安装。

您必须通过下载二进制文件来安装 RHEL 9 的 oc。在 Red Hat Enterprise Linux (RHEL) 9 上不支持使用 RPM 包安装 oc

前提条件
  • 必须具有 root 或 sudo 权限。

步骤
  1. 注册 Red Hat Subscription Manager

    # subscription-manager register
  2. 拉取最新的订阅数据

    # subscription-manager refresh
  3. 列出可用的订阅

    # subscription-manager list --available --matches '*OpenShift*'
  4. 在上一条命令的输出中,找到 OpenShift Dedicated 订阅的池 ID,并将订阅附加到已注册的系统。

    # subscription-manager attach --pool=<pool_id>
  5. 启用 OpenShift Dedicated 所需的存储库。

    # subscription-manager repos --enable="rhocp--for-rhel-8-x86_64-rpms"
  6. 安装 openshift-clients

    # yum install openshift-clients
验证
  • 使用 oc 命令验证您的安装

$ oc <command>

使用 Homebrew 安装 OpenShift CLI

对于 macOS,您可以使用 Homebrew 包管理器安装 OpenShift CLI (oc)。

前提条件
  • 您必须已安装 Homebrew (brew)。

步骤
  • 运行以下命令安装 openshift-cli

    $ brew install openshift-cli
验证
  • 使用 oc 命令验证您的安装

$ oc <command>

登录 OpenShift CLI

您可以登录 OpenShift CLI (oc) 以访问和管理您的集群。

前提条件
  • 您必须可以访问 OpenShift Dedicated 集群。

  • OpenShift CLI (oc) 已安装。

要访问只能通过 HTTP 代理服务器访问的集群,您可以设置 HTTP_PROXYHTTPS_PROXYNO_PROXY 变量。oc CLI 会尊重这些环境变量,以便所有与集群的通信都通过 HTTP 代理进行。

只有在使用 HTTPS 传输时才会发送身份验证标头。

步骤
  1. 输入 oc login 命令并传入用户名

    $ oc login -u user1
  2. 出现提示时,输入所需信息

    示例输出
    Server [http://127.0.0.1:8443]: https://openshift.example.com:6443 (1)
    The server uses a certificate signed by an unknown authority.
    You can bypass the certificate check, but any data you send to the server could be intercepted by others.
    Use insecure connections? (y/n): y (2)
    
    Authentication required for https://openshift.example.com:6443 (openshift)
    Username: user1
    Password: (3)
    Login successful.
    
    You don't have any projects. You can try to create a new project, by running
    
        oc new-project <projectname>
    
    Welcome! See 'oc help' to get started.
    1 输入 OpenShift Dedicated 服务器 URL。
    2 输入是否使用不安全连接。
    3 输入用户的密码。

如果您已登录 Web 控制台,则可以生成包含您的令牌和服务器信息的 oc login 命令。您可以使用该命令登录 OpenShift Dedicated CLI,无需交互式提示。要生成命令,请从 Web 控制台右上角的用户名下拉菜单中选择复制登录命令

您现在可以创建一个项目或发出其他命令来管理您的集群。

使用 Web 浏览器登录 OpenShift CLI

您可以借助 Web 浏览器登录 OpenShift CLI (oc) 以访问和管理您的集群。这允许用户避免将他们的访问令牌插入命令行。

通过 Web 浏览器登录 CLI 会在 localhost 上运行使用 HTTP(而不是 HTTPS)的服务器;在多用户工作站上使用时请谨慎。

前提条件
  • 您必须可以访问 OpenShift Dedicated 集群。

  • 您必须已安装 OpenShift CLI (oc)。

  • 您必须已安装浏览器。

步骤
  1. 使用 --web 标志输入 oc login 命令

    $ oc login <cluster_url> --web (1)
    1 可选地,您可以指定服务器 URL 和回调端口。例如,oc login <cluster_url> --web --callback-port 8280 localhost:8443
  2. Web 浏览器会自动打开。如果未打开,请单击命令输出中的链接。如果您未指定 OpenShift Dedicated 服务器,oc 将尝试打开当前 oc 配置文件中指定的集群的 Web 控制台。如果不存在 oc 配置,oc 将交互式地提示您输入服务器 URL。

    示例输出
    Opening login URL in the default browser: https://openshift.example.com
    Opening in existing browser session.
  3. 如果有多个身份提供程序可用,请选择提供的选项中的一个。

  4. 在相应的浏览器字段中输入您的用户名和密码。登录后,浏览器将显示文本access token received successfully; please return to your terminal

  5. 检查 CLI 以确认登录。

    示例输出
    Login successful.
    
    You don't have any projects. You can try to create a new project, by running
    
        oc new-project <projectname>
    

Web 控制台默认为上次会话中使用的配置文件。要在管理员和开发人员配置文件之间切换,请注销 OpenShift Dedicated Web 控制台并清除缓存。

您现在可以创建一个项目或发出其他命令来管理您的集群。

使用 OpenShift CLI

查看以下部分,了解如何使用 CLI 完成常见任务。

创建项目

使用 oc new-project 命令创建新项目。

$ oc new-project my-project
示例输出
Now using project "my-project" on server "https://openshift.example.com:6443".

创建新的应用程序

使用 oc new-app 命令创建新的应用程序。

$ oc new-app https://github.com/sclorg/cakephp-ex
示例输出
--> Found image 40de956 (9 days old) in imagestream "openshift/php" under tag "7.2" for "php"

...

    Run 'oc status' to view your app.

查看 Pod

使用 oc get pods 命令查看当前项目的 Pod。

当您在 Pod 内运行 oc 并且未指定命名空间时,默认情况下会使用 Pod 的命名空间。

$ oc get pods -o wide
示例输出
NAME                  READY   STATUS      RESTARTS   AGE     IP            NODE                           NOMINATED NODE
cakephp-ex-1-build    0/1     Completed   0          5m45s   10.131.0.10   ip-10-0-141-74.ec2.internal    <none>
cakephp-ex-1-deploy   0/1     Completed   0          3m44s   10.129.2.9    ip-10-0-147-65.ec2.internal    <none>
cakephp-ex-1-ktz97    1/1     Running     0          3m33s   10.128.2.11   ip-10-0-168-105.ec2.internal   <none>

查看 Pod 日志

使用 oc logs 命令查看特定 Pod 的日志。

$ oc logs cakephp-ex-1-deploy
示例输出
--> Scaling cakephp-ex-1 to 1
--> Success

查看当前项目

使用 oc project 命令查看当前项目。

$ oc project
示例输出
Using project "my-project" on server "https://openshift.example.com:6443".

查看当前项目的状态

使用 oc status 命令查看有关当前项目的信息,例如服务、部署和构建配置。

$ oc status
示例输出
In project my-project on server https://openshift.example.com:6443

svc/cakephp-ex - 172.30.236.80 ports 8080, 8443
  dc/cakephp-ex deploys istag/cakephp-ex:latest <-
    bc/cakephp-ex source builds https://github.com/sclorg/cakephp-ex on openshift/php:7.2
    deployment #1 deployed 2 minutes ago - 1 pod

3 infos identified, use 'oc status --suggest' to see details.

列出受支持的 API 资源

使用 oc api-resources 命令查看服务器上受支持的 API 资源列表。

$ oc api-resources
示例输出
NAME                                  SHORTNAMES       APIGROUP                              NAMESPACED   KIND
bindings                                                                                     true         Binding
componentstatuses                     cs                                                     false        ComponentStatus
configmaps                            cm                                                     true         ConfigMap
...

获取帮助

您可以通过以下方式获得有关 CLI 命令和 OpenShift Dedicated 资源的帮助

  • 使用 oc help 获取所有可用 CLI 命令的列表和说明

    示例:获取 CLI 的常规帮助
    $ oc help
    示例输出
    OpenShift Client
    
    This client helps you develop, build, deploy, and run your applications on any OpenShift or Kubernetes compatible
    platform. It also includes the administrative commands for managing a cluster under the 'adm' subcommand.
    
    Usage:
      oc [flags]
    
    Basic Commands:
      login           Log in to a server
      new-project     Request a new project
      new-app         Create a new application
    
    ...
  • 使用 --help 标志获取有关特定 CLI 命令的帮助

    示例:获取 oc create 命令的帮助
    $ oc create --help
    示例输出
    Create a resource by filename or stdin
    
    JSON and YAML formats are accepted.
    
    Usage:
      oc create -f FILENAME [flags]
    
    ...
  • 使用 oc explain 命令查看特定资源的说明和字段

    示例:查看 Pod 资源的文档
    $ oc explain pods
    示例输出
    KIND:     Pod
    VERSION:  v1
    
    DESCRIPTION:
         Pod is a collection of containers that can run on a host. This resource is
         created by clients and scheduled onto hosts.
    
    FIELDS:
       apiVersion	<string>
         APIVersion defines the versioned schema of this representation of an
         object. Servers should convert recognized schemas to the latest internal
         value, and may reject unrecognized values. More info:
         https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
    
    ...

注销 OpenShift CLI

您可以注销 OpenShift CLI 以结束当前会话。

  • 使用 oc logout 命令。

    $ oc logout
    示例输出
    Logged "user1" out on "https://openshift.example.com"

这将从服务器删除保存的身份验证令牌,并将其从您的配置文件中删除。