文档首页/ 华为云UCS/ API参考/ API/ UCS集群/ 获取gitops启用进展 - ShowGitOpsStatus
更新时间:2025-11-17 GMT+08:00
分享

获取gitops启用进展 - ShowGitOpsStatus

功能介绍

获取gitops启用进展

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项

URI

GET /v1/clusters/{clusterid}/gitops

表1 路径参数

参数

是否必选

参数类型

描述

clusterid

String

集群id

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

身份认证信息,调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

metadata

ListMeta object

列表元数据

items

Array of Pod objects

Pod列表

表4 ListMeta

参数

参数类型

描述

resourceVersion

String

服务器内部版本标识符

continue

String

表示当前请求返回的结果是否还有下一页数据

remainingItemCount

String

表示在当前响应之后,列表中还有多少项未被包含进来

表5 Pod

参数

参数类型

描述

metadata

ObjectMeta object

Pod对象元数据

spec

PodSpec object

Pod的期望状态

status

PodStatus object

Pod的实际状态

表6 ObjectMeta

参数

参数类型

描述

uid

String

资源ID

name

String

资源名称

generateName

String

当未提供name时,服务器使用的前缀来生成唯一名称

namespace

String

命名空间

labels

Map<String,String>

标签

annotations

Map<String,String>

注解

creationTimestamp

String

创建时间

updateTimestamp

String

更新时间

resourceVersion

String

资源内部版本

generation

String

资源期望状态的代数

managedFields

Array of ManagedFieldsEntry objects

记录哪些字段由哪些工作流管理

ownerReferences

Array of OwnerReference objects

用于定义对象间所有权关系,管理对象的依赖关系和垃圾回收机制,支持控制器对资源的管理

表7 ManagedFieldsEntry

参数

参数类型

描述

manager

String

管理者的名称

operation

String

记录导致此条目创建的操作类型,只能是 Apply 或 Update 两种操作类型

apiVersion

String

该管理者定义字段时所依据的资源 API 版本

time

String

此管理条目被创建或最后一次更新的时间戳

fieldsType

String

固定为 "FieldsV1",标记字段结构格式

fieldsV1

Object

用于存储实际被管理的字段信息

表8 OwnerReference

参数

参数类型

描述

apiVersion

String

标识引用对象的API版本

kind

String

引用对象的类型

name

String

引用对象的名称

uid

String

引用对象的uid

controller

Boolean

如果为true,表示该引用指向管理该资源的控制器

blockOwnerDeletion

Boolean

当为true且拥有者有名为"foregroundDeletion"的finalizer 时,会阻止拥有者被删除,直到这个引用被移除

表9 PodSpec

参数

参数类型

描述

volumes

Array of objects

定义 Pod 可以挂载的存储卷列表

containers

Array of objects

Pod中的主要容器列表

restartPolicy

String

容器失败后的重启策略

terminationGracePeriodSeconds

Integer

容器终止前的优雅退出时间

activeDeadlineSeconds

Integer

Pod在节点上的最大存活时间

dnsPolicy

String

DNS策略

nodeSelector

Map<String,String>

节点选择器,用于指定Pod可以调度到哪些节点

serviceAccountName

String

运行此Pod所使用的ServiceAccount名称

serviceAccount

String

提供向后兼容的旧版ServiceAccount字段

automountServiceAccountToken

Boolean

是否自动挂载ServiceAccount的令牌

nodeName

String

指定Pod应该调度到的节点

securityContext

Object

Pod级别的安全上下文

schedulerName

String

指定使用的调度器

tolerations

Array of Toleration objects

容器容忍的污点列表

priority

Integer

Pod 的优先级

enableServiceLinks

Boolean

服务信息是否注入到Pod的环境变量中

preemptionPolicy

String

抢占优先级策略

表10 Toleration

参数

参数类型

描述

key

String

表示要容忍的污点键名

operator

String

定义Key与Value之间的关系,可选值为Exists或Equal,默认为Equal

value

String

表示要匹配的污点值,当Operator为Exists时,Value应为空

effect

String

指定要匹配的污点效果,可选值为 NoSchedule、PreferNoSchedule或NoExecute,如果为空,表示匹配所有效果

tolerationSeconds

String

仅对NoExecute效果有效,表示Pod能容忍污点的时间

表11 PodStatus

参数

参数类型

描述

phase

String

表示Pod的生命周期状态,有 5 种取值:

  • Pending:Pod 已被接受但尚未完全就绪

  • Running:Pod 已绑定到节点且至少有一个容器在运行

  • Succeeded:Pod 中所有容器都已成功终止,且不会被重启

  • Failed:Pod 中至少一个容器失败终止

  • Unknown:无法获取 Pod 状态

hostIP

String

Pod所在主机的IP地址

startTime

String

记录Pod被Kubelet认可的时间

containerStatuses

Array of ContainerStatus objects

容器的状态列表

表12 ContainerStatus

参数

参数类型

描述

name

String

容器的唯一名称

state

Object

当前容器状态

lastState

String

上次终止时的状态

ready

Boolean

容器是否通过就绪检查

restartCount

Integer

容器重启次数

image

String

容器运行的镜像名称

imageID

String

容器运行的镜像ID

started

String

容器是否已经成功启动并进入稳定运行阶段

状态码:400

表13 响应Body参数

参数

参数类型

描述

-

String

状态码:404

表14 响应Body参数

参数

参数类型

描述

-

String

状态码:500

表15 响应Body参数

参数

参数类型

描述

-

String

请求示例

响应示例

状态码:200

获取到GitOps组件Pod信息

{
  "metadata" : { },
  "items" : [ {
    "metadata" : {
      "name" : "source-controller-97bdcd8cf-5fs52",
      "generateName" : "source-controller-97bdcd8cf-",
      "namespace" : "flux-system",
      "uid" : "590c9359-5812-49f2-9dd2-779ba0737f4b",
      "resourceVersion" : "5273585",
      "creationTimestamp" : "2025-11-05T03:48:06Z",
      "labels" : {
        "app" : "source-controller",
        "pod-template-hash" : "97bdcd8cf",
        "release" : "cceaddon-flux"
      },
      "annotations" : {
        "prometheus.io/port" : "8080",
        "prometheus.io/scrape" : "true"
      },
      "ownerReferences" : [ {
        "apiVersion" : "apps/v1",
        "kind" : "ReplicaSet",
        "name" : "source-controller-97bdcd8cf",
        "uid" : "4093b4f6-97db-41a7-9bc9-2855f12418a9",
        "controller" : true,
        "blockOwnerDeletion" : true
      } ],
      "managedFields" : [ {
        "manager" : "kube-controller-manager",
        "operation" : "Update",
        "apiVersion" : "v1",
        "time" : "2025-11-05T03:48:06Z",
        "fieldsType" : "FieldsV1"
      }, {
        "manager" : "kubelet",
        "operation" : "Update",
        "apiVersion" : "v1",
        "time" : "2025-11-05T03:48:06Z",
        "fieldsType" : "FieldsV1"
      } ]
    },
    "spec" : {
      "volumes" : [ ],
      "containers" : [ ],
      "restartPolicy" : "Always",
      "terminationGracePeriodSeconds" : 10,
      "dnsPolicy" : "ClusterFirst",
      "serviceAccountName" : "source-controller",
      "serviceAccount" : "source-controller",
      "automountServiceAccountToken" : true,
      "nodeName" : "192.168.0.138",
      "securityContext" : {
        "runAsUser" : 10000,
        "fsGroup" : 10000,
        "seccompProfile" : {
          "type" : "Unconfined"
        }
      },
      "schedulerName" : "default-scheduler",
      "tolerations" : [ {
        "key" : "node.kubernetes.io/not-ready",
        "operator" : "Exists",
        "effect" : "NoExecute",
        "tolerationSeconds" : 300
      }, {
        "key" : "node.kubernetes.io/unreachable",
        "operator" : "Exists",
        "effect" : "NoExecute",
        "tolerationSeconds" : 300
      } ],
      "priority" : 0,
      "enableServiceLinks" : true,
      "preemptionPolicy" : "PreemptLowerPriority"
    },
    "status" : {
      "phase" : "Pending",
      "hostIP" : "192.168.0.138",
      "startTime" : "2025-11-05T03:48:06Z",
      "containerStatuses" : [ {
        "name" : "manager",
        "state" : {
          "waiting" : {
            "reason" : "ContainerCreating"
          }
        },
        "lastState" : { },
        "ready" : false,
        "image" : "xxxxxx",
        "imageID" : "",
        "started" : false
      } ]
    }
  } ]
}

状态码

状态码

描述

200

获取到GitOps组件Pod信息

400

客户端请求错误,服务器无法执行请求

404

资源不存在

500

服务器内部错误

错误码

请参见错误码

相关文档