本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在开始学习本教程之前,请先创建以下 AWS 资源
在开始本教程之前,请按照访问 Amazon Keyspaces(Apache Cassandra 兼容)中的 AWS 设置说明进行操作。这些步骤包括注册 AWS 和创建有权访问 Amazon Keyspaces 的 AWS Identity and Access Management (IAM) 主体。
在本教程的后面部分中,创建一个名为
aws
的 Amazon Keyspaces 键空间以及一个名为user
的表,您可以从在 Amazon EKS 中运行的容器化应用程序中写入该键空间和表。您可以使用 AWS CLI 或cqlsh
完成此操作。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
和 create-table 。 创建一个节点类型为 Fargate - Linux 的 Amazon EKS 集群。Fargate 是一种无服务器计算引擎,让您可以部署 Kubernetes 容器组(pod)而不用管理 Amazon EC2 实例。要遵循本教程,而不必更新所有示例命令中的集群名称,请按照《Amazon EKS 用户指南》中开始使用 Amazon EKS –
eksctl
里面的说明创建一个名为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>
安装 Docker。有关如何在 Amazon EC2 实例上安装 Docker 的说明,请参阅《Amazon Elastic Container Registry 用户指南》中的安装 Docker。
Docker 适用于许多不同的操作系统,包括大多数现代 Linux 分发版 (如 Ubuntu) 甚至 MacOS 和 Windows。有关如何在特定的操作系统上安装 Docker 的更多信息,请转到 Docker 安装指南
。 创建 Amazon ECR 存储库。Amazon ECR 是一项 AWS 托管式容器映像注册表服务,您可以将其与首选 CLI 一起使用,来推送、拉取和管理 Docker 映像。有关 Amazon ECR 存储库的更多信息,请参阅 Amazon Elastic Container Registry 用户指南。您可以使用以下命令创建名为
my-ecr-repository
的存储库。aws ecr create-repository --repository-name
my-ecr-repository
完成先决条件步骤后,继续执行第 1 步:配置 Amazon EKS 集群并设置 IAM 权限。