Elastic Stack Helm Charts:从社区版到企业版的平滑升级策略

【免费下载链接】helm-charts You know, for Kubernetes 【免费下载链接】helm-charts 项目地址: https://gitcode.com/gh_mirrors/hel/helm-charts

Elastic Stack Helm Charts 是 Kubernetes 环境中部署 Elasticsearch、Logstash、Kibana 等组件的最佳实践方案。本文将详细介绍如何从社区版无缝升级到企业版,帮助企业用户轻松获取高级安全特性、技术支持和监控功能,实现业务价值最大化。

升级前的核心准备工作 📋

在开始升级流程前,需完成两项关键准备工作,确保升级过程顺利进行:

1. 环境兼容性检查

  • Kubernetes 版本验证:确保集群版本符合目标 Elastic Stack 版本要求(建议 Kubernetes 1.21+)
  • 资源配置评估:企业版通常需要更高的资源配置,建议参考 elasticsearch/values.yaml 中的资源建议值
  • 数据备份策略:执行关键数据备份,可使用 kubectl exec 进入 Pod 执行快照命令:
    kubectl exec -it elasticsearch-master-0 -- /usr/share/elasticsearch/bin/elasticsearch-snapshot.sh
    

2. 企业版许可证获取

  • 从 Elastic 官方获取有效的企业版许可证
  • 保存许可证文件为 license.json,后续将通过 Kubernetes Secret 注入集群

社区版到企业版的升级步骤 🔄

步骤 1:更新 Helm 仓库

首先确保使用最新的 Helm Charts:

helm repo update elastic

步骤 2:配置安全认证(关键差异点)

企业版与社区版的核心区别在于安全特性,需通过以下配置启用:

  1. 创建 TLS 证书和认证密钥:

    kubectl create secret generic elastic-credentials \
      --from-literal=username=elastic \
      --from-literal=password=$(openssl rand -base64 16)
    
  2. 使用安全配置示例:

    helm upgrade elasticsearch elastic/elasticsearch \
      -f elasticsearch/examples/security/values.yaml \
      --set imageTag=8.5.1 \
      --set license.key=$(cat license.json | base64)
    

步骤 3:执行滚动升级

Elastic Stack Helm Charts 采用滚动升级策略,确保服务不中断:

# 升级 Elasticsearch(企业版核心组件)
helm upgrade elasticsearch elastic/elasticsearch \
  --set updateStrategy.type=RollingUpdate \
  --set replicas=3

# 升级 Kibana(可视化平台)
helm upgrade kibana elastic/kibana \
  --set elasticsearch.hosts=https://elasticsearch-master:9200 \
  --set elasticsearch.username=elastic \
  --set elasticsearch.passwordFromSecret=elastic-credentials

步骤 4:验证升级结果

升级完成后,通过以下方式验证企业版功能:

  1. 检查许可证状态:

    kubectl exec -it elasticsearch-master-0 -- \
      curl -u elastic:$(kubectl get secret elastic-credentials -o jsonpath='{.data.password}' | base64 -d) \
      https://localhost:9200/_license
    
  2. 验证安全特性:

    • 访问 Kibana 控制台(默认路径:kibana-kibana:5601
    • 确认 TLS 加密和基于角色的访问控制 (RBAC) 已启用

常见升级问题及解决方案 🛠️

问题 1:升级后节点无法加入集群

解决方案:检查 elasticsearch.yml 配置中的集群名称和传输端口是否一致,可参考 elasticsearch/templates/configmap.yaml 中的默认配置。

问题 2:许可证验证失败

解决方案:确保许可证文件格式正确且未过期,重新创建许可证 Secret:

kubectl delete secret elastic-license
kubectl create secret generic elastic-license --from-file=license.json

问题 3:资源不足导致升级中断

解决方案:调整 StatefulSet 的资源请求和限制:

# 在 values.yaml 中设置
resources:
  requests:
    cpu: 2
    memory: 8Gi
  limits:
    cpu: 4
    memory: 16Gi

企业版高级功能配置指南 🚀

1. 跨集群复制(CCR)

在企业版中配置跨集群数据复制:

# values.yaml
replicas: 3
cluster:
  crossClusterReplication:
    enabled: true
    remoteClusters:
      - name: remote-cluster
        seeds: remote-es-master:9300

2. 审计日志

启用安全审计日志:

# values.yaml
extraEnvs:
  - name: ES_JAVA_OPTS
    value: "-Des.logger.org.elasticsearch.audit=INFO"
config:
  elasticsearch.yml:
    xpack.security.audit.enabled: true
    xpack.security.audit.logfile.events.emit_request_body: true

升级后的最佳实践 🌟

  1. 监控配置:部署 Metricbeat 监控集群状态,参考 metricbeat/examples/security/values.yaml
  2. 定期备份:配置自动化快照,使用 elasticsearch/examples/upgrade/ 中的测试脚本验证恢复流程
  3. 版本规划:遵循 Elastic 官方支持周期,提前规划下一次升级路径

通过本文介绍的步骤,您可以安全、平稳地将 Elastic Stack 从社区版升级到企业版,充分利用企业级安全特性和技术支持,为业务提供更可靠的数据处理平台。如需进一步了解升级细节,请参考各组件的官方文档:elasticsearch/README.mdkibana/README.md

【免费下载链接】helm-charts You know, for Kubernetes 【免费下载链接】helm-charts 项目地址: https://gitcode.com/gh_mirrors/hel/helm-charts

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐