第 2 章 OpenShift CLI (oc)
2.1. OpenShift CLI 入门 复制链接链接已复制到粘贴板!
2.1.1. 关于 OpenShift CLI 复制链接链接已复制到粘贴板!
使用 OpenShift 命令行界面(CLI),oc
命令,您可以通过终端创建应用程序并管理 OpenShift Container Platform 项目。OpenShift CLI 在以下情况下是理想的选择:
- 直接使用项目源代码
- 编写 OpenShift Container Platform 操作脚本
- 在管理项目时,受带宽资源的限制,Web 控制台无法使用
2.1.2. 安装 OpenShift CLI 复制链接链接已复制到粘贴板!
您可以通过下载二进制文件或使用 RPM 来安装 OpenShift CLI(oc
)。
2.1.2.1. 通过下载二进制文件安装 OpenShift CLI 复制链接链接已复制到粘贴板!
您可以安装 OpenShift CLI(oc
)来使用命令行界面与 OpenShift Container Platform 进行交互。您可以在 Linux、Windows 或 macOS 上安装 oc
。
如果安装了旧版本的 oc
,则无法使用 OpenShift Container Platform 4.12 中的所有命令。下载并安装新版本的 oc
。
在 Linux 上安装 OpenShift CLI
您可以按照以下流程在 Linux 上安装 OpenShift CLI(oc
)二进制文件。
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 产品变体 下拉列表中选择架构。
- 从 版本 下拉列表中选择适当的版本。
- 点 OpenShift v4.12 Linux Client 条目旁的 Download Now 来保存文件。
解包存档:
tar xvf <file>
$ tar xvf <file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
oc
二进制文件放到PATH 中的目录中
。要查看您的
PATH
,请执行以下命令:echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
安装 OpenShift CLI 后,可以使用
oc
命令:oc <command>
$ oc <command>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 Windows 上安装 OpenShift CLI
您可以按照以下流程在 Windows 上安装 OpenShift CLI(oc
)二进制文件。
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 版本 下拉列表中选择适当的版本。
- 点 OpenShift v4.12 Windows Client 条目旁的 Download Now 来保存文件。
- 使用 ZIP 程序解压存档。
将
oc
二进制文件移到PATH 中的目录中
。要查看您的
PATH
,请打开命令提示并执行以下命令:path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
安装 OpenShift CLI 后,可以使用
oc
命令:oc <command>
C:\> oc <command>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 macOS 上安装 OpenShift CLI
您可以按照以下流程在 macOS 上安装 OpenShift CLI(oc
)二进制文件。
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 版本 下拉列表中选择适当的版本。
点 OpenShift v4.12 macOS Client 条目旁的 Download Now 来保存文件。
注意对于 macOS arm64,请选择 OpenShift v4.12 macOS arm64 Client 条目。
- 解包和解压存档。
将
oc
二进制文件移到 PATH 的目录中。要查看您的
PATH
,请打开终端并执行以下命令:echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
安装 OpenShift CLI 后,可以使用
oc
命令:oc <command>
$ oc <command>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.2.2. 使用 Web 控制台安装 OpenShift CLI 复制链接链接已复制到粘贴板!
您可以安装 OpenShift CLI(oc
)来通过 Web 控制台与 OpenShift Container Platform 进行交互。您可以在 Linux、Windows 或 macOS 上安装 oc
。
如果安装了旧版本的 oc
,则无法使用 OpenShift Container Platform 4.12 中的所有命令。下载并安装新版本的 oc
。
2.1.2.2.1. 使用 Web 控制台在 Linux 上安装 OpenShift CLI 复制链接链接已复制到粘贴板!
您可以按照以下流程在 Linux 上安装 OpenShift CLI(oc
)二进制文件。
流程
从 Web 控制台,单击 ?。
单击 Command Line Tools。
-
为您的 Linux 平台选择适当的
oc
二进制文件,然后点 Download oc for Linux。 - 保存该文件。
解包存档。
tar xvf <file>
$ tar xvf <file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
oc
二进制文件移到PATH 中的目录中
。要查看您的
PATH
,请执行以下命令:echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
安装 OpenShift CLI 后,可以使用 oc
命令:
oc <command>
$ oc <command>
2.1.2.2.2. 使用 Web 控制台在 Windows 上安装 OpenShift CLI 复制链接链接已复制到粘贴板!
您可以按照以下流程在 Winndows 上安装 OpenShift CLI(oc
)二进制文件。
流程
从 Web 控制台,单击 ?。
单击 Command Line Tools。
-
为 Windows 平台选择
oc
二进制文件,然后单击 Download oc for Windows for x86_64。 - 保存该文件。
- 使用 ZIP 程序解压存档。
将
oc
二进制文件移到PATH 中的目录中
。要查看您的
PATH
,请打开命令提示并执行以下命令:path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
安装 OpenShift CLI 后,可以使用 oc
命令:
oc <command>
C:\> oc <command>
2.1.2.2.3. 使用 Web 控制台在 macOS 上安装 OpenShift CLI 复制链接链接已复制到粘贴板!
您可以按照以下流程在 macOS 上安装 OpenShift CLI(oc
)二进制文件。
流程
从 Web 控制台,单击 ?。
单击 Command Line Tools。
为 macOS 平台选择
oc
二进制文件,然后单击 Download oc for Mac for x86_64。注意对于 macOS arm64,点 Download oc for ARM 64。
- 保存该文件。
- 解包和解压存档。
将
oc
二进制文件移到 PATH 的目录中。要查看您的
PATH
,请打开终端并执行以下命令:echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
安装 OpenShift CLI 后,可以使用 oc
命令:
oc <command>
$ oc <command>
2.1.2.3. 使用 RPM 安装 OpenShift CLI 复制链接链接已复制到粘贴板!
对于 Red Hat Enterprise Linux (RHEL),如果您的红帽帐户中包括有效的 OpenShift Container Platform 订阅,则可将通过 RPM 安装 OpenShift CLI (oc
)。
不支持将 OpenShift CLI(oc
)安装为 Red Hat Enterprise Linux(RHEL)9 的 RPM。您必须下载二进制文件,为 RHEL 9 安装 OpenShift CLI。
先决条件
- 必须具有 root 或 sudo 权限。
流程
使用 Red Hat Subscription Manager 注册:
subscription-manager register
# subscription-manager register
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取最新的订阅数据:
subscription-manager refresh
# subscription-manager refresh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出可用的订阅:
subscription-manager list --available --matches '*OpenShift*'
# subscription-manager list --available --matches '*OpenShift*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在上一命令的输出中,找到 OpenShift Container Platform 订阅的池 ID,并把订阅附加到注册的系统:
subscription-manager attach --pool=<pool_id>
# subscription-manager attach --pool=<pool_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 OpenShift Container Platform 4.12 所需的存储库。
subscription-manager repos --enable="rhocp-4.12-for-rhel-8-x86_64-rpms"
# subscription-manager repos --enable="rhocp-4.12-for-rhel-8-x86_64-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
openshift-clients
软件包:yum install openshift-clients
# yum install openshift-clients
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
安装 CLI 后,就可以使用oc
命令:
oc <command>
$ oc <command>
2.1.2.4. 使用 Homebrew 安装 OpenShift CLI 复制链接链接已复制到粘贴板!
对于 macOS,您可以使用 Homebrew 软件包管理器安装 OpenShift CLI(oc
)。
先决条件
-
已安装 Homebrew(
brew
)。
流程
运行以下命令来安装 openshift-cli 软件包:
brew install openshift-cli
$ brew install openshift-cli
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.3. 登录到 OpenShift CLI 复制链接链接已复制到粘贴板!
您可以登录到 OpenShift CLI(oc
)以访问和管理集群。
先决条件
- 有访问 OpenShift Container Platform 集群的权限。
-
已安装 OpenShift CLI(
oc
)。
要访问只能通过 HTTP 代理服务器访问的集群,可以设置 HTTP_PROXY
、HTTPS_PROXY
和 NO_PROXY
变量。oc
CLI 会使用这些环境变量以便所有与集群的通信都通过 HTTP 代理进行。
只有在使用 HTTPS 传输时,才会发送身份验证标头。
流程
输入
oc login
命令并传递用户名:oc login -u user1
$ oc login -u user1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提示时,请输入所需信息:
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果登录到 web 控制台,您可以生成包含令牌和服务器信息的 oc login
命令。您可以使用命令来登录 OpenShift Container Platform CLI,而无需交互式的提示。要生成 命令,请从 web 控制台右上角的用户名下拉菜单中选择 Copy login command。
您现在可以创建项目或执行其他命令来管理集群。
2.1.4. 使用 OpenShift CLI 复制链接链接已复制到粘贴板!
参阅以下部分以了解如何使用 CLI 完成常见任务。
2.1.4.1. 创建一个项目 复制链接链接已复制到粘贴板!
使用oc new-project
命令创建新项目。
oc new-project my-project
$ oc new-project my-project
输出示例
Now using project "my-project" on server "https://openshift.example.com:6443".
Now using project "my-project" on server "https://openshift.example.com:6443".
2.1.4.2. 创建一个新的应用程序 复制链接链接已复制到粘贴板!
使用oc new-app
命令创建新应用程序。
oc new-app https://github.com/sclorg/cakephp-ex
$ 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.
--> Found image 40de956 (9 days old) in imagestream "openshift/php" under tag "7.2" for "php"
...
Run 'oc status' to view your app.
2.1.4.3. 查看 pod 复制链接链接已复制到粘贴板!
使用oc get pods
命令查看当前项目的 pod。
当您在 pod 中运行 oc
且没有指定命名空间时,默认使用 pod 的命名空间。
oc get pods -o wide
$ 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>
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>
2.1.4.4. 查看 pod 日志 复制链接链接已复制到粘贴板!
使用oc logs
命令查看特定 pod 的日志。
oc logs cakephp-ex-1-deploy
$ oc logs cakephp-ex-1-deploy
输出示例
--> Scaling cakephp-ex-1 to 1 --> Success
--> Scaling cakephp-ex-1 to 1
--> Success
2.1.4.5. 查看当前项目 复制链接链接已复制到粘贴板!
使用oc project
命令查看当前项目。
oc project
$ oc project
输出示例
Using project "my-project" on server "https://openshift.example.com:6443".
Using project "my-project" on server "https://openshift.example.com:6443".
2.1.4.6. 查看当前项目的状态 复制链接链接已复制到粘贴板!
使用 oc status
命令查看有关当前项目的信息,如服务、部署和构建配置。
oc status
$ oc status
输出示例
2.1.4.7. 列出支持的 API 资源 复制链接链接已复制到粘贴板!
使用oc api-resources
命令查看服务器上支持的 API 资源列表。
oc api-resources
$ oc api-resources
输出示例
NAME SHORTNAMES APIGROUP NAMESPACED KIND bindings true Binding componentstatuses cs false ComponentStatus configmaps cm true ConfigMap ...
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
...
2.1.5. 获得帮助 复制链接链接已复制到粘贴板!
您可以通过以下方式获得有关 CLI 命令和 OpenShift Container Platform 资源的帮助信息。
使用
oc help
获取所有可用 CLI 命令的列表和描述:示例:获取 CLI 的常规帮助信息
oc help
$ oc help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
--help
标志获取有关特定CLI命令的帮助信息:示例:获取
oc create
命令的帮助信息oc create --help
$ oc create --help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
oc explain
命令查看特定资源的描述信息和项信息:示例:查看
Pod
资源的文档oc explain pods
$ oc explain pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.6. 注销 OpenShift CLI 复制链接链接已复制到粘贴板!
您可以注销 OpenShift CLI 以结束当前会话。
使用
oc logout
命令。oc logout
$ oc logout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Logged "user1" out on "https://openshift.example.com"
Logged "user1" out on "https://openshift.example.com"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
这将从服务器中删除已保存的身份验证令牌,并将其从配置文件中删除。