第 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
。
流程
- 在 Red Hat OpenShift Cluster Manager 站点的 Infrastructure Provider 页面中导航至您的安装类型页面,并点击 Download Command-line Tools。
点您的操作系统和系统架构的文件夹,然后点压缩文件。
注意您可在 Linux 、Windows 或 macOS 上安装
oc
。- 将文件保存到文件系统。
- 展开压缩文件。
-
把它放到
PATH
中的一个目录下。
安装 CLI 后,就可以使用oc
命令:
$ oc <command>
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.
您现在可以创建项目或执行其他命令来管理集群。
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".
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.
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>
1.1.4.4. 查看 pod 日志
使用oc logs
命令查看特定 pod 的日志。
$ oc logs cakephp-ex-1-deploy --> Scaling cakephp-ex-1 to 1 --> Success
1.1.4.5. 查看当前项目
使用oc project
命令查看当前项目。
$ oc project Using project "my-project" on server "https://openshift.example.com:6443".
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.
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 ...
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 ...
使用
--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 ...
1.1.6. 注销 CLI
您可以注销CLI以结束当前会话。
使用
oc logout
命令。$ oc logout Logged "user1" out on "https://openshift.example.com"
这将从服务器中删除已保存的身份验证令牌,并将其从配置文件中删除。