

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

# 从 Amazon EKS 连接到 Amazon Keyspaces 的先决条件
<a name="EKS-tutorial-prerequisites"></a>

**在开始学习本教程之前，请先创建以下 AWS 资源**

1. 在开始本教程之前，请按照中的 AWS 设置说明进行操作[访问 Amazon Keyspaces（Apache Cassandra 兼容）](accessing.md)。这些步骤包括注册 AWS 和创建有权访问 Amazon Keyspaces 的 AWS Identity and Access Management (IAM) 委托人。

1. 在本教程的后面部分中，创建一个名为 `aws` 的 Amazon Keyspaces 键空间以及一个名为 `user` 的表，您可以从在 Amazon EKS 中运行的容器化应用程序中写入该键空间和表。您可以使用 AWS CLI 或来执行此操作`cqlsh`。

------
#### [ AWS CLI ]

   ```
   aws keyspaces create-keyspace --keyspace-name 'aws'
   ```

   要确认键空间已创建，您可以使用以下命令。

   ```
   aws keyspaces list-keyspaces
   ```

   要创建表，您可以使用以下命令。

   ```
   aws keyspaces create-table --keyspace-name 'aws' --table-name 'user' --schema-definition 'allColumns=[
               {name=username,type=text}, {name=fname,type=text},{name=last_update_date,type=timestamp},{name=lname,type=text}],
               partitionKeys=[{name=username}]'
   ```

   要确认表已创建，您可以使用以下命令。

   ```
   aws keyspaces list-tables --keyspace-name 'aws'
   ```

   有关更多信息，请参阅《AWS CLI 命令参考》**中的 [create-keyspace](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/create-keyspace.html) 和 [create-table](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/create-table.html)。

------
#### [ cqlsh ]

   ```
   CREATE KEYSPACE aws WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3'}  AND durable_writes = true;
   CREATE TABLE aws.user (
       username text PRIMARY KEY,
       fname text,
       last_update_date timestamp,
       lname text
   );
   ```

   要确认表已创建，您可以使用以下语句。

   ```
   SELECT * FROM system_schema.tables WHERE keyspace_name = "aws";
   ```

   表应在此语句的输出中列出。请注意，表创建过程中可能会有延迟。有关更多信息，请参阅 [CREATE TABLE](cql.ddl.table.md#cql.ddl.table.create)。

------

1. 创建一个节点类型为 **Fargate - Linux ** 的 Amazon EKS 集群。Fargate 是一种无服务器计算引擎，让您可以部署 Kubernetes 容器组（pod）而不用管理 Amazon EC2 实例。要遵循本教程，而不必更新所有示例命令中的集群名称，请按照《Amazon EKS 用户指南》**中[开始使用 Amazon EKS – `eksctl`](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html) 里面的说明创建一个名为 `my-eks-cluster` 的集群。创建集群后，请验证您的节点和两个默认容器组（pod）是否正常运行。可使用以下命令执行此操作。

   ```
   kubectl get pods -A -o wide
   ```

   您会可以看到类似于如下输出的内容。

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE   IP          NODE                                                NOMINATED NODE   READINESS GATES
   kube-system   coredns-1234567890-abcde   1/1     Running   0          18m   192.0.2.0   fargate-ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          18m   192.0.2.1   fargate-ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

1. 安装 Docker。有关如何在 Amazon EC2 实例上安装 Docker 的说明，请参阅《Amazon Elastic Container Registry 用户指南》中的[安装 Docker](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html#getting-started-cli-prereqs)。

   Docker 适用于许多不同的操作系统，包括大多数现代 Linux 分发版 (如 Ubuntu) 甚至 MacOS 和 Windows。有关如何在特定的操作系统上安装 Docker 的更多信息，请转到 [Docker 安装指南](https://docs.docker.com/engine/install/#installation)。

1. 创建 Amazon ECR 存储库。Amazon ECR 是一项 AWS 托管容器镜像注册服务，您可以将其与首选 CLI 配合使用，以推送、拉取和管理 Docker 镜像。有关 Amazon ECR 存储库的更多信息，请参阅 [Amazon Elastic Container Registry 用户指南](https://docs.aws.amazon.com/AmazonECR/latest/userguide/)。您可以使用以下命令创建名为 `my-ecr-repository` 的存储库。

   ```
   aws ecr create-repository --repository-name my-ecr-repository
   ```

完成先决条件步骤后，继续执行[第 1 步：配置 Amazon EKS 集群并设置 IAM 权限](EKS-tutorial-step1.md)。