跳转至

Amazon EKS 集成


Amazon Elastic Kubernetes Services (Amazon EKS) 是一项托管容器服务,用于在 AWS 云中运行和扩展 Kubernetes 应用程序。 DataKit 为 Amazon EKS 集群提供按命名空间、集群、Pod 不同维度的可观测。客户可以使用现有的 AWS 支持协议来获取支持。

架构图

架构图

部署 Datakit

使用 Amazon EKS addon 在 Amazon EKS 集群上部署 Datakit.

前置条件

  • 在 AWS 市场上订阅 Guance Container Agent
  • 您有权访问 Amazon EKS 集群
  • 你需要提前获取 DK_DATAWAY, 您还可以按照以下说明获取:
    • 进入 观测云 网站,参考 注册 指南成为 GuanCe 用户。
    • 点击「集成」菜单,然后选择 「DataKit」页签,复制 DK_DATAWAY 参数 如下图:

  • 搜索插件

首先,在 Amazon EKS 控制台中,转到您的 EKS 集群,并在「Add-ons」选项卡中选择「Get more add-ons」, 在现有 EKS 集群的集群设置中查找新的第三方 EKS 附加组件。并搜索 datakit,选择 「Guance Container Agent」,下一步。

  • 确认安装 选择最新的版本安装。

Tip

您需要将 $YOUR_CLUSTER_NAME$AWS_REGION 替换为您实际的 Amazon EKS 集群名称和 AWS 区域。

安装:

aws eks create-addon --addon-name guance_datakit --cluster-name $YOUR_CLUSTER_NAME --region $AWS_REGION

验证:

aws eks describe-addon --addon-name guance_datakit --cluster-name $YOUR_CLUSTER_NAME --region $AWS_REGION

配置 DataKit

设置 token 环境变量:

token="https://us1-openway.guance.com?token=tkn_xxxx"

将 token 加入到 env-dataway secrets 中:

envDataway=$(echo -n "$token" | base64)
kubectl patch secret env-dataway -p "{\"data\": {\"datawayUrl\": \"$envDataway\"}}" -n datakit

重启 DataKit:

kubectl rollout restart ds datakit -n datakit

验证部署

  • 获取部署状态
helm ls -n datakit

期望输出结果:

datakit  datakit  1  2024-01-12 14:50:07.880846 +0800 CST  deployed  datakit-1.20.0  1.20.0
  • 观测云平台验证

验证

使用 Helm 在 Amazon EKS 集群上部署 Datakit

前置条件

  • 安装以下工具:Helm 3.7.1, kubectlAWS CLI
  • 您有权访问 Amazon EKS 集群
  • 你需要提前获取 DK_DATAWAY, 您还可以按照以下说明获取:
    • 进入 观测云 网站,参考 注册 指南成为 GuanCe 用户。
    • 点击「集成」菜单,然后选择 「DataKit」页签,复制 DK_DATAWAY 参数 如下图:

复制地址

登录 ECR 仓库

export HELM_EXPERIMENTAL_OCI=1

aws ecr get-login-password \
    --region us-east-1 | helm registry login \
    --username AWS \
    --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com

Helm 安装(升级) DataKit

注意事项

Helm 版本必须是 3.7.1 datakit.datawayUrl 必须要修改。

helm upgrade -i datakit oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/guance/datakit-charts --version 1.23.5 \
     --create-namespace -n datakit 

期望输出结果:

Release "datakit" does not exist. Installing it now.
Warning: chart media type application/tar+gzip is deprecated
Pulled: 709825985650.dkr.ecr.us-east-1.amazonaws.com/guance/datakit-charts:1.23.5
Digest: sha256:04ce9e0419d8f19898a5a18cda6c35f0ff82cf63e0d95c8693ef0a37ce9d8348
NAME: datakit
LAST DEPLOYED: Fri Jan 12 14:50:07 2024
NAMESPACE: datakit
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace datakit -l "app.kubernetes.io/name=datakit,app.kubernetes.io/instance=datakit" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace datakit $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://127.0.0.1:9527 to use your application"
  kubectl --namespace datakit port-forward $POD_NAME 9527:$CONTAINER_PORT

配置 DataKit

设置 token 环境变量:

token="https://us1-openway.guance.com?token=tkn_xxxx"

将 token 加入到 env-dataway secrets 中:

envDataway=$(echo -n "$token" | base64)
kubectl patch secret env-dataway -p "{\"data\": {\"datawayUrl\": \"$envDataway\"}}" -n datakit

重启 DataKit:

kubectl rollout restart ds datakit -n datakit

验证部署

  • 获取部署状态
helm ls -n datakit

期望输出结果:

datakit  datakit  1  2024-01-12 14:50:07.880846 +0800 CST  deployed  datakit-1.20.0  1.20.0
  • 观测云平台验证

验证

扩展阅读

K8s 安装

文档评价

文档内容是否对您有帮助? ×