3.5. odo CLI 参考指南

3.5.1. odo build-images

odo 可根据 Dockerfile 构建容器镜像,并将这些镜像推送到 registry。

在运行 odo build-images 命令时,odo 会使用 镜像 类型搜索 devfile.yaml 中的所有组件,例如:

components:
- image:
    imageName: quay.io/myusername/myimage
    dockerfile:
      uri: ./Dockerfile 1
      buildContext: ${PROJECTS_ROOT} 2
  name: component-built-from-dockerfile
1
uri 字段指示要使用的 Dockerfile 的相对路径,相对于包含 devfile.yaml 的目录。devfile 规格表示 uri 也可以是 HTTP URL,但 odo 尚不支持此 URL。
2
buildContext 指示用作构建上下文的目录。默认值为 ${PROJECTS_ROOT}

对于每个镜像组件,odo 执行 podmandocker (按此顺序找到的第一个),以使用指定的 Dockerfile、构建上下文和参数构建镜像。

如果将 --push 标志传递给命令,则镜像会在构建后推送到其 registry。

3.5.2. odo catalog

odo 使用不同的目录来部署组件服务

3.5.2.1. 组件

odo 使用可移植 devfile 格式来描述组件。它可以连接到各种 devfile registry,以便为不同的语言和框架下载 devfile。如需更多信息,请参阅 odo registry

3.5.2.1.1. 列出组件

要列出不同 registry 中可用的所有 devfile,请运行以下命令:

$ odo catalog list components

输出示例

 NAME             DESCRIPTION                          REGISTRY
 go               Stack with the latest Go version     DefaultDevfileRegistry
 java-maven       Upstream Maven and OpenJDK 11        DefaultDevfileRegistry
 nodejs           Stack with Node.js 14                DefaultDevfileRegistry
 php-laravel      Stack with Laravel 8                 DefaultDevfileRegistry
 python           Python Stack with Python 3.7         DefaultDevfileRegistry
 [...]

3.5.2.1.2. 获取有关组件的信息

要获得有关特定组件的更多信息,请运行以下命令:

$ odo catalog describe component

例如,运行以下命令:

$ odo catalog describe component nodejs

输出示例

* Registry: DefaultDevfileRegistry 1

Starter Projects: 2
---
name: nodejs-starter
attributes: {}
description: ""
subdir: ""
projectsource:
  sourcetype: ""
  git:
    gitlikeprojectsource:
      commonprojectsource: {}
      checkoutfrom: null
      remotes:
        origin: https://github.com/odo-devfiles/nodejs-ex.git
  zip: null
  custom: null

1
registry 是从中检索 devfile 的 registry。
2
Starter 项目是 devfile 的同一语言和框架的示例项目,可帮助您启动一个新项目。

如需有关从入门项目创建项目的更多信息,请参阅 odo create

3.5.2.2. 服务

odo 可使用 Operator 帮助部署服务

odo 仅支持 Operator Lifecycle Manager 帮助部署的 Operator。

3.5.2.2.1. 列出服务

要列出可用的 Operator 及其关联的服务,请运行以下命令:

$ odo catalog list services

输出示例

 Services available through Operators
 NAME                                 CRDs
 postgresql-operator.v0.1.1           Backup, Database
 redis-operator.v0.8.0                RedisCluster, Redis

在本例中,集群中安装两个 Operator。postgresql-operator.v0.1.1 Operator 部署与 PostgreSQL 相关的服务: BackupDatabaseredis-operator.v0.8.0 Operator 将部署与 Redis 相关的服务:RedisClusterRedis

注意

要获取所有可用 Operator 的列表,odo 会获取当前处于 Succeeded 阶段的当前命名空间的 ClusterServiceVersion(CSV)资源。对于支持集群范围的访问权限的 Operator,当创建新命名空间时,这些资源会自动添加到其中。但是,在 Succeeded 阶段前可能需要一些时间,odo 可能会返回空列表,直到资源就绪为止。

3.5.2.2.2. 搜索服务

要通过关键字搜索特定服务,请运行以下命令:

$ odo catalog search service

例如,要检索 PostgreSQL 服务,请运行以下命令:

$ odo catalog search service postgres

输出示例

 Services available through Operators
 NAME                           CRDs
 postgresql-operator.v0.1.1     Backup, Database

您将看到在其名称中包含 search 关键字的 Operator 列表。

3.5.2.2.3. 获取有关服务的信息

要获取有关特定服务的更多信息,请运行以下命令:

$ odo catalog describe service

例如:

$ odo catalog describe service postgresql-operator.v0.1.1/Database

输出示例

KIND:    Database
VERSION: v1alpha1

DESCRIPTION:
     Database is the Schema for the the Database Database API

FIELDS:
   awsAccessKeyId (string)
     AWS S3 accessKey/token ID

     Key ID of AWS S3 storage. Default Value: nil Required to create the Secret
     with the data to allow send the backup files to AWS S3 storage.
[...]

服务通过 CustomResourceDefinition(CRD)资源表示在集群中。上一命令显示 CRD 的详细信息,如 kindversion,以及用于定义此自定义资源实例的字段列表。

从 CRD 中包含的 OpenAPI schema 中提取字段列表。此信息在 CRD 中是可选的,如果不存在,它将从代表该服务的 ClusterServiceVersion(CSV)资源中提取。

也可以请求 Operator 支持的服务的描述,而无需提供 CRD 类型信息。要描述没有 CRD 的集群中的 Redis Operator,请运行以下命令:

$ odo catalog describe service redis-operator.v0.8.0

输出示例

NAME:	redis-operator.v0.8.0
DESCRIPTION:

	A Golang based redis operator that will make/oversee Redis
	standalone/cluster mode setup on top of the Kubernetes. It can create a
	redis cluster setup with best practices on Cloud as well as the Bare metal
	environment. Also, it provides an in-built monitoring capability using

... (cut short for beverity)

	Logging Operator is licensed under [Apache License, Version
	2.0](https://github.com/OT-CONTAINER-KIT/redis-operator/blob/master/LICENSE)


CRDs:
	NAME           DESCRIPTION
	RedisCluster   Redis Cluster
	Redis          Redis

3.5.3. odo create

odo 使用 devfile 来存储组件的配置,并描述组件的资源,如存储和服务。odo create 命令生成这个文件。

3.5.3.1. 创建组件

要为现有项目创建 devfile,请运行 odo create 命令,使用组件的名称和类型(例如 nodejsgo):

odo create nodejs mynodejs

在示例中,nodejs 是组件的类型,mynodejsodo 为您创建的组件的名称。

注意

如需所有支持的组件类型列表,请运行 odo catalog list components 命令。

如果您的源代码存在于当前目录之外,可以使用 --context 标志来指定路径。例如,如果 nodejs 组件的源位于相对于当前工作目录的名为 node-backend 的文件夹,则运行以下命令:

odo create nodejs mynodejs --context ./node-backend

--context 标志支持相对和绝对路径。

要指定部署组件的项目或应用程序,请使用 --project--app 标志。例如,要在 backend 项目中创建一个部分 myapp 应用程序的组件,请运行以下命令:

odo create nodejs --app myapp --project backend
注意

如果没有指定这些标志,它们将默认为活跃的应用和项目。

3.5.3.2. Starter (初学者)项目

如果您没有现有的源代码,但希望快速设置并运行,请使用初学者项目来试验 devfile 和组件。要使用初学者项目,在 odo create 命令中添加 --starter 标志。

要获取组件类型的可用启动程序项目列表,请运行 odo catalog describe component 命令。例如,若要获取 nodejs 组件类型的所有可用入门项目,请运行以下命令:

odo catalog describe component nodejs

然后,在 odo create 命令中使用 --starter 标志指定所需的项目:

odo create nodejs --starter nodejs-starter

这将下载与所选组件类型对应的示例模板,在本例中为 nodejs。模板已下载到您的当前目录中,或附加到 --context 标志指定的位置。如果初学者项目有自己的 devfile,则会保留此 devfile。

3.5.3.3. 使用现有的 devfile

如果要从现有 devfile 创建新组件,您可以使用 --devfile 标志指定 devfile 的路径。例如,要基于 GitHub 中的 devfile 创建名为 mynodejs 的组件,请使用以下命令:

odo create mynodejs --devfile https://raw.githubusercontent.com/odo-devfiles/registry/master/devfiles/nodejs/devfile.yaml

3.5.3.4. 互动创建

您还可以以互动方式运行 odo create 命令,以引导您按照创建组件所需的步骤进行指导:

$ odo create

? Which devfile component type do you wish to create go
? What do you wish to name the new devfile component go-api
? What project do you want the devfile component to be created in default
Devfile Object Validation
 ✓  Checking devfile existence [164258ns]
 ✓  Creating a devfile component from registry: DefaultDevfileRegistry [246051ns]
Validation
 ✓  Validating if devfile name is correct [92255ns]
? Do you want to download a starter project Yes

Starter Project
 ✓  Downloading starter project go-starter from https://github.com/devfile-samples/devfile-stack-go.git [429ms]

Please use odo push command to create the component with source deployed

系统将提示您选择组件类型、名称和项目。您还可以选择是否下载初学者项目。完成后,在工作目录中创建一个新的 devfile.yaml 文件。

要将这些资源部署到集群中,请运行 odo push 命令。

3.5.4. odo delete

odo delete 命令对删除由 odo 管理的资源很有用。

3.5.4.1. 删除组件

要删除 devfile 组件,请运行 odo delete 命令:

$ odo delete

如果组件已推送到集群,则组件将从集群中删除,以及其依赖存储、URL、secret 和其他资源。如果组件还没有推送,则命令退出并显示一个错误,表示它无法找到集群中的资源。

使用 -f--force 标志以避免出现确认问题。

3.5.4.2. 取消部署 devfile Kubernetes 组件

要取消部署 devfile Kubernetes 组件(已使用 odo deploy 部署 ),请使用 --deploy 标志执行 odo delete 命令:

$ odo delete --deploy

使用 -f--force 标志以避免出现确认问题。

3.5.4.3. 全部删除

要删除包括以下项目的所有工件,请运行带有 --all 标记的 odo delete 命令:

  • devfile 组件
  • 使用 odo deploy 命令部署的 devfile Kubernetes 组件
  • devfile
  • 本地配置
$ odo delete --all

3.5.4.4. 可用标记

-f,--force
使用此标志以避免出现确认问题。
-w,--wait
使用此标志等待组件删除和任何依赖项。取消部署时,此标志不起作用。

关于 Common Flags 的文档提供有关可用于命令的标记的更多信息。

3.5.5. odo deploy

odo 可用于部署组件的方式类似于如何使用 CI/CD 系统进行部署。首先,odo 构建容器镜像,然后部署部署组件所需的 Kubernetes 资源。

在运行命令 odo deploy 时,odo 在 devfile 中搜索 kind deploy 的默认命令,并执行这个命令。从 2.2.0 版本开始的 devfile 格式支持 kind 部署

deploy 命令通常是一个 复合 命令,由多个 应用命令组成

  • 引用 镜像 组件(应用时)的命令将构建要部署的容器的镜像,然后将其推送到注册表。
  • 引用 Kubernetes 组件的命令 (应用时)将在集群中创建 Kubernetes 资源。

使用以下示例 devfile.yaml 文件,会使用 目录中存在的 Dockerfile 来构建容器镜像。镜像被推送到其 registry,然后使用这个全新的构建镜像在集群中创建 Kubernetes Deployment 资源。

schemaVersion: 2.2.0
[...]
variables:
  CONTAINER_IMAGE: quay.io/phmartin/myimage
commands:
  - id: build-image
    apply:
      component: outerloop-build
  - id: deployk8s
    apply:
      component: outerloop-deploy
  - id: deploy
    composite:
      commands:
        - build-image
        - deployk8s
      group:
        kind: deploy
        isDefault: true
components:
  - name: outerloop-build
    image:
      imageName: "{{CONTAINER_IMAGE}}"
      dockerfile:
        uri: ./Dockerfile
        buildContext: ${PROJECTS_ROOT}
  - name: outerloop-deploy
    kubernetes:
      inlined: |
        kind: Deployment
        apiVersion: apps/v1
        metadata:
          name: my-component
        spec:
          replicas: 1
          selector:
            matchLabels:
              app: node-app
          template:
            metadata:
              labels:
                app: node-app
            spec:
              containers:
                - name: main
                  image: {{CONTAINER_IMAGE}}

3.5.7. odo registry

odo 使用可移植 devfile 格式来描述组件。odo 可以连接到各种 devfile registry,以下载用于不同语言和框架的 devfile。

您可以连接到公开可用的 devfile registry,也可以安装自己的 安全 Registry

您可以使用 odo registry 命令管理 odo 使用的 registry 来检索 devfile 信息。

3.5.7.1. 列出 registry

要列出 odo 当前联系的 registry,请运行以下命令:

$ odo registry list

输出示例:

NAME                       URL                             SECURE
DefaultDevfileRegistry     https://registry.devfile.io     No

DefaultDevfileRegistry 是 odo 使用的默认 registry,它由 devfile.io 项目提供。

3.5.7.2. 添加 registry

要添加 registry,请运行以下命令:

$ odo registry add

输出示例:

$ odo registry add StageRegistry https://registry.stage.devfile.io
New registry successfully added

如果要部署自己的安全 Registry,您可以指定个人访问令牌来使用 --token 标志向安全 registry 进行身份验证:

$ odo registry add MyRegistry https://myregistry.example.com --token <access_token>
New registry successfully added

3.5.7.3. 删除 registry

要删除 registry,请运行以下命令:

$ odo registry delete

输出示例:

$ odo registry delete StageRegistry
? Are you sure you want to delete registry "StageRegistry" Yes
Successfully deleted registry

使用 --force (或 -f)标记强制删除 registry,而无需确认。

3.5.7.4. 更新 registry

要更新已注册的 registry 的 URL 或已经注册的个人访问令牌,请运行以下命令:

$ odo registry update

输出示例:

 $ odo registry update MyRegistry https://otherregistry.example.com --token <other_access_token>
 ? Are you sure you want to update registry "MyRegistry" Yes
 Successfully updated registry

使用 --force (或 -f)标记强制更新 registry,而无需确认。

3.5.8. odo service

odo 可使用 Operator 帮助部署服务

可使用 odo catalog 命令找到可用的 Operator 和服务列表。

服务在 组件 上下文中创建,因此在部署服务前运行 odo create 命令。

服务通过以下两个步骤进行部署:

  1. 定义服务并将其定义存储在 devfile 中。
  2. 使用 odo push 命令将定义的服务部署到集群。

3.5.8.1. 创建新服务

要创建新服务,请运行以下命令:

$ odo service create

例如,要创建一个名为 my-redis-service 的 Redis 服务实例,您可以运行以下命令:

输出示例

$ odo catalog list services
Services available through Operators
NAME                      CRDs
redis-operator.v0.8.0     RedisCluster, Redis

$ odo service create redis-operator.v0.8.0/Redis my-redis-service
Successfully added service to the configuration; do 'odo push' to create service on the cluster

此命令在 kubernetes/ 目录中创建 Kubernetes 清单,其中包含服务的定义,此文件从 devfile.yaml 文件引用。

$ cat kubernetes/odo-service-my-redis-service.yaml

输出示例

 apiVersion: redis.redis.opstreelabs.in/v1beta1
 kind: Redis
 metadata:
   name: my-redis-service
 spec:
   kubernetesConfig:
     image: quay.io/opstree/redis:v6.2.5
     imagePullPolicy: IfNotPresent
     resources:
       limits:
         cpu: 101m
         memory: 128Mi
       requests:
         cpu: 101m
         memory: 128Mi
     serviceType: ClusterIP
   redisExporter:
     enabled: false
     image: quay.io/opstree/redis-exporter:1.0
   storage:
     volumeClaimTemplate:
       spec:
         accessModes:
         - ReadWriteOnce
         resources:
           requests:
             storage: 1Gi

示例命令

$ cat devfile.yaml

输出示例

[...]
components:
- kubernetes:
    uri: kubernetes/odo-service-my-redis-service.yaml
  name: my-redis-service
[...]

请注意,所创建的实例的名称是可选的。如果您不提供名称,它将是服务的小写名称。例如,以下命令创建一个名为 redis 的 Redis 服务实例:

$ odo service create redis-operator.v0.8.0/Redis
3.5.8.1.1. 显示清单

默认情况下,在 kubernetes/ 目录中创建一个新清单,从 devfile.yaml 文件引用。可以使用 --inlined 标志在 devfile.yaml 文件中内联清单:

$ odo service create redis-operator.v0.8.0/Redis my-redis-service --inlined
Successfully added service to the configuration; do 'odo push' to create service on the cluster

示例命令

$ cat devfile.yaml

输出示例

[...]
components:
- kubernetes:
    inlined: |
      apiVersion: redis.redis.opstreelabs.in/v1beta1
      kind: Redis
      metadata:
        name: my-redis-service
      spec:
        kubernetesConfig:
          image: quay.io/opstree/redis:v6.2.5
          imagePullPolicy: IfNotPresent
          resources:
            limits:
              cpu: 101m
              memory: 128Mi
            requests:
              cpu: 101m
              memory: 128Mi
          serviceType: ClusterIP
        redisExporter:
          enabled: false
          image: quay.io/opstree/redis-exporter:1.0
        storage:
          volumeClaimTemplate:
            spec:
              accessModes:
              - ReadWriteOnce
              resources:
                requests:
                  storage: 1Gi
  name: my-redis-service
[...]

3.5.8.1.2. 配置服务

如果没有特定的自定义,将使用默认配置创建该服务。您可以使用命令行参数或文件来指定您自己的配置。

3.5.8.1.2.1. 使用命令行参数

使用 --parameters (或 -p)指定您自己的配置。

以下示例使用三个参数配置 Redis 服务:

$ odo service create redis-operator.v0.8.0/Redis my-redis-service \
    -p kubernetesConfig.image=quay.io/opstree/redis:v6.2.5 \
    -p kubernetesConfig.serviceType=ClusterIP \
    -p redisExporter.image=quay.io/opstree/redis-exporter:1.0
Successfully added service to the configuration; do 'odo push' to create service on the cluster

示例命令

$ cat kubernetes/odo-service-my-redis-service.yaml

输出示例

apiVersion: redis.redis.opstreelabs.in/v1beta1
kind: Redis
metadata:
  name: my-redis-service
spec:
  kubernetesConfig:
    image: quay.io/opstree/redis:v6.2.5
    serviceType: ClusterIP
  redisExporter:
    image: quay.io/opstree/redis-exporter:1.0

您可以使用 odo catalog describe service 命令获取特定服务的可能参数。

3.5.8.1.2.2. 使用文件

使用 YAML 清单来配置您自己的规格。在以下示例中,Red Hat Redis 服务配置了三个参数。

  1. 创建清单:

    $ cat > my-redis.yaml <<EOF
    apiVersion: redis.redis.opstreelabs.in/v1beta1
    kind: Redis
    metadata:
      name: my-redis-service
    spec:
      kubernetesConfig:
        image: quay.io/opstree/redis:v6.2.5
        serviceType: ClusterIP
      redisExporter:
        image: quay.io/opstree/redis-exporter:1.0
    EOF
  2. 在清单中创建服务:

    $ odo service create --from-file my-redis.yaml
    Successfully added service to the configuration; do 'odo push' to create service on the cluster

3.5.8.2. 删除服务

要删除服务,请运行以下命令:

$ odo service delete

输出示例

$ odo service list
NAME                       MANAGED BY ODO     STATE               AGE
Redis/my-redis-service     Yes (api)          Deleted locally     5m39s

$ odo service delete Redis/my-redis-service
? Are you sure you want to delete Redis/my-redis-service Yes
Service "Redis/my-redis-service" has been successfully deleted; do 'odo push' to delete service from the cluster

使用 --force (或 -f)标记强制删除该服务而无需确认。

3.5.8.3. 列出服务

要列出为组件创建的服务,请运行以下命令:

$ odo service list

输出示例

$ odo service list
NAME                       MANAGED BY ODO     STATE             AGE
Redis/my-redis-service-1   Yes (api)          Not pushed
Redis/my-redis-service-2   Yes (api)          Pushed            52s
Redis/my-redis-service-3   Yes (api)          Deleted locally   1m22s

对于每个服务,STATE 表示该服务是否使用 odo push 命令推送到集群,或者该服务仍然在集群中运行,但使用 odo service delete 命令在本地移除 devfile。

3.5.8.4. 获取有关服务的信息

要获取服务的详情,如其类型、版本、名称和配置参数列表,请运行以下命令:

$ odo service describe

输出示例

$ odo service describe Redis/my-redis-service
Version: redis.redis.opstreelabs.in/v1beta1
Kind: Redis
Name: my-redis-service
Parameters:
NAME                           VALUE
kubernetesConfig.image         quay.io/opstree/redis:v6.2.5
kubernetesConfig.serviceType   ClusterIP
redisExporter.image            quay.io/opstree/redis-exporter:1.0

3.5.9. odo storage

odo 允许用户管理附加到组件的存储卷。存储卷可以是使用 emptyDir Kubernetes 卷或 持久性卷声明 (PVC)的临时卷。PVC 允许用户声明持久性卷(如 GCE PersistentDisk 或 iSCSI 卷),而无需了解特定的云环境的详情。持久性存储卷可用于在重启后保留数据,并重新构建组件。

3.5.9.1. 添加存储卷

要在集群中添加存储卷,请运行以下命令:

$ odo storage create

输出示例:

$ odo storage create store --path /data --size 1Gi
✓  Added storage store to nodejs-project-ufyy

$ odo storage create tempdir --path /tmp --size 2Gi --ephemeral
✓  Added storage tempdir to nodejs-project-ufyy

Please use `odo push` command to make the storage accessible to the component

在上例中,第一个存储卷已挂载到 /data 路径中,大小为 1Gi,第二个卷已挂载到 /tmp,并且是临时卷。

3.5.9.2. 列出存储卷

要检查组件当前使用的存储卷,请运行以下命令:

$ odo storage list

输出示例:

$ odo storage list
The component 'nodejs-project-ufyy' has the following storage attached:
NAME      SIZE     PATH      STATE
store     1Gi      /data     Not Pushed
tempdir   2Gi      /tmp      Not Pushed

3.5.9.3. 删除存储卷

要删除存储卷,请运行以下命令:

$ odo storage delete

输出示例:

$ odo storage delete store -f
Deleted storage store from nodejs-project-ufyy

Please use `odo push` command to delete the storage from the cluster

在上例中,使用 -f 标志强制删除存储而无需询问用户权限。

3.5.9.4. 在特定容器中添加存储

如果您的 devfile 有多个容器,您可以使用 odo storage create 命令中的 --container 标志指定您要将存储附加到的容器。

以下示例是带有多个容器的 devfile 摘录:

components:
  - name: nodejs1
    container:
      image: registry.access.redhat.com/ubi8/nodejs-12:1-36
      memoryLimit: 1024Mi
      endpoints:
        - name: "3000-tcp"
          targetPort: 3000
      mountSources: true
  - name: nodejs2
    container:
      image: registry.access.redhat.com/ubi8/nodejs-12:1-36
      memoryLimit: 1024Mi

在示例中,有两个容器nodejs1nodejs2。要将存储附加到 nodejs2 容器,请使用以下命令:

$ odo storage create --container

输出示例:

$ odo storage create store --path /data --size 1Gi --container nodejs2
✓  Added storage store to nodejs-testing-xnfg

Please use `odo push` command to make the storage accessible to the component

您可以使用 odo storage list 命令列出存储资源:

$ odo storage list

输出示例:

The component 'nodejs-testing-xnfg' has the following storage attached:
NAME      SIZE     PATH      CONTAINER     STATE
store     1Gi      /data     nodejs2       Not Pushed

3.5.10. common 标记

多数 odo 命令提供了以下标记:

表 3.1. odo 标记

命令描述

--context

设置定义组件的上下文目录。

--project

设置组件的项目。默认为本地配置中定义的项目。如果没有可用的,则集群上的当前项目。

--app

设置组件的应用程序。默认为本地配置中定义的应用程序。如果没有可用的,则为 app

--kubeconfig

如果不使用默认配置,请将 path 设置为 kubeconfig 值。

--show-log

使用此标志查看日志。

-f,--force

使用这个标志代表命令不会提示用户进行确认。

-v,--v

设置详细程度。如需更多信息,请参阅 odo 中的日志记录

-h,--help

输出命令的帮助信息。

注意

某些命令可能不能使用一些标志。使用 --help 标志运行命令以获取所有可用标志的列表。

3.5.11. JSON 输出

输出内容的 odo 命令通常会接受 -o json 标志以 JSON 格式输出此内容,适用于其他程序来更轻松地解析此输出。

输出结构与 Kubernetes 资源类似,带有 kind, apiVersion, metadata, spec, 和status 字段。

List 命令会返回 List 资源,其中包含一个项列表的 items(或类似)字段,每个项目也与 Kubernetes 资源类似。

Delete 命令会返回一个 Status 资源;请参阅 Status Kubernetes 资源

其他命令会返回与命令关联的资源,如 Application, Storage, URL 等。

当前接受 -o json 标记的命令的完整列表是:

命令kind(版本)列表项目的 kind(版本)完整内容?

odo application describe

Application (odo.dev/v1alpha1)

不适用

odo application list

List (odo.dev/v1alpha1)

Application (odo.dev/v1alpha1)

?

odo catalog list components

List (odo.dev/v1alpha1)

缺少

odo catalog list services

List (odo.dev/v1alpha1)

ClusterServiceVersion (operators.coreos.com/v1alpha1)

?

odo catalog describe component

缺少

不适用

odo catalog describe service

CRDDescription (odo.dev/v1alpha1)

不适用

odo component create

Component (odo.dev/v1alpha1)

不适用

odo component describe

Component (odo.dev/v1alpha1)

不适用

odo component list

List (odo.dev/v1alpha1)

Component (odo.dev/v1alpha1)

odo config view

DevfileConfiguration (odo.dev/v1alpha1)

不适用

odo debug info

OdoDebugInfo (odo.dev/v1alpha1)

不适用

odo env view

EnvInfo (odo.dev/v1alpha1)

不适用

odo preference view

PreferenceList (odo.dev/v1alpha1)

不适用

odo project create

Project (odo.dev/v1alpha1)

不适用

odo project delete

Status (v1)

不适用

odo project get

Project (odo.dev/v1alpha1)

不适用

odo project list

List (odo.dev/v1alpha1)

Project (odo.dev/v1alpha1)

odo registry list

List (odo.dev/v1alpha1)

缺少

odo service create

服务

不适用

odo service describe

服务

不适用

odo service list

List (odo.dev/v1alpha1)

服务

odo storage create

Storage (odo.dev/v1alpha1)

不适用

odo storage delete

Status (v1)

不适用

odo storage list

List (odo.dev/v1alpha1)

Storage (odo.dev/v1alpha1)

odo url list

List (odo.dev/v1alpha1)

URL (odo.dev/v1alpha1)