部署您的 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 集群中运行操作员。
您还可以使用 Helm 和 InfluxDB Clustered Helm chart 来部署您的 InfluxDB 集群。
使用 kubectl apply
命令应用您自定义配置的 myinfluxdb.yml
并部署您的 InfluxDB 集群
kubectl apply \
--filename myinfluxdb.yml \
--namespace influxdb
在您的本地计算机上安装
kubit
CLI 和相关工具。使用
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
跟踪。
添加 InfluxData Helm chart 仓库
helm repo add influxdata https://helm.influxdata.com/
使用您修改后的本地
values.yaml
部署您的 Helm charthelm 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
此页面是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB Clustered 和本文档的反馈和错误报告。要获得支持,请使用以下资源
拥有年度合同或支持合同的客户可以联系 InfluxData 支持。