typesense eks
1.0.0
一个完整的解决方案指南,用于Amazon EKS上的自托型弹性搜索数据库(弹性Kubernetes服务)
此REDME提供了使用setup_eks_cluster.sh脚本设置Amazon EKS(Elastic Kubernetes Service)群集的分步说明。
eksctlkubectl (确保它支持Kustomize)helm 设置环境变量
打开setup_eks_cluster.sh并更新以下变量:
CLUSTER_NAME :设置所需的群集名称(例如,“示例”)REGION :设置所需的AWS区域(例如,“ US-EAST-1”)ACCOUNT_ID :用您的AWS帐户ID替换(例如,“ 12345678”)VERSION :设置Kubernetes版本(例如,“ 1.31”)节点组设置:
WORKER_NODE_TYPE :工人节点的实例类型(例如,“ r6i.xlarge”)WORKER_NODES :初始节点数(例如,2)WORKER_NODES_MIN :自动化的最小节点(例如,1)WORKER_NODES_MAX :自动化的最大节点(例如,5)NODE_GROUP_NAME :节点组的名称(例如,“标准工人”)创建EKS群集
cluster.yaml配置节点组
WORKER_NODE_TYPE )WORKER_NODES_MIN ,最大: WORKER_NODES_MAX )助理IAM OIDC提供商
设置EBS CSI驱动程序
设置AWS负载平衡器控制器
验证安装
使脚本可执行:
chmod +x setup_eks_cluster.sh
运行脚本:
./setup_eks_cluster.sh
关注输出以确保每个步骤成功完成
请按照以下步骤使用Kustomize部署类型:
查看配置
application程序目录kustomization.yaml :主配置文件配置typeensens设置
设置秘密
kubectl kustomize environment/development/.或kubectl kustomize environment/production/.部署typessense
# Deploy to development environment
kubectl apply -k environment/development/.
# Deploy to production environment
kubectl apply -k environment/production/.
# Verify the deployment
kubectl get pods -n your-namespace # Check pod status
kubectl get pvc -n your-namespace # Verify storage provisioning
kubectl get svc -n your-namespace # Check service creation
kubectl get ingress -n your-namespace # Verify ingress configuration访问类型
监视
kubectl exec -it typesense-0 -n your-namespace -- curl http://localhost:8108/healthkubectl logs -f typesense-0 -n your-namespaceCI/CD管道设置
.github/workflows/aws.yml中的github操作工作流程 name : Deploy to EKS
on :
push :
branches : [ development, main ]
jobs :
build :
name : Deployment
runs-on : ubuntu-latest
environment : ${{ github.ref == 'refs/heads/main' && 'production' || 'development' }}
steps :
- name : Set short git commit SHA
id : commit
uses : prompt/actions-commit-hash@v2
- name : Check out code
uses : actions/checkout@v2
- name : Configure AWS credentials
uses : aws-actions/configure-aws-credentials@v1
with :
aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region : ${{ secrets.AWS_REGION }}
- name : Login to Amazon ECR
id : login-ecr
uses : aws-actions/amazon-ecr-login@v1
- name : Update kube config
env :
EKS_CLUSTER_NAME : ${{ secrets.EKS_CLUSTER_NAME }}
AWS_REGION : ${{ secrets.AWS_REGION }}
run : aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $AWS_REGION
- name : Deploy to EKS
run : |
kubectl apply -k environments/${{ github.ref == 'refs/heads/main' && 'production' || 'development' }}/.必需的github秘密:
AWS_ACCESS_KEY_ID :AWS IAM用户访问密钥AWS_SECRET_ACCESS_KEY :AWS IAM用户秘密密钥EKS_CLUSTER_NAME :EKS群集名称AWS_REGION :AWS地区管道特征:
设置管道:
在不再需要时删除EKS群集和相关资源:
我们欢迎捐款以改善TypeSense-eks项目!您可以做出贡献:
分叉存储库
创建一个分支
feature/add-monitoring或fix/nodegroup-scaling )进行更改
提交拉请请求
代码审查
如果您找到错误或有功能请求:
有关问题或讨论,请使用存储库的讨论部分。