第 1 章 OpenShift CLI (oc)


1.1. CLI 入门

1.1.1. 关于 CLI

使用 OpenShift Container Platform 命令行界面(CLI),您可以通过终端创建应用程序并管理OpenShift Container Platform 项目。CLI 适用于以下情况:

  • 直接使用项目源代码。
  • 使用脚本进行 OpenShift Container Platform 的相关操作。
  • 受带宽资源限制,无法使用 Web 控制台。

1.1.2. 安装 CLI

为了可以使用命令行界面与 OpenShift Container Platform 进行交互,您需要安装 CLI。

重要

如果安装了旧版本的 oc,则无法使用 OpenShift Container Platform 4.2 中的所有命令。下载并安装新版本的 oc

流程

  1. 在 Red Hat OpenShift Cluster Manager 站点的 Infrastructure Provider 页面中导航至您的安装类型页面,并点击 Download Command-line Tools
  2. 点您的操作系统和系统架构的文件夹,然后点压缩文件。

    注意

    您可在 Linux 、Windows 或 macOS 上安装 oc

  3. 将文件保存到文件系统。
  4. 展开压缩文件。
  5. 把它放到 PATH 中的一个目录下。

安装 CLI 后,就可以使用oc命令:

$ oc <command>
Copy to Clipboard Toggle word wrap

1.1.3. 登录到 CLI

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

先决条件

  • 有访问 OpenShift Container Platform 集群的权限。
  • 已安装CLI。

流程

  • 使用oc login命令登录到 CLI,根据提示输入所需信息。

    $ oc login
    Server [https://localhost: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 
    3
    
    Password: 
    4
    
    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.
    Copy to Clipboard Toggle word wrap
    1
    输入 OpenShift Container Platform 服务器的 URL。
    2
    输入是否使用不安全的连接。
    3
    输入要登录的用户名。
    4
    输入用户密码。

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

1.1.4. 使用 CLI

参阅以下部分以了解如何使用 CLI 完成常见任务。

1.1.4.1. 创建一个项目

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

$ oc new-project my-project
Now using project "my-project" on server "https://openshift.example.com:6443".
Copy to Clipboard Toggle word wrap

1.1.4.2. 创建一个新的应用程序

使用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.
Copy to Clipboard Toggle word wrap

1.1.4.3. 查看 pod

使用oc get pods命令查看当前项目的 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>
Copy to Clipboard Toggle word wrap

1.1.4.4. 查看 pod 日志

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

$ oc logs cakephp-ex-1-deploy
--> Scaling cakephp-ex-1 to 1
--> Success
Copy to Clipboard Toggle word wrap

1.1.4.5. 查看当前项目

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

$ oc project
Using project "my-project" on server "https://openshift.example.com:6443".
Copy to Clipboard Toggle word wrap

1.1.4.6. 查看当前项目的状态

使用oc status命令查看有关当前项目的信息,例如 Services,DeploymentConfigs 和BuildConfigs。

$ 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.
Copy to Clipboard Toggle word wrap

1.1.4.7. 列出支持的 API 资源

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

$ oc api-resources
NAME                                  SHORTNAMES       APIGROUP                              NAMESPACED   KIND
bindings                                                                                     true         Binding
componentstatuses                     cs                                                     false        ComponentStatus
configmaps                            cm                                                     true         ConfigMap
...
Copy to Clipboard Toggle word wrap

1.1.5. 获得帮助

您可以通过以下方式获得有关 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
    
    ...
    Copy to Clipboard Toggle word wrap

  • 使用--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]
    
    ...
    Copy to Clipboard Toggle word wrap

  • 使用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
    
    ...
    Copy to Clipboard Toggle word wrap

1.1.6. 注销 CLI

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

  • 使用oc logout命令。

    $ oc logout
    Logged "user1" out on "https://openshift.example.com"
    Copy to Clipboard Toggle word wrap

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat