文档资料

部署您的 InfluxDB 集群

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

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

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

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

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

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

您还可以使用 HelmInfluxDB 集群 Helm 图表 来部署您的 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集群拉取密钥凭据的目录路径。

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

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

  1. 添加InfluxData Helm图表存储库

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

    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 v3增强功能和InfluxDB集群现在已普遍可用

新功能包括更快的查询性能和管理工具,推进了InfluxDB v3产品线。InfluxDB集群现在已普遍可用。

InfluxDB v3性能和功能

InfluxDB v3产品线在查询性能方面进行了重大改进,并推出了新的管理工具。这些改进包括一个操作仪表板来监控您的InfluxDB集群健康状况、InfluxDB云专用版的单点登录(SSO)支持以及新的令牌和数据库管理API。

了解v3的新增强功能


InfluxDB集群版通用可用性

InfluxDB集群版现已通用可用,为您在自管理堆栈中提供InfluxDB v3的功能。

与我们讨论InfluxDB集群版