1.4. 开发人员CLI命令


1.4.1. 基本CLI命令

1.4.1.1. explain

显示特定资源的文档。

示例:显示 pod 的文档

$ oc explain pods

1.4.1.2. login

登录OpenShift Container Platform服务器并保存登录信息以供后续使用。

示例:交互式登录

$ oc login

示例:指定用户名进行登陆

$ oc login -u user1

1.4.1.3. new-app

通过指定源代码,模板或镜像来创建新应用程序。

示例:从本地Git仓库创建新应用程序

$ oc new-app .

示例:从远程Git仓库创建新应用程序

$ oc new-app https://github.com/sclorg/cakephp-ex

示例:从远程的一个私有Git仓库创建新应用程序

$ oc new-app https://github.com/youruser/yourprivaterepo --source-secret=yoursecret

1.4.1.4. new-project

创建一个新项目,并切换到这个项目作为配置中的默认项目。

示例:创建一个新项目

$ oc new-project myproject

1.4.1.5. project

切换到另一个项目,并使其成为配置中的默认项目。

示例:切换到另外一个项目

$ oc project test-project

1.4.1.6. projects

显示服务器上当前活动项目和现有项目的信息。

示例:列出所有项目

$ oc projects

1.4.1.7. status

显示当前项目的概况信息。

示例:显示当前项目的状态

$ oc status

1.4.2. 构建和部署CLI命令

1.4.2.1. cancel-build

取消正在运行,待处理或新的构建。

示例:取消一个构建

$ oc cancel-build python-1

示例:从 python 构建配置中取消所有待处理的构建

$ oc cancel-build buildconfig/python --state=pending

1.4.2.2. import-image

从镜像仓库中导入最新的 tag 和镜像信息。

示例:导入最新的镜像信息

$ oc import-image my-ruby

1.4.2.3. new-build

从源代码创建新构建配置。

示例:从本地 Git 仓库创建构建配置

$ oc new-build .

示例:从远程 Git 仓库创建构建配置

$ oc new-build https://github.com/sclorg/cakephp-ex

1.4.2.4. rollback

将应用程序还原回以前的部署。

示例:回滚到上次成功部署

$ oc rollback php

示例:回滚到一个特定版本

$ oc rollback php --to-version=3

1.4.2.5. rollout

开始一个新的 rollout 操作,查看它的状态或历史信息,或回滚到应用程序的一个以前的版本。

示例:回滚到上次成功部署

$ oc rollout undo deploymentconfig/php

示例:使用最新状态启动一个新的部署 rollout

$ oc rollout latest deploymentconfig/php

1.4.2.6. start-build

从构建配置启动构建或复制现有构建。

示例:从指定的构建配置启动构建

$ oc start-build python

示例:从以前的一个构建版本开始进行构建

$ oc start-build --from-build=python-1

示例:为当前构建设置要使用的环境变量

$ oc start-build python --env=mykey=myvalue

1.4.2.7. tag

将现有镜像标记为镜像流。

示例:配置ruby镜像的latest tag 指向2.0 tag

$ oc tag ruby:latest ruby:2.0

1.4.3. 应用程序管理CLI命令

1.4.3.1. annotate

更新一个或多个资源上的注解。

示例:向路由添加注解

$ oc annotate route/test-route haproxy.router.openshift.io/ip_whitelist="192.168.1.10"

示例:从路由中删除注解

$ oc annotate route/test-route haproxy.router.openshift.io/ip_whitelist-

1.4.3.2. apply

通过文件名或标准输入(stdin)以JSON或YAML格式将配置应用于资源。

示例:将 pod.json 中的配置应用到 pod

$ oc apply -f pod.json

1.4.3.3. autoscale

自动缩放部署或复制控制器。

示例:自动缩放至最少两个最多五个 pod

$ oc autoscale deploymentconfig/parksmap-katacoda --min=2 --max=5

1.4.3.4. create

通过文件名或标准输入(stdin)使用 JSON 或 YAML 格式创建一个资源。

示例:使用 pod.json 中的内容创建一个 pod

$ oc create -f pod.json

1.4.3.5. delete

删除一个资源。

示例:删除名为 parksmap-katacoda-1-qfqz4 的 pod

$ oc delete pod/parksmap-katacoda-1-qfqz4

示例:删除所有带有 app=parksmap-katacoda 标签的 pod

$ oc delete pods -l app=parksmap-katacoda

1.4.3.6. describe

获得有关一个特定对象的详细信息。

示例:描述名为 example 的部署

$ oc describe deployment/example

示例:描述所有 pod

$ oc describe pods

1.4.3.7. edit

编辑一个资源。

示例:使用默认编辑器编辑部署

$ oc edit deploymentconfig/parksmap-katacoda

示例:使用不同的编辑器编辑部署

$ OC_EDITOR="nano" oc edit deploymentconfig/parksmap-katacoda

示例:编辑 JSON 格式的部署

$ oc edit deploymentconfig/parksmap-katacoda -o json

1.4.3.8. expose

以外部方式公开服务作为路由。

示例:开放一个服务

$ oc expose service/parksmap-katacoda

示例:开放服务并指定主机名

$ oc expose service/parksmap-katacoda --hostname=www.my-host.com

1.4.3.9. get

显示一个或多个资源。

示例:列出 default 命名空间中的 pod

$ oc get pods -n default

示例:获取 JSON 格式的 python 部署详情

$ oc get deploymentconfig/python -o json

1.4.3.10. label

更新一个或多个资源上的标签。

示例:更新 python-1-mz2rf pod,标签 status 设置为 unhealthy

$ oc label pod/python-1-mz2rf status=unhealthy

1.4.3.11. scale

设置复制控制器或部署所需的副本数。

示例:将 ruby-app 部署扩展为三个 pod

$ oc scale deploymentconfig/ruby-app --replicas=3

1.4.3.12. secrets

管理项目中的 secret

示例:default 服务账户(service account)使用 my-pull-secret作为 image pull 操作的 secret

$ oc secrets link default my-pull-secret --for=pull

1.4.3.13. serviceaccounts

获取分配给服务帐户的令牌或,或为服务帐户创建新令牌或kubeconfig文件。

示例:获取分配给default服务帐户的令牌

$ oc serviceaccounts get-token default

1.4.3.14. set

配置现有应用资源。

示例:设置构建配置上的 secret 的名称

$ oc set build-secret --source buildconfig/mybc mysecret

1.4.4. 调试CLI命令

1.4.4.1. attach

为正在运行的容器附加一个 shell。

示例:从 pod python-1-mz2rf 获取python 容器的输出信息

$ oc attach python-1-mz2rf -c python

1.4.4.2. cp

将文件和目录复制到容器或从容器中复制。

示例:将文件从 python-1-mz2rf pod 复制到本地文件系统

$ oc cp default/python-1-mz2rf:/opt/app-root/src/README.md ~/mydirectory/.

1.4.4.3. debug

启动一个 shell 以调试正在运行的应用程序。

示例:调试python部署

$ oc debug deploymentconfig/python

1.4.4.4. exec

在容器中执行命令。

示例:从 pod python-1-mz2rfpython 容器中执行ls命令

$ oc exec python-1-mz2rf -c python ls

1.4.4.5. logs

检索特定构建、构建配置、部署或 Pod 的日志输出。

示例:从 python 部署中获得最新的日志

$ oc logs -f deploymentconfig/python

1.4.4.6. port-forward

将一个或多个本地端口转发到一个 pod。

示例:在本地侦听端口 8888 并将其数据转发到 pod 的端口 5000

$ oc port-forward python-1-mz2rf 8888:5000

1.4.4.7. proxy

运行到Kubernetes API服务器的代理。

示例:在端口8011上运行到API服务器的代理,由./local/www/提供静态内容

$ oc proxy --port=8011 --www=./local/www/

1.4.4.8. rsh

打开到容器的远程shell会话。

示例:在 python-1-mz2rf pod 中的第一个容器上打开一个 shell 会话

$ oc rsh python-1-mz2rf

1.4.4.9. rsync

将目录的内容复制到正在运行的 pod 容器或从容器中复制。rsync命令只复制您的操作系统中已更改的文件。

示例:将本地目录中的文件与 pod 目录同步

$ oc rsync ~/mydirectory/ python-1-mz2rf:/opt/app-root/src/

1.4.4.10. run

创建并运行一个特定镜像。默认情况下,这会创建一个DeploymentConfig来管理创建的容器。

示例:启动具有三个副本的perl镜像实例

$ oc run my-test --image=perl --replicas=3

1.4.4.11. wait

等待一个或多个资源上的特定条件。

注意

此命令是实验性的,如有变更,恕不另行通知。

示例:等待 python-1-mz2rf pod 被删除

$ oc wait --for=delete pod/python-1-mz2rf

1.4.5. 高级开发人员CLI命令

1.4.5.1. api-resources

显示服务器支持的完整API资源列表。

示例:列出支持的API资源

$ oc api-resources

1.4.5.2. api-versions

显示服务器支持的完整API版本列表。

示例:列出支持的API版本

$ oc api-versions

1.4.5.3. auth

检查权限并协调RBAC角色。

示例:检查当前用户是否可以读取 pod 日志

$ oc auth can-i get pods --subresource=log

示例:从一个文件协调RBAC角色和权限

$ oc auth reconcile -f policy.json

1.4.5.4. cluster-info

显示 master 和集群服务的地址。

示例:显示集群信息

$ oc cluster-info

1.4.5.5. convert

将YAML或JSON配置文件转换为一个不同的API版本并打印到标准输出(stdout)。

示例:将pod.yaml转换到最新版本

$ oc convert -f pod.yaml

1.4.5.6. extract

提取配置映射或 secret 的内容。配置映射或 secret 中的每个密钥都被创建为拥有密钥名称的独立文件。

示例:将 ruby-1-ca 配置映射的内容下载到当前目录

$ oc extract configmap/ruby-1-ca

示例:将 ruby-1-ca 配置映射的内容输出到 stdout

$ oc extract configmap/ruby-1-ca --to=-

1.4.5.7. idle

把可扩展资源设置为空闲。一个空闲的服务在接收到数据时将自动变为非空闲状态,或使用oc scale命令手动把空闲服务变为非空闲。

示例:把 ruby-app 服务变为空闲状态

$ oc idle ruby-app

1.4.5.8. image

管理OpenShift Container Platform集群中的镜像。

示例:把一个镜像复制到另外一个 tag

$ oc image mirror myregistry.com/myimage:latest myregistry.com/myimage:stable

1.4.5.9. observe

观察资源的变化并对其采取措施。

示例:观察服务的更改

$ oc observe services

1.4.5.10. patch

使用JSON或YAML格式的策略合并补丁更新对象的一个或多个字段。

示例:将节点node1spec.unschedulable字段更新为true

$ oc patch node/node1 -p '{"spec":{"unschedulable":true}}'

注意

如果需要使用自定义资源定义,则必须在命令中包含--type merge选项。

1.4.5.11. policy

管理授权策略。

示例:将edit角色添加给当前项目的user1用户

$ oc policy add-role-to-user edit user1

1.4.5.12. process

将模板处理为资源列表。

示例:将template.json转换为资源列表并传递给oc create

$ oc process -f template.json | oc create -f -

1.4.5.13. registry

管理OpenShift Container Platform中集成的 registry。

示例:显示集成的 registry 的信息

$ oc registry info

1.4.5.14. replace

根据指定配置文件的内容修改现有对象。

示例:使用pod.json的内容更新 Pod

$ oc replace -f pod.json

1.4.6. 设置CLI命令

1.4.6.1. completion

输出指定shell的shell完成代码。

示例:显示Bash的完成代码

$ oc completion bash

1.4.6.2. config

管理客户端配置文件。

示例:显示当前配置

$ oc config view

示例:切换到另外一个上下文

$ oc config use-context test-context

1.4.6.3. logout

退出当前会话。

示例:结束当前会话

$ oc logout

1.4.6.4. whoami

显示有关当前会话的信息。

示例:显示当前已验证的用户

$ oc whoami

1.4.7. 其他开发人员CLI命令

1.4.7.1. help

显示CLI的常规帮助信息和可用命令列表。

示例:显示可用命令

$ oc help

示例:显示new-project命令的帮助信息

$ oc help new-project

1.4.7.2. plugin

列出用户PATH中的可用插件。

示例:列出可用的插件

$ oc plugin list

1.4.7.3. version

显示oc客户端和服务器版本。

示例:显示版本信息

$ oc version

对于集群管理员,还会显示OpenShift Container Platform服务器版本。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.