×

关于OpenShift CLI

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

  • 直接处理项目源代码

  • 编写 OpenShift Container Platform 操作脚本

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

安装 OpenShift 命令行界面

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

安装 OpenShift 命令行界面

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

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

在 Linux 上安装 OpenShift 命令行界面

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

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

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

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

  4. 单击“OpenShift v4.17 Linux 客户端”条目旁边的“立即下载”并保存文件。

  5. 解压存档

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

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

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

    $ oc <command>

在 Windows 上安装 OpenShift 命令行界面

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

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

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

  3. 单击“OpenShift v4.17 Windows 客户端”条目旁边的“立即下载”并保存文件。

  4. 使用 ZIP 程序解压存档。

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

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

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

    C:\> oc <command>

在 macOS 上安装 OpenShift 命令行界面

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

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

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

  3. 单击“OpenShift v4.17 macOS 客户端”条目旁边的“立即下载”并保存文件。

    对于 macOS arm64,请选择“OpenShift v4.17 macOS arm64 客户端”条目。

  4. 解压存档。

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

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

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

    $ oc <command>

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

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

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

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

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

步骤
  1. 在 Web 控制台中,单击“”。

    click question mark
  2. 单击“命令行工具”。

    CLI list
  3. 选择适合您 Linux 平台的 oc 二进制文件,然后单击“下载适用于 Linux 的 oc”。

  4. 保存文件。

  5. 解压存档。

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

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

    $ echo $PATH

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

$ oc <command>

使用 Web 控制台在 Windows 上安装 OpenShift 命令行界面

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

步骤
  1. 在 Web 控制台中,单击“”。

    click question mark
  2. 单击“命令行工具”。

    CLI list
  3. 选择适用于 Windows 平台的 oc 二进制文件,然后单击“下载适用于 x86_64 的 Windows 版 oc”。

  4. 保存文件。

  5. 使用 ZIP 程序解压存档。

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

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

    C:\> path

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

C:\> oc <command>

使用 Web 控制台在 macOS 上安装 OpenShift 命令行界面

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

步骤
  1. 在 Web 控制台中,单击“”。

    click question mark
  2. 单击“命令行工具”。

    CLI list
  3. 选择适用于 macOS 平台的 oc 二进制文件,然后单击“下载适用于 x86_64 的 Mac 版 oc”。

    对于 macOS arm64,单击“下载适用于 ARM 64 的 Mac 版 oc”。

  4. 保存文件。

  5. 解压存档。

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

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

    $ echo $PATH

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

$ oc <command>

使用 RPM 安装 OpenShift 命令行界面

对于 Red Hat Enterprise Linux (RHEL),如果您在 Red Hat 帐户中拥有活动的 OpenShift Container Platform 订阅,则可以将 OpenShift 命令行界面 (oc) 作为 RPM 安装。

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

先决条件
  • 必须具有 root 或 sudo 权限。

步骤
  1. 在 Red Hat Subscription Manager 中注册

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

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

    # subscription-manager list --available --matches '*OpenShift*'
  4. 在先前命令的输出中,找到 OpenShift Container Platform 订阅的池 ID 并将订阅附加到已注册的系统

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

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

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

$ oc <command>

使用 Homebrew 安装 OpenShift 命令行界面

对于 macOS,您可以使用 Homebrew 包管理器安装 OpenShift 命令行界面 (oc)。

先决条件
  • 您必须安装 Homebrew (brew)。

步骤
  • 通过运行以下命令来安装 openshift-cli 包:

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

$ oc <command>

登录到 OpenShift 命令行界面

您可以登录到 OpenShift 命令行界面 (oc) 以访问和管理您的集群。

先决条件
  • 您必须可以访问 OpenShift Container Platform 集群。

  • OpenShift 命令行界面 (oc) 已安装。

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

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

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

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

    示例输出
    Server [https://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 Container Platform 服务器 URL。
    2 输入是否使用不安全的连接。
    3 输入用户的密码。

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

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

使用 Web 浏览器登录到 OpenShift 命令行界面

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

通过网页浏览器登录 CLI 会在本地主机上运行 HTTP 服务器,而不是 HTTPS 服务器;在多用户工作站上使用时请谨慎。

先决条件
  • 您必须可以访问 OpenShift Container Platform 集群。

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

  • 您必须已安装浏览器。

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

    $ oc login <cluster_url> --web (1)
    1 可选地,您可以指定服务器 URL 和回调端口。例如,oc login <集群_url> --web --callback-port 8280 localhost:8443
  2. 网页浏览器会自动打开。如果未自动打开,请单击命令输出中的链接。如果您没有指定 OpenShift Container Platform 服务器,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 Container Platform 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 Container Platform 资源的帮助

  • 使用 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"

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