Loki 云端部署
介绍
Grafana Loki是一个水平可扩展、高可用的多租户日志聚合系统,专为云原生环境设计。云端部署Loki能充分利用云平台的基础设施优势,如自动扩展、持久存储和托管服务。本指南将介绍在AWS、GCP和Azure三大云平台部署Loki的核心方法。
为什么选择云端部署?
- 弹性扩展:根据日志量自动 调整资源
- 托管服务集成:轻松对接云存储和认证服务
- 高可用性:利用云平台的多区域部署能力
前置准备
在开始前请确保:
- 拥有目标云平台的账户和CLI工具配置
- 安装
helm
和kubectl
(Kubernetes部署场景) - 了解基础的容器和Kubernetes概念
# 验证helm安装
helm version --short
# 预期输出示例: v3.11.1+g293b50c
AWS部署方案
使用EKS部署
- 创建S3存储桶用于日志存储:
aws s3api create-bucket --bucket my-loki-storage --region us-west-2
- 通过Helm安装Loki Stack:
helm repo add grafana https://grafana.github.io/helm-charts
helm install loki grafana/loki-stack \
--set loki.config.storage.aws.bucketnames=my-loki-storage \
--set loki.config.storage.aws.region=us-west-2
IAM权限配置
创建具有以下权限的IAM策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::my-loki-storage",
"arn:aws:s3:::my-loki-storage/*"
]
}
]
}
GCP部署方案
使用GKE部署
- 创建Google Cloud Storage桶:
gsutil mb -l us-central1 gs://my-loki-data
- 使用Helm配置GCS后端:
# values-gcp.yaml
loki:
config:
storage:
gcs:
bucket_name: my-loki-data
auth_enabled: false
- 部署命令:
helm install loki grafana/loki -f values-gcp.yaml
Azure部署方案
使用AKS部署
- 创建Storage Account:
az storage account create --name lokistorage --resource-group my-resource-group --sku Standard_LRS
- 配置Helm values:
# values-azure.yaml
loki:
config:
storage:
azure:
account_name: lokistorage
account_key: "<YOUR_KEY>"
container_name: loki-container