How to deploy EMQX cluster on AWS EKS with EMQX Operator? #320
Replies: 1 comment
-
This article mainly introduces how to deploy EMQX cluster on AWS EKS with EMQX Operator. The main contents including:
Noun DescriptionEMQX: The most scalable open-source MQTT broker for IoT, see the document: https://github.com/emqx/emqx EMQX Operator: A Kubernetes Operator for EMQX, see the document: https://github.com/emqx/emqx-operator EKS: Amazon Elastic Kubernetes Service , see the document: https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html NLB:AWS LoadBalancer EKS cluster creationLog in AWS EKS console and enter the page for creating EKS Cluster. The EMQX Operator requires a Kubernetes cluster of version >=1.20.0, so we select Kubernetes 1.22. Network and other resource information can be customized according to your needs. see the document: https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html kubeconfig creationsee the document: https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html LoadBalancerLoad Balancer introduction: https://docs.aws.amazon.com/eks/latest/userguide/network-load-balancing.html Load Balancer Controller install : https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html Annotations: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/service/annotations/ PVCPermission configuration reference: https://docs.aws.amazon.com/eks/latest/userguide/csi-iam-role.html EBS CSI driver: https://docs.aws.amazon.com/eks/latest/userguide/managing-ebs-csi.html storageclass yaml example(use ebs)
Execute the following command
EMQX cluster creationOperator installation reference: https://github.com/emqx/emqx-operator/blob/main/docs/en_US/getting-started/getting-started.md After Operator is installed, deploy EMQX cluster in aws eks console using the following yaml
TLS terminationWe recommend that you choose to do TLS termination on NLB, which you can do in following steps: Importing a certificateImport relevant certificates in AWS Console(https://us-east-2.console.aws.amazon.com/acm/home), then enter the details page by clicking the certificate ID, after that copy ARN, just as shown in the picture below: Upadte the deployment yaml
In using NLB to terminate TLS, we have added several annotations. The value of service.beta.kubernetes.io/aws-load-balancer-ssl-cert is the ARN information we copied in step 1.
|
Beta Was this translation helpful? Give feedback.
-
Hi, guys
I am planning to deploy EMQX on AWS EKS, any suggestions?
Beta Was this translation helpful? Give feedback.
All reactions