文档文档

部署您的 InfluxDB 集群

使用 Kubernetes 和相关工具来部署您的 InfluxDB 集群。本指南提供使用以下工具部署 InfluxDB 集群的说明

  • kubectl:用于控制 Kubernetes 集群管理器的 CLI
  • kubit:一个 Kubernetes 控制器,可以基于 kubecfg jsonnet 工具和框架渲染和应用 jsonnet 模板

InfluxDB Clustered 使用 AppInstance Kubernetes 自定义资源 (CR) 来配置和部署您的 InfluxDB 集群。安装 CustomResourceDefinition (CRD) 需要集群范围的权限,如果您在集群中没有这些权限,可能会导致 kubectl 失败。

kubectl 使用您的本地凭据来安装 AppInstance CRD。如果您没有必要的权限,您可以使用 kubit CLI 在您的集群中手动安装软件包

如果您符合以下任何条件,请在您的本地计算机上安装并使用 kubit CLI。 这允许您像操作员一样操作并从您的终端部署您的集群。

  • 您没有安装 CRD 的权限。
  • 您没有在 kubit 命名空间中安装操作员的权限。
  • 您没有创建集群范围的基于角色的访问控制 (RBAC) 的权限。
  • 您想要预览生成的 YAML。
  • 您不想在您的 Kubernetes 集群中运行操作员。

您还可以使用 HelmInfluxDB Clustered Helm chart 来部署您的 InfluxDB 集群。

使用 kubectl apply 命令应用您自定义配置的 myinfluxdb.yml 并部署您的 InfluxDB 集群

kubectl apply \
  --filename myinfluxdb.yml \
  --namespace influxdb
  1. 在您的本地计算机上安装 kubit CLI 和相关工具。

  2. 使用 kubit local apply 命令应用您自定义配置的 myinfluxdb.yml 并部署您的 InfluxDB 集群。将 DOCKER_CONFIG 环境变量设置为 InfluxData 提供的 InfluxDB Clustered pull secret 凭据的目录路径。

    DOCKER_CONFIG=/path/to/pullsecrets kubit local apply myinfuxdb.yml
    

注意: 默认情况下,kubit 将使用安装在您本地系统上的工具。您可以指定 --docker 标志来选择使用容器。这将拉取工具依赖项的镜像,意味着所需的版本由 kubit 跟踪。

  1. 添加 InfluxData Helm chart 仓库

    helm repo add influxdata https://helm.influxdata.com/
    
  2. 使用您修改后的本地 values.yaml 部署您的 Helm chart

    helm upgrade \
      --install \
      influxdb \
      influxdata/influxdb3-clustered \
      -f ./values.yml \
      --namespace influxdb
    

检查部署状态

Kubernetes 部署需要一些时间才能完成。要检查部署状态,请使用 kubectl get 命令

以下示例使用 yq 命令行 YAML 解析器来解析和格式化 YAML 输出。您也可以将输出指定为 json 并使用 jq 命令行 JSON 解析器来解析和格式化 JSON 输出。安装和使用这些实用程序是可选的。

kubectl get \
  --filename myinfluxdb.yml \
  --output yaml | yq -P .status.conditions

输出中的 status 字段包含两个有用的字段

  • conditions:部署当前状态的摘要
  • lastLogs:部署阶段的详细日志

例如,如果您有不正确的容器注册表凭据,则输出类似于以下内容

- lastTransitionTime: '2023-08-18T12:53:54Z'
  message: ''
  observedGeneration: null
  reason: Failed
  status: 'False'
  type: Reconcilier
- lastTransitionTime: '2023-08-18T12:53:54Z'
  message: |
    Cannot launch installation job: OCI error: Authentication failure: {"errors":[{"code":"UNAUTHORIZED","message":"authentication failed"}]}
  observedGeneration: null
  reason: Failed
  status: 'False'
  type: Ready

检查集群 Pod

部署 InfluxDB 集群后,使用以下命令列出所有已部署的 Pod

kubectl get pods --namespace influxdb

此命令返回类似于以下内容的 Pod 集合

NAMESPACE     NAME                                      READY   STATUS      RESTARTS       AGE
influxdb      minio-0                                   2/2     Running     2 (101s ago)   114s
influxdb      catalog-db-0                              2/2     Running     0              114s
influxdb      keycloak-b89bc7b77-zpt2r                  1/1     Running     0              114s
influxdb      debug-service-548749c554-m4sxk            1/1     Running     0              91s
influxdb      token-gen-56a2e859-zlvnw                  0/1     Completed   0              91s
influxdb      database-management-579bfb9fcb-dw5sv      1/1     Running     0              91s
influxdb      database-management-579bfb9fcb-22qgm      1/1     Running     0              91s
influxdb      authz-59f456795b-qt52p                    1/1     Running     0              91s
influxdb      account-df457db78-j9z6f                   1/1     Running     0              91s
influxdb      authz-59f456795b-ldvmt                    1/1     Running     0              91s
influxdb      account-df457db78-8ds4f                   1/1     Running     0              91s
influxdb      token-management-754d966555-fmkbk         1/1     Running     0              90s
influxdb      token-management-754d966555-rbvtv         1/1     Running     0              90s
influxdb      global-gc-7db9b7cb4-ml6wd                 1/1     Running     0              91s
influxdb      iox-shared-compactor-0                    1/1     Running     1 (62s ago)    91s
influxdb      iox-shared-ingester-0                     1/1     Running     1 (62s ago)    91s
influxdb      iox-shared-ingester-1                     1/1     Running     1 (62s ago)    91s
influxdb      iox-shared-ingester-2                     1/1     Running     1 (62s ago)    91s
influxdb      global-router-86cf6b869b-56skm            3/3     Running     1 (62s ago)    90s
influxdb      iox-shared-querier-7f5998b9b-fpt62        4/4     Running     1 (62s ago)    90s
influxdb      kubit-apply-influxdb-g6qpx                0/1     Completed   0              8s

此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像现在这样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已发布公开 Alpha 版

InfluxDB 3 开源版本现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 Alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看