华为云用户手册
-
URI GET /apis/kubeflow.org/v1/namespaces/{namespace}/pytorchjobs 表1 Path参数 参数 是否必选 描述 namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 fieldSelector No A selector to restrict the list of returned objects by their fields. Defaults to everything. labelSelector No A selector to restrict the list of returned objects by their labels. Defaults to everything. limit No limit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. resourceVersion No When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv. timeoutSeconds No Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. watch No Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
-
响应消息 响应参数: 响应参数的详细描述请参见表170。 响应示例: { "apiVersion": "kubeflow.org/v1", "items": [ { "apiVersion": "kubeflow.org/v1", "kind": "PyTorchJob", "metadata": { "creationTimestamp": "2019-07-24T10:29:45Z", "generation": 1, "name": "pytorch-test", "namespace": "kube-test", "resourceVersion": "72516798", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/pytorchjobs/pytorch-test", "uid": "f4c79668-adfd-11e9-8041-340a9837e2a7" }, "spec": { "pytorchReplicaSpecs": { "Master": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "--backend", "gloo" ], "command": [ "python", "/var/mnist.py" ], "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "name": "pytorch", "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Worker": { "replicas": 1, "restartPolicy": "OnFailure", "template": { "spec": { "containers": [ { "args": [ "--backend", "gloo" ], "command": [ "python", "/var/mnist.py" ], "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "name": "pytorch", "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } } } }, "status": { "conditions": [ { "lastTransitionTime": "2019-07-24T10:30:34Z", "lastUpdateTime": "2019-07-24T10:30:34Z", "message": "PyTorchJob pytorch-test is created.", "reason": "PyTorchJobCreated", "status": "True", "type": "Created" } ], "replicaStatuses": { "Master": {} }, "startTime": "2019-07-24T10:30:34Z" } } ], "kind": "PyTorchJobList", "metadata": { "continue": "", "resourceVersion": "72517974", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/pytorchjobs" }}
-
URI POST /api/v1/namespaces/{namespace}/pods/{name}/exec 表1 路径参数 参数 是否必选 参数类型 描述 name 是 String name of the PodExecOptions namespace 是 String object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 参数类型 描述 command 否 String Command is the remote command to execute. argv array. Not executed within a shell. container 否 String Container in which to execute the command. Defaults to only container if there is only one container in the pod. stderr 否 Boolean Redirect the standard error stream of the pod for this call. Defaults to true. stdin 否 Boolean Redirect the standard input stream of the pod for this call. Defaults to false. stdout 否 Boolean Redirect the standard output stream of the pod for this call. Defaults to true. tty 否 Boolean TTY if true indicates that a tty will be allocated for the exec call. Defaults to false.
-
状态码 状态码 描述 200 OK 400 BadRequest 401 Unauthorized 403 Forbidden 404 NotFound 405 MethodNotAllowed 406 NotAcceptable 409 AlreadyExists 415 UnsupportedMediaType 422 Invalid 429 TooManyRequests 500 InternalError 503 ServiceUnavailable 504 ServerTimeout
-
请求消息 请求参数: 请求参数的详细描述请参见表165。 请求示例: 更改PyTorchJob的结束存活时间ttlSecondsAfterFinished: { "apiVersion": "kubeflow.org/v1", "kind": "PyTorchJob", "metadata": { "creationTimestamp": "2019-07-24T10:35:38Z", "generation": 2, "labels": { "app": "test" }, "name": "pytorch-test", "namespace": "kube-test", "resourceVersion": "72519846", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/pytorchjobs/pytorch-test", "uid": "c6e548f1-adfe-11e9-ba3a-b44326d0c915" }, "spec": { "pytorchReplicaSpecs": { "Master": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "--backend", "gloo" ], "command": [ "python", "/var/mnist.py" ], "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "name": "pytorch", "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Worker": { "replicas": 1, "restartPolicy": "OnFailure", "template": { "spec": { "containers": [ { "args": [ "--backend", "gloo" ], "command": [ "python", "/var/mnist.py" ], "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "name": "pytorch", "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } } }, "ttlSecondsAfterFinished": 3000 }, "status": { "conditions": [ { "lastTransitionTime": "2019-07-24T10:36:26Z", "lastUpdateTime": "2019-07-24T10:36:26Z", "message": "PyTorchJob pytorch-test is created.", "reason": "PyTorchJobCreated", "status": "True", "type": "Created" } ], "replicaStatuses": { "Master": {} }, "startTime": "2019-07-24T10:36:26Z" }}
-
URI PUT /apis/kubeflow.org/v1/namespaces/{namespace}/pytorchjobs/{name} 表1 Path参数 参数 是否必选 描述 name Yes name of the PyTorchJob namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 pretty No If 'true’, then the output is pretty printed.
-
响应消息 响应参数: 响应参数的详细描述请参见表165。 响应示例: { "apiVersion": "kubeflow.org/v1", "kind": "PyTorchJob", "metadata": { "creationTimestamp": "2019-07-24T10:35:38Z", "generation": 2, "labels": { "app": "test" }, "name": "pytorch-test", "namespace": "kube-test", "resourceVersion": "72519846", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/pytorchjobs/pytorch-test", "uid": "c6e548f1-adfe-11e9-ba3a-b44326d0c915" }, "spec": { "pytorchReplicaSpecs": { "Master": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "--backend", "gloo" ], "command": [ "python", "/var/mnist.py" ], "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "name": "pytorch", "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Worker": { "replicas": 1, "restartPolicy": "OnFailure", "template": { "spec": { "containers": [ { "args": [ "--backend", "gloo" ], "command": [ "python", "/var/mnist.py" ], "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "name": "pytorch", "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } } }, "ttlSecondsAfterFinished": 3000 }, "status": { "conditions": [ { "lastTransitionTime": "2019-07-24T10:36:26Z", "lastUpdateTime": "2019-07-24T10:36:26Z", "message": "PyTorchJob pytorch-test is created.", "reason": "PyTorchJobCreated", "status": "True", "type": "Created" } ], "replicaStatuses": { "Master": {} }, "startTime": "2019-07-24T10:36:26Z" }}
-
响应消息 响应参数: 响应参数的详细描述请参见表72。 响应示例: { "kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Success", "details": { "name": "pytorch-test", "group": "kubeflow.org", "kind": "pytorchjobs", "uid": "be7696f9-adfe-11e9-aaa4-340a9837e413" }}
-
URI DELETE /apis/kubeflow.org/v1/namespaces/{namespace}/pytorchjobs/{name} 表1 Path参数 参数 是否必选 描述 name Yes name of the PyTorchJob namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 dryRun No When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed gracePeriodSeconds No The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately. orphanDependents No Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the “orphan” finalizer will be added to/removed from the object’s finalizers list. Either this field or PropagationPolicy may be set, but not both. propagationPolicy No Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: ‘Orphan’ - orphan the dependents; ‘Background’ - allow the garbage collector to delete the dependents in the background; ‘Foreground’ - a cascading policy that deletes all dependents in the foreground. pretty No If 'true’, then the output is pretty printed.
-
请求消息 请求参数: 请求参数的详细描述请参考表162。 请求示例: { "apiVersion": "kubeflow.org/v1", "kind": "MXJob", "metadata": { "name": "mxnet-job" }, "spec": { "cleanPodPolicy": "Running", "jobMode": "MXTrain", "mxReplicaSpecs": { "Scheduler": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "imagePullSecrets": [ { "name": "imagepull-secret" } ], "containers": [ { "name": "mxnet", "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "command": [ "/bin/bash" ], "args": [ "-c", "python train_imagenet.py" ], "resources": { "requests": { "cpu": "1000m", "memory": "2Gi" }, "limits": { "cpu": "1000m", "memory": "2Gi" } } } ] } } }, "Server": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "imagePullSecrets": [ { "name": "imagepull-secret" } ], "containers": [ { "name": "mxnet", "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "command": [ "/bin/bash" ], "args": [ "-c", "python train_imagenet.py" ], "resources": { "requests": { "cpu": "1000m", "memory": "2Gi" }, "limits": { "cpu": "1000m", "memory": "2Gi" } } } ] } } }, "Worker": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "imagePullSecrets": [ { "name": "imagepull-secret" } ], "containers": [ { "name": "mxnet", "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "command": [ "/bin/bash" ], "args": [ "-c", "python train_imagenet.py --benchmark 1 --network resnet --batch-size 1 --num-epochs 1 --kv-store dist_sync --num-examples 500" ], "resources": { "requests": { "cpu": "1000m", "memory": "2Gi" }, "limits": { "cpu": "1000m", "memory": "2Gi" } } } ] } } } } }}
-
响应消息 响应参数: 响应参数的详细描述请参见表72。 响应示例: { "kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Success", "details": { "name": "mxnet-job", "group": "kubeflow.org", "kind": "mxjobs", "uid": "fac6dcd2-adee-11e9-8041-340a9837e2a7" }}
-
URI POST /apis/kubeflow.org/v1/namespaces/{namespace}/mxjobs 表1 Path参数 参数 是否必选 描述 namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 pretty No If 'true’, then the output is pretty printed.
-
响应消息 响应参数: 响应参数的详细描述请参考表162。 响应示例: { "apiVersion": "kubeflow.org/v1", "kind": "MXJob", "metadata": { "creationTimestamp": "2019-07-24T08:42:33Z", "generation": 1, "name": "mxnet-job", "namespace": "kube-test", "resourceVersion": "72476154", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/mxjobs/mxnet-job", "uid": "fac6dcd2-adee-11e9-8041-340a9837e2a7" }, "spec": { "cleanPodPolicy": "Running", "jobMode": "MXTrain", "mxReplicaSpecs": { "Scheduler": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "-c", "python train_imagenet.py" ], "command": [ "/bin/bash" ], "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "name": "mxnet", "resources": { "limits": { "cpu": "1000m", "memory": "2Gi" }, "requests": { "cpu": "1000m", "memory": "2Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Server": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "-c", "python train_imagenet.py" ], "command": [ "/bin/bash" ], "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "name": "mxnet", "resources": { "limits": { "cpu": "1000m", "memory": "2Gi" }, "requests": { "cpu": "1000m", "memory": "2Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Worker": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "-c", "python train_imagenet.py --benchmark 1 --network resnet --batch-size 1 --num-epochs 1 --kv-store dist_sync --num-examples 500" ], "command": [ "/bin/bash" ], "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "name": "mxnet", "resources": { "limits": { "cpu": "1000m", "memory": "2Gi" }, "requests": { "cpu": "1000m", "memory": "2Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } } } }, "status": { }}
-
URI DELETE /apis/kubeflow.org/v1/namespaces/{namespace}/mxjobs/{name} 表1 Path参数 参数 是否必选 描述 name Yes name of the MXJob namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 dryRun No When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed gracePeriodSeconds No The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately. orphanDependents No Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the “orphan” finalizer will be added to/removed from the object’s finalizers list. Either this field or PropagationPolicy may be set, but not both. propagationPolicy No Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: ‘Orphan’ - orphan the dependents; ‘Background’ - allow the garbage collector to delete the dependents in the background; ‘Foreground’ - a cascading policy that deletes all dependents in the foreground. pretty No If 'true’, then the output is pretty printed.
-
URI GET /apis/kubeflow.org/v1/namespaces/{namespace}/mxjobs 表1 Path参数 参数 是否必选 描述 namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 fieldSelector No A selector to restrict the list of returned objects by their fields. Defaults to everything. labelSelector No A selector to restrict the list of returned objects by their labels. Defaults to everything. limit No limit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. resourceVersion No When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv. timeoutSeconds No Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. watch No Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
-
响应消息 响应参数: 响应参数的详细描述请参见表169。 响应示例: { "apiVersion": "kubeflow.org/v1", "items": [ { "apiVersion": "kubeflow.org/v1", "kind": "MXJob", "metadata": { "creationTimestamp": "2019-07-24T08:42:33Z", "generation": 1, "name": "mxnet-job", "namespace": "kube-test", "resourceVersion": "72476154", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/mxjobs/mxnet-job", "uid": "fac6dcd2-adee-11e9-8041-340a9837e2a7" }, "spec": { "cleanPodPolicy": "Running", "jobMode": "MXTrain", "mxReplicaSpecs": { "Scheduler": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "-c", "python train_imagenet.py" ], "command": [ "/bin/bash" ], "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "name": "mxnet", "resources": { "limits": { "cpu": "1000m", "memory": "2Gi" }, "requests": { "cpu": "1000m", "memory": "2Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Server": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "-c", "python train_imagenet.py" ], "command": [ "/bin/bash" ], "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "name": "mxnet", "resources": { "limits": { "cpu": "1000m", "memory": "2Gi" }, "requests": { "cpu": "1000m", "memory": "2Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Worker": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "-c", "python train_imagenet.py --benchmark 1 --network resnet --batch-size 1 --num-epochs 1 --kv-store dist_sync --num-examples 500" ], "command": [ "/bin/bash" ], "image": "*.*.*.215:20202/cci/mxnet:xsw-dis", "name": "mxnet", "resources": { "limits": { "cpu": "1000m", "memory": "2Gi" }, "requests": { "cpu": "1000m", "memory": "2Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } } } }, "status": { "conditions": [ { "lastTransitionTime": "2019-07-24T08:42:33Z", "lastUpdateTime": "2019-07-24T08:42:33Z", "message": "MXJob mxnet-job is created.", "reason": "MXJobCreated", "status": "True", "type": "Created" }, { "lastTransitionTime": "2019-07-24T08:42:33Z", "lastUpdateTime": "2019-07-24T08:42:52Z", "message": "MXJob mxnet-job is running.", "reason": "MXJobRunning", "status": "True", "type": "Running" } ], "mxReplicaStatuses": { "Scheduler": { "active": 1 }, "Server": { "active": 1 }, "Worker": { "active": 1 } }, "startTime": "2019-07-24T08:42:33Z" } } ], "kind": "MXJobList", "metadata": { "continue": "", "resourceVersion": "72478902", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/mxjobs" }}
-
响应消息 响应参数: 响应参数的详细描述请参见表165。 响应示例: { "apiVersion": "kubeflow.org/v1", "kind": "PyTorchJob", "metadata": { "creationTimestamp": "2019-07-24T10:29:45Z", "generation": 1, "name": "pytorch-test", "namespace": "kube-test", "resourceVersion": "72516798", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/pytorchjobs/pytorch-test", "uid": "f4c79668-adfd-11e9-8041-340a9837e2a7" }, "spec": { "pytorchReplicaSpecs": { "Master": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "args": [ "--backend", "gloo" ], "command": [ "python", "/var/mnist.py" ], "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "name": "pytorch", "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Worker": { "replicas": 1, "restartPolicy": "OnFailure", "template": { "spec": { "containers": [ { "args": [ "--backend", "gloo" ], "command": [ "python", "/var/mnist.py" ], "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "name": "pytorch", "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } } } }, "status": { }}
-
URI POST /apis/kubeflow.org/v1/namespaces/{namespace}/pytorchjobs 表1 Path参数 参数 是否必选 描述 namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 pretty No If 'true’, then the output is pretty printed.
-
请求消息 请求参数: 请求参数的详细描述请参见表165。 请求示例: { "apiVersion": "kubeflow.org/v1", "kind": "PyTorchJob", "metadata": { "name": "pytorch-test" }, "spec": { "pytorchReplicaSpecs": { "Master": { "replicas": 1, "restartPolicy": "Never", "template": { "spec": { "containers": [ { "name": "pytorch", "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "command": [ "python", "/var/mnist.py" ], "args": [ "--backend", "gloo" ], "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } }, "Worker": { "replicas": 1, "restartPolicy": "OnFailure", "template": { "spec": { "containers": [ { "name": "pytorch", "image": "*.*.*.215:20202/gcs/pytorch-cpu:v1", "command": [ "python", "/var/mnist.py" ], "args": [ "--backend", "gloo" ], "resources": { "limits": { "cpu": 2, "memory": "4Gi" }, "requests": { "cpu": 2, "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } } } }}
-
基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用用户进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中的资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间的资源进行分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 父主题: 使用前必读
-
URI DELETE /apis/kubeflow.org/v1/namespaces/{namespace}/tfjobs 表1 Path参数 参数 是否必选 描述 namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 fieldSelector No A selector to restrict the list of returned objects by their fields. Defaults to everything. labelSelector No A selector to restrict the list of returned objects by their labels. Defaults to everything. limit No limit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. resourceVersion No When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv. timeoutSeconds No Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. watch No Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
-
响应消息 响应参数: 响应参数的详细描述请参考表168。 响应示例: { "apiVersion": "kubeflow.org/v1", "items": [ { "apiVersion": "kubeflow.org/v1", "kind": "TFJob", "metadata": { "creationTimestamp": "2019-07-23T12:39:47Z", "generation": 1, "name": "tfjob-test", "namespace": "kube-test", "resourceVersion": "72050567", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/tfjobs/tfjob-test", "uid": "f461f966-ad46-11e9-aaa4-340a9837e413" }, "spec": { "backoffLimit": 6, "tfReplicaSpecs": { "Ps": { "replicas": 1, "template": { "spec": { "containers": [ { "args": [ "python", "/opt/tf-benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py", "--batch_size=1", "--model=resnet50", "--variable_update=parameter_server", "--flush_stdout=true", "--num_gpus=1", "--local_parameter_device=cpu", "--device=cpu", "--data_format=NHWC" ], "image": "*.*.*.215:20202/cci/tf-benchmarks-cpu:v1", "name": "tensorflow", "ports": [ { "containerPort": 2222, "name": "tfjob-port" } ], "resources": { "limits": { "cpu": "2", "memory": "4Gi" }, "requests": { "cpu": "2", "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ], "restartPolicy": "OnFailure" } } }, "Worker": { "replicas": 1, "template": { "spec": { "containers": [ { "args": [ "python", "/opt/tf-benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py", "--batch_size=1", "--model=resnet50", "--variable_update=parameter_server", "--flush_stdout=true", "--local_parameter_device=cpu", "--device=cpu", "--data_format=NHWC" ], "image": "*.*.*.215:20202/cci/tf-benchmarks-cpu:v1", "name": "tensorflow", "ports": [ { "containerPort": 2222, "name": "tfjob-port" } ], "resources": { "limits": { "cpu": "2", "memory": "4Gi" }, "requests": { "cpu": "2", "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ], "restartPolicy": "OnFailure" } } } } }, "status": { "conditions": [ { "lastTransitionTime": "2019-07-23T12:38:58Z", "lastUpdateTime": "2019-07-23T12:38:58Z", "message": "TFJob tfjob-test is created.", "reason": "TFJobCreated", "status": "True", "type": "Created" }, { "lastTransitionTime": "2019-07-23T12:39:30Z", "lastUpdateTime": "2019-07-23T12:39:30Z", "message": "TFJob tfjob-test is running.", "reason": "TFJobRunning", "status": "True", "type": "Running" } ], "replicaStatuses": { "PS": { "active": 1 }, "Worker": { "active": 1 } }, "startTime": "2019-07-23T12:38:58Z" } } ], "kind": "TFJobList", "metadata": { "continue": "", "resourceVersion": "72353810", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/tfjobs" }}
-
授权项分类 表1 Namespace 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建Namespace POST /api/v1/namespaces CCI:namespace:create √ √ 查询namespace GET /api/v1/namespaces/{name} CCI:namespace:get √ √ 列出namespaces GET /api/v1/namespaces CCI:namespace:list √ √ 删除namespace DELETE /api/v1/namespaces/{name} CCI:namespace:delete √ √ 表2 Pod 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建Pod POST /api/v1/namespaces/{namespace}/pods CCI:namespaceSubResource:Create √ √ 查询Pod GET /api/v1/namespaces/{namespace}/pods/{name} CCI:namespaceSubResource:Get √ √ 查询指定Namespace下所有Pod GET /api/v1/namespaces/{namespace}/pods CCI:namespaceSubResource:List √ √ 查询Pod状态 GET /api/v1/namespaces/{namespace}/pods/{name}/status CCI:namespaceSubResource:Get √ √ 查询Pod日志 GET /api/v1/namespaces/{namespace}/pods/{name}/log CCI:namespaceSubResource:Get √ √ 列出用户所有的Pod GET /api/v1/pods cci:namespaceSubResource:List √ √ 替换Pod PUT /api/v1/namespaces/{namespace}/pods/{name} CCI:namespaceSubResource:Update √ √ 更新Pod PATCH /api/v1/namespaces/{namespace}/pods/{name} CCI:namespaceSubResource:Update √ √ 删除Pod DELETE /api/v1/namespaces/{namespace}/pods/{name} CCI:namespaceSubResource:Delete √ √ 删除所有Pod DELETE /api/v1/namespaces/{namespace}/pods CCI:namespaceSubResource:Delete √ √ 表3 Deployment 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建Deployment POST /apis/apps/v1/namespaces/{namespace}/deployments CCI:namespaceSubResource:Create elb:loadbalancers:create √ √ 查询Deployment GET /apis/apps/v1/namespaces/{namespace}/deployments/{name} CCI:namespaceSubResource:Get √ √ 查询Namespace下所有Deployment GET /apis/apps/v1/namespaces/{namespace}/deployments CCI:namespaceSubResource:List √ √ 查询Deployment的状态 GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status CCI:namespaceSubResource:Get √ √ 查询Deployment伸缩操作 GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale CCI:namespaceSubResource:Get √ √ 列出用户所有的Deployment GET /apis/apps/v1/deployments CCI:namespaceSubResource:List √ √ 替换Deployment PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name} CCI:namespaceSubResource:Update √ √ 替换Deployment伸缩操作 PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale CCI:namespaceSubResource:Update √ √ 更新Deployment PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name} CCI:namespaceSubResource:Update √ √ 更新Deployment伸缩操作 PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale CCI:namespaceSubResource:Update √ √ 删除Deployment DELETE /apis/apps/v1/namespaces/{namespace}/deployments/{name} CCI:namespaceSubResource:Delete √ √ 删除Namespace下所有Deployment DELETE /apis/apps/v1/namespaces/{namespace}/deployments CCI:namespaceSubResource:Delete √ √ 表4 StatefulSet 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建StatefulSet POST /apis/apps/v1/namespaces/{namespace}/statefulsets CCI:namespaceSubResource:Create elb:loadbalancers:create √ √ 查询StatefulSet GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name} CCI:namespaceSubResource:Get √ √ 查询指定Namespace下所有StatefulSet GET /apis/apps/v1/namespaces/{namespace}/statefulsets CCI:namespaceSubResource:List √ √ 查询StatefulSet状态 GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status CCI:namespaceSubResource:Get √ √ 列出用户所有的Statefulset GET /apis/apps/v1/statefulsets CCI:namespaceSubResource:List √ √ 替换StatefulSet PUT /apis/apps/v1/namespaces/{namespace}/statefulsets/{name} CCI:namespaceSubResource:Update √ √ 更新StatefulSet PATCH /apis/apps/v1/namespaces/{namespace}/statefulsets/{name} CCI:namespaceSubResource:Update √ √ 删除StatefulSet DELETE /apis/apps/v1/namespaces/{namespace}/statefulsets/{name} CCI:namespaceSubResource:Delete √ √ 删除所有StatefulSet DELETE /apis/apps/v1/namespaces/{namespace}/statefulsets CCI:namespaceSubResource:Delete √ √ 表5 Job 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建Job POST /apis/batch/v1/namespaces/{namespace}/jobs CCI:namespaceSubResource:Create elb:loadbalancers:create √ √ 查询Job GET /apis/batch/v1/namespaces/{namespace}/jobs/{name} CCI:namespaceSubResource:Get √ √ 查询指定Namespace下所有Job GET /apis/batch/v1/namespaces/{namespace}/jobs CCI:namespaceSubResource:List √ √ 查询Job状态 GET /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status CCI:namespaceSubResource:Get √ √ 列出用户所有Job GET /apis/batch/v1/jobs CCI:namespaceSubResource:List √ √ 替换Job PUT /apis/batch/v1/namespaces/{namespace}/jobs/{name} CCI:namespaceSubResource:Update √ √ 更新Job PATCH /apis/batch/v1/namespaces/{namespace}/jobs/{name} CCI:namespaceSubResource:Update √ √ 删除Job DELETE /apis/batch/v1/namespaces/{namespace}/jobs/{name} CCI:namespaceSubResource:Delete √ √ 删除所有Job DELETE /apis/batch/v1/namespaces/{namespace}/jobs CCI:namespaceSubResource:Delete √ √ 表6 Service 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建Service POST /api/v1/namespaces/{namespace}/services CCI:namespaceSubResource:Create elb:loadbalancers:create √ √ 查询Service GET /api/v1/namespaces/{namespace}/services/{name} CCI:namespaceSubResource:Get √ √ 查询所有Service GET /api/v1/namespaces/{namespace}/services CCI:namespaceSubResource:List √ √ 查询Service状态 GET /api/v1/namespaces/{namespace}/services/{name}/status CCI:namespaceSubResource:Get √ √ 删除Service DELETE /api/v1/namespaces/{namespace}/services/{name} CCI:namespaceSubResource:Delete √ √ 表7 Ingress 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建Ingress POST /apis/extensions/v1beta1/namespaces/{namespace}/ingresses CCI:namespaceSubResource:Create elb:loadbalancers:create √ √ 查询Ingress GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name} CCI:namespaceSubResource:Get √ √ 查询所有Ingress GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses CCI:namespaceSubResource:List √ √ 查询Ingress状态 GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}/status CCI:namespaceSubResource:Get √ √ 替换Ingress PUT /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name} CCI:namespaceSubResource:Update √ √ 更新Ingress PATCH /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name} CCI:namespaceSubResource:Update √ √ 删除Ingress DELETE /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name} CCI:namespaceSubResource:Delete √ √ 删除所有Ingress DELETE /apis/extensions/v1beta1/namespaces/{namespace}/ingresses CCI:namespaceSubResource:Delete √ √ 表8 Network 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建Network POST /apis/networking.cci.io/v1beta1/namespaces/{namespace}/networks CCI:network:Create vpc:vpcs:create vpc:ports:create vpc:vpcs:get vpc:subnets:get vpc:publicIps:get vpc:bandwidths:get vpc:ports:get vpc:peerings:get vpc:quotas:list vpc:privateIps:get vpc:securityGroups:get vpc:securityGroupRules:get vpc:networks:get vpc:routers:get vpc:floatingIps:get vpc:firewallRules:get √ √ 查询Network GET /apis/networking.cci.io/v1beta1/namespaces/{namespace}/networks/{name} CCI:network:Get √ √ 查询所有Network GET /apis/networking.cci.io/v1beta1/namespaces/{namespace}/networks CCI:network:List √ √ 查询Network状态 GET /apis/networking.cci.io/v1beta1/namespaces/{namespace}/networks/{name}/status CCI:network:Get √ √ 删除Network DELETE /apis/networking.cci.io/v1beta1/namespaces/{namespace}/networks/{name} CCI:network:Delete vpc:vpcs:delete vpc:ports:delete √ √ 删除所有Network对象 DELETE /apis/networking.cci.io/v1beta1/namespaces/{namespace}/networks CCI:network:Delete vpc:vpcs:delete vpc:ports:delete √ √ 表9 PersistentVolumeClaim 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建PersistentVolumeClaim POST /api/v1/namespaces/{namespace}/persistentvolumeclaims CCI:namespaceSubResource:Create 云硬盘存储卷 evs:volumes:create evs:volumes:get evs:types:get 文件存储卷 sfs:shares:createShare sfs:shares:getOSQuotaSets sfs:shares:ShareAction √ √ 查询PersistentVolumeClaim GET /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} CCI:namespaceSubResource:Get 云硬盘存储卷 evs:volumes:get 文件存储卷 sfs:shares:getAllSharesDetail √ √ 查询所有PersistentVolumeClaim GET /api/v1/namespaces/{namespace}/persistentvolumeclaims CCI:namespaceSubResource:List 云硬盘存储卷 evs:volumes:list 文件存储卷 sfs:shares:getAllSharesDetail sfs:shares:ShareAction 对象存储卷 obs:bucket:ListAllMyBuckets √ √ 删除PersistentVolumeClaim DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} CCI:namespaceSubResource:Delete 云硬盘存储卷 evs:volumes:delete evs:volumes:get 文件存储卷 sfs:shares:deleteShare √ √ 表10 ConfigMap 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建ConfigMap POST /api/v1/namespaces/{namespace}/configmaps CCI:namespaceSubResource:Create √ √ 查询ConfigMap GET /api/v1/namespaces/{namespace}/configmaps/{name} CCI:namespaceSubResource:Get √ √ 查询所有ConfigMap GET /api/v1/namespaces/{namespace}/configmaps CCI:namespaceSubResource:List √ √ 替换ConfigMap PUT /api/v1/namespaces/{namespace}/configmaps/{name} CCI:namespaceSubResource:Update √ √ 更新ConfigMap PATCH /api/v1/namespaces/{namespace}/configmaps/{name} CCI:namespaceSubResource:Update √ √ 删除ConfigMap DELETE /api/v1/namespaces/{namespace}/configmaps/{name} CCI:namespaceSubResource:Delete √ √ 删除所有ConfigMap DELETE /api/v1/namespaces/{namespace}/configmaps CCI:namespaceSubResource:Delete √ √ 表11 Secret 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建Secret POST /api/v1/namespaces/{namespace}/secrets CCI:namespaceSubResource:Create √ √ 替换Secret PUT /api/v1/namespaces/{namespace}/secrets/{name} CCI:namespaceSubResource:Update √ √ 更新Secret PATCH /api/v1/namespaces/{namespace}/secrets/{name} CCI:namespaceSubResource:Update √ √ 删除Secret DELETE /api/v1/namespaces/{namespace}/secrets/{name} CCI:namespaceSubResource:Delete √ √ 删除所有Secret DELETE /api/v1/namespaces/{namespace}/secrets CCI:namespaceSubResource:Delete √ √ 表12 ClusterRole 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 获取指定的ClusterRole GET /apis/rbac.authorization.k8s.io/v1/clusterroles/{name} CCI:rbac:Get √ √ 获取ClusterRole列表 GET /apis/rbac.authorization.k8s.io/v1/clusterroles CCI:rbac:List √ √ 表13 RoleBinding 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 创建RoleBinding POST /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings CCI:rbac:Create √ √ 更新指定的RoleBinding PATCH /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name} CCI:rbac:Update √ √ 替换指定的RoleBinding PUT /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name} CCI:rbac:Update √ √ 删除指定的RoleBinding DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name} CCI:rbac:Delete √ √ 获取指定的RoleBinding GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name} CCI:rbac:Get √ √ 获取指定namespace下RoleBinding列表 GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings CCI:rbac:List √ √ 获取RoleBinding列表 GET /apis/rbac.authorization.k8s.io/v1/rolebindings CCI:rbac:List √ √ 父主题: 权限和授权项
-
响应消息 响应参数: 响应参数的详细描述请参考表154。 响应示例: { "apiVersion": "kubeflow.org/v1", "kind": "TFJob", "metadata": { "creationTimestamp": "2019-07-23T12:39:47Z", "generation": 1, "name": "tfjob-test", "namespace": "kube-test", "resourceVersion": "72050567", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/tfjobs/tfjob-test", "uid": "f461f966-ad46-11e9-aaa4-340a9837e413" }, "spec": { "backoffLimit": 6, "tfReplicaSpecs": { "Ps": { "replicas": 1, "template": { "spec": { "containers": [ { "args": [ "python", "/opt/tf-benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py", "--batch_size=1", "--model=resnet50", "--variable_update=parameter_server", "--flush_stdout=true", "--num_gpus=1", "--local_parameter_device=cpu", "--device=cpu", "--data_format=NHWC" ], "image": "*.*.*.215:20202/cci/tf-benchmarks-cpu:v1", "name": "tensorflow", "ports": [ { "containerPort": 2222, "name": "tfjob-port" } ], "resources": { "limits": { "cpu": "2", "memory": "4Gi" }, "requests": { "cpu": "2", "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ], "restartPolicy": "OnFailure" } } }, "Worker": { "replicas": 1, "template": { "spec": { "containers": [ { "args": [ "python", "/opt/tf-benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py", "--batch_size=1", "--model=resnet50", "--variable_update=parameter_server", "--flush_stdout=true", "--local_parameter_device=cpu", "--device=cpu", "--data_format=NHWC" ], "image": "*.*.*.215:20202/cci/tf-benchmarks-cpu:v1", "name": "tensorflow", "ports": [ { "containerPort": 2222, "name": "tfjob-port" } ], "resources": { "limits": { "cpu": "2", "memory": "4Gi" }, "requests": { "cpu": "2", "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ], "restartPolicy": "OnFailure" } } } } }, "status": { "conditions": [ { "lastTransitionTime": "2019-07-23T12:38:58Z", "lastUpdateTime": "2019-07-23T12:38:58Z", "message": "TFJob tfjob-test is created.", "reason": "TFJobCreated", "status": "True", "type": "Created" }, { "lastTransitionTime": "2019-07-23T12:39:30Z", "lastUpdateTime": "2019-07-23T12:39:30Z", "message": "TFJob tfjob-test is running.", "reason": "TFJobRunning", "status": "True", "type": "Running" } ], "replicaStatuses": { "PS": { "active": 1 }, "Worker": { "active": 1 } }, "startTime": "2019-07-23T12:38:58Z" }}
-
URI GET /apis/kubeflow.org/v1/namespaces/{namespace}/tfjobs/{name} 表1 Path参数 参数 是否必选 描述 name Yes name of the TFJob namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 pretty No If 'true’, then the output is pretty printed.
-
响应消息 响应参数: 响应参数的详细描述请参见表72。 响应示例: { "kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Success", "details": { "name": "tfjob-test", "group": "kubeflow.org", "kind": "tfjobs", "uid": "f461f966-ad46-11e9-aaa4-340a9837e413" }}
-
响应消息 响应参数 表3 响应参数 参数 参数类型 描述 PersistentVolumeClaim Object 详情请参见表175。 PersistentVolume Object 详情请参见表184。 StorageInfo Object 详情请参见表199。 响应示例 [ { "persistentVolumeClaim": { "metadata": { "name": "cci-evs-jxzqegxe-k1z3", "namespace": "test-namespace", "selfLink": "/api/v1/namespaces/csms/persistentvolumeclaims/cci-evs-jxzqegxe-k1z3", "uid": "e82c1574-a46d-11e9-be8a-b44326d0c915", "resourceVersion": "65003551", "creationTimestamp": "2019-07-12T06:25:56Z", "annotations": { "pv.kubernetes.io/bind-completed": "yes", "pv.kubernetes.io/bound-by-controller": "yes", "volume.beta.kubernetes.io/storage-provisioner": "flexvolume-huawei.com/fuxivol" }, "finalizers": [ "kubernetes.io/pvc-protection" ], "enable": true }, "spec": { "accessModes": [ "ReadWriteMany" ], "resources": { "requests": { "storage": "10Gi" } }, "volumeName": "pvc-e82c1574-a46d-11e9-be8a-b44326d0c915", "storageClassName": "sata" }, "status": { "phase": "Bound", "accessModes": [ "ReadWriteMany" ], "capacity": { "storage": "10Gi" } } }, "persistentVolume": { "metadata": { "name": "pvc-e82c1574-a46d-11e9-be8a-b44326d0c915", "selfLink": "/api/v1/persistentvolumes/pvc-e82c1574-a46d-11e9-be8a-b44326d0c915", "uid": "eb0a0ca1-a46d-11e9-be8a-b44326d0c915", "resourceVersion": "65003549", "creationTimestamp": "2019-07-12T06:26:01Z", "labels": { "tenant.kubernetes.io/domain-id": "f0c61dbd65974140956ed37a91ea860f", "tenant.kubernetes.io/project-id": "cdb4249297a44665a63eec4f27ad09bf" }, "annotations": { "kubernetes.io/createdby": "huawei.com/fuxivol-dynamic-provisioner", "pv.kubernetes.io/bound-by-controller": "yes", "pv.kubernetes.io/namespace": "test-namespace", "pv.kubernetes.io/provisioned-by": "flexvolume-huawei.com/fuxivol", "tenant.kubernetes.io/domain-id": "f0c61dbd65974140956ed37a91ea860f", "tenant.kubernetes.io/project-id": "cdb4249297a44665a63eec4f27ad09bf" }, "finalizers": [ "kubernetes.io/pv-protection" ] }, "spec": { "capacity": { "storage": "10Gi" }, "flexVolume": { "driver": "huawei.com/fuxivol", "fsType": "ext4", "options": { "fsType": "ext4", "volumeID": "06e10708-6412-4190-8496-f9531fb5fd0c" } }, "accessModes": [ "ReadWriteMany" ], "claimRef": { "kind": "PersistentVolumeClaim", "namespace": "test-namespace", "name": "cci-evs-jxzqegxe-k1z3", "uid": "e82c1574-a46d-11e9-be8a-b44326d0c915", "apiVersion": "v1", "resourceVersion": "65003516" }, "persistentVolumeReclaimPolicy": "Delete", "storageClassName": "sata" }, "status": { "phase": "Bound" } }, "storageInfo": { "kind": "Volume", "apiVersion": "paas/v1beta1", "metadata": { "name": "pvc-e82c1574-a46d-11e9-be8a-b44326d0c915", "creationTimestamp": "2019-07-12T06:25:56Z", "labels": { "__system__volume_name": "pvc-e82c1574-a46d-11e9-be8a-b44326d0c915", "hw:passthrough": "true", "kubernetes.io/namespace": "test-namespace", "tenant.kubernetes.io/domain-id": "f0c61dbd65974140956ed37a91ea860f", "tenant.kubernetes.io/project-id": "cdb4249297a44665a63eec4f27ad09bf" } }, "spec": { "name": "pvc-e82c1574-a46d-11e9-be8a-b44326d0c915", "size": 10, "inresourcepool": false, "availability_zone": "cn-north-1a", "volume_type": "sata", "multiattach": true, "access": { "": { "access_type": "", "access_to": "", "access_level": "", "id": "", "state": "" } }, "vpc_id": "" }, "status": { "id": "06e10708-6412-4190-8496-f9531fb5fd0c", "status": "available", "created_at": "2019-07-12T06:25:56Z", "attachments": null, "app_info": null } } }]
-
URI GET /api/v1/namespaces/{namespace}/extended-persistentvolumeclaims 表1 Path参数 参数 是否必选 参数类型 描述 namespace Yes String 命名空间。 表2 Query参数 参数 是否必选 参数类型 描述 storageType No String Type of storage,目前支持: bs: 云硬盘存储 nfs: 文件存储 efs: 极速文件存储 如果本参数未指定,将默认返回当前命名空间下bs(云硬盘存储)类型的PVC信息。
-
响应消息 响应参数: 响应参数的详细描述请参见表168。 响应示例: { "apiVersion": "kubeflow.org/v1", "items": [ { "apiVersion": "kubeflow.org/v1", "kind": "TFJob", "metadata": { "creationTimestamp": "2019-07-23T12:39:47Z", "generation": 1, "name": "tfjob-test", "namespace": "kube-test", "resourceVersion": "72050567", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/tfjobs/tfjob-test", "uid": "f461f966-ad46-11e9-aaa4-340a9837e413" }, "spec": { "backoffLimit": 6, "tfReplicaSpecs": { "Ps": { "replicas": 1, "template": { "spec": { "containers": [ { "args": [ "python", "/opt/tf-benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py", "--batch_size=1", "--model=resnet50", "--variable_update=parameter_server", "--flush_stdout=true", "--num_gpus=1", "--local_parameter_device=cpu", "--device=cpu", "--data_format=NHWC" ], "image": "*.*.*.215:20202/cci/tf-benchmarks-cpu:v1", "name": "tensorflow", "ports": [ { "containerPort": 2222, "name": "tfjob-port" } ], "resources": { "limits": { "cpu": "2", "memory": "4Gi" }, "requests": { "cpu": "2", "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ], "restartPolicy": "OnFailure" } } }, "Worker": { "replicas": 1, "template": { "spec": { "containers": [ { "args": [ "python", "/opt/tf-benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py", "--batch_size=1", "--model=resnet50", "--variable_update=parameter_server", "--flush_stdout=true", "--local_parameter_device=cpu", "--device=cpu", "--data_format=NHWC" ], "image": "*.*.*.215:20202/cci/tf-benchmarks-cpu:v1", "name": "tensorflow", "ports": [ { "containerPort": 2222, "name": "tfjob-port" } ], "resources": { "limits": { "cpu": "2", "memory": "4Gi" }, "requests": { "cpu": "2", "memory": "4Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ], "restartPolicy": "OnFailure" } } } } }, "status": { "conditions": [ { "lastTransitionTime": "2019-07-23T12:38:58Z", "lastUpdateTime": "2019-07-23T12:38:58Z", "message": "TFJob tfjob-test is created.", "reason": "TFJobCreated", "status": "True", "type": "Created" }, { "lastTransitionTime": "2019-07-23T12:39:30Z", "lastUpdateTime": "2019-07-23T12:39:30Z", "message": "TFJob tfjob-test is running.", "reason": "TFJobRunning", "status": "True", "type": "Running" } ], "replicaStatuses": { "PS": { "active": 1 }, "Worker": { "active": 1 } }, "startTime": "2019-07-23T12:38:58Z" } } ], "kind": "TFJobList", "metadata": { "continue": "", "resourceVersion": "72353810", "selfLink": "/apis/kubeflow.org/v1/namespaces/kube-test/tfjobs" }}
-
URI GET /apis/kubeflow.org/v1/namespaces/{namespace}/tfjobs 表1 Path参数 参数 是否必选 描述 namespace Yes object name and auth scope, such as for teams and projects 表2 Query参数 参数 是否必选 描述 fieldSelector No A selector to restrict the list of returned objects by their fields. Defaults to everything. labelSelector No A selector to restrict the list of returned objects by their labels. Defaults to everything. limit No limit is a maximum number of responses to return for a list call. If more items exist, the server will set the continue field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. resourceVersion No When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it’s 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv. timeoutSeconds No Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. watch No Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
共99315条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- ...
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3310
推荐文章