准备性能测试环境(AWS EKS)
AWS EKS 环境准备
创建集群
- 在 AWS EKS 中添加一个新的测试集群
- 配置测试集群,如果之前没有使用过 EKS 服务配置过集群服务角色,可以根据文档创建一个 EKS 集群角色:https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html#create-service-role
- 点击下一步配置网络设置
- 配置可观测性
- 选择插件(默认配置),点击下一步
- 点击创建集群,等待 EKS 创建
添加 Node
创建 Key pair(选做)
在 node 中配置了 Key Pair 就可以直接登录 node。如果已经有 Key Pair 的话,可以跳过创建 Key pair 这一步。
- 在 AWS 中控台选择 “EC2”,进入 EC2 界面,点击左边的 “Key Pairs”,在右边点击 “Create key pair”
- 添加名称
- 创建密钥对,这时浏览器会自动下载 key pair,这个要保存好,方便之后使用命令登陆 node
创建节点组
我们需要添加 3 个节点组,分别在不同的节点组部署 API7 EE,NGINX 上游,wrk2。
**注意:**如果之前没有创建过 EKS Node Role 需要先创建,步骤类似 EKS 创建集群服务角色的过程。可以参考文档:https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/create-node-role.html
- 选择“计算”,点击添加“节点组”
- 配置节点组
- 这里我们选择
c5.2xlarge
进行测试,测试过程使用单节点。
- 配置网络,这里我们为了方便登陆到 node 中,开启了节点远程访问控制权限,不需要可以不开启。
- 根据上面的步骤,我们需要创建 3 个节点,名字分别为 api7ee,upstream,wrk2 等待创建完成。
使用 aws cli 配置 kubectl config
- 通过向
kubectl
config
文件添加新上下文来启用kubectl
与我们创建的集群通信。
具体细节参考文档:https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/create-cluster.html
aws eks update-kubeconfig --region region-code --name my-cluster
- 执行
kubectl get svc
验证成功与集群的通信,输出如下
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 39m
为 Node 打 label
我们分别为 4 个不同的 Node 打上对应的 label,方便之后的部署
kubectl label nodes <your-node-name> <label_key=label_value>
# example
kubectl label nodes <your-node1-name> nodeName=api7ee
kubectl label nodes <your-node2-name> nodeName=upstream
kubectl label nodes <your-node3-name> nodeName=wrk2