

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 管理虚拟集群
<a name="virtual-cluster"></a>

虚拟集群是 Amazon EMR 注册的 Kubernetes 命名空间。您可以创建、描述、列出和删除虚拟集群。它们不会消耗您系统中的任何额外资源。一个虚拟集群映射到一个 Kubernetes 命名空间。鉴于这种关系，您可以按照对 Kubernetes 命名空间进行建模的方式对虚拟集群进行建模，来满足您的需求。请参阅 [Kubernetes 概念概览](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)文档中可能的使用案例。

要在 Amazon EKS 集群上使用 Kubernetes 命名空间注册 Amazon EMR，您需要 EKS 集群的名称以及为运行您的工作负载而设置的命名空间。Amazon EMR 中的这些注册集群称为虚拟集群，因为它们不管理物理计算或存储，而是指向计划工作负载的 Kubernetes 命名空间。

**注意**  
在创建虚拟集群之前，您必须首先完成[设置 Amazon EMR on EKS](setting-up.md)中的步骤 1-8。

**Topics**
+ [创建虚拟集群](#create-virtul-cluster)
+ [列出虚拟集群](#list-virtual-cluster)
+ [描述虚拟集群](#describe-virtual-cluster)
+ [删除虚拟集群](#delete-virtual-cluster)
+ [虚拟集群状态](#virtual-cluster-states)

## 创建虚拟集群
<a name="create-virtul-cluster"></a>

运行以下命令，通过使用 EKS 集群上的命名空间注册 Amazon EMR 来创建虚拟集群。*virtual\$1cluster\$1name*用您为虚拟集群提供的名称替换。*eks\$1cluster\$1name*替换为 EKS 集群的名称。将*namespace\$1name*替换为您想要注册 Amazon EMR 的命名空间。

```
aws emr-containers create-virtual-cluster \
--name virtual_cluster_name \
--container-provider '{
    "id": "eks_cluster_name",
    "type": "EKS",
    "info": {
        "eksInfo": {
            "namespace": "namespace_name"
        }
    }
}'
```

或者，您可以创建包含虚拟集群所需参数的 JSON 文件，如以下示例所示。

```
{
    "name": "virtual_cluster_name", 
    "containerProvider": {
        "type": "EKS", 
        "id": "eks_cluster_name", 
        "info": {
            "eksInfo": {
                "namespace": "namespace_name"
            }
        }
    }
}
```

然后使用 JSON 文件路径运行以下 `create-virtual-cluster` 命令。

```
aws emr-containers create-virtual-cluster \
--cli-input-json file://./create-virtual-cluster-request.json
```

**注意**  
要验证虚拟集群是否成功创建，请通过运行 `list-virtual-clusters` 命令或转到 Amazon EMR 控制台中的 **Virtual clusters (虚拟集群)** 页面，以查看虚拟集群状态。

## 列出虚拟集群
<a name="list-virtual-cluster"></a>

运行以下命令来查看虚拟集群的状态。

```
aws emr-containers list-virtual-clusters
```

## 描述虚拟集群
<a name="describe-virtual-cluster"></a>

运行以下命令以获取有关虚拟集群的详细信息，例如命名空间、状态和注册日期。*123456*替换为您的虚拟集群 ID。

```
aws emr-containers describe-virtual-cluster --id 123456
```

## 删除虚拟集群
<a name="delete-virtual-cluster"></a>

运行以下命令来删除虚拟集群。*123456*替换为您的虚拟集群 ID。

```
aws emr-containers delete-virtual-cluster --id 123456
```

## 虚拟集群状态
<a name="virtual-cluster-states"></a>

下表描述了虚拟集群的四种可能状态。


| `State` | 说明 | 
| --- | --- | 
|  `RUNNING`  | 虚拟集群处于 RUNNING 状态。 | 
|  `TERMINATING`  | 正在请求终止虚拟集群。 | 
|  `TERMINATED`  | 已完成请求的终止。 | 
|  `ARRESTED`  | 由于权限不足，请求的终止失败。 | 