部署您的 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 集群中运行操作员。
您还可以使用 Helm 和 InfluxDB 集群 Helm 图表 来部署您的 InfluxDB 集群。
使用 kubectl apply
命令应用您自定义配置的 myinfluxdb.yml
并部署您的 InfluxDB 集群
kubectl apply \
--filename myinfluxdb.yml \
--namespace influxdb
使用
kubit local apply
命令应用您自定义配置的myinfluxdb.yml
,并部署您的InfluxDB集群。将DOCKER_CONFIG
环境变量设置为InfluxData提供的InfluxDB集群拉取密钥凭据的目录路径。DOCKER_CONFIG=/path/to/pullsecrets kubit local apply myinfuxdb.yml
注意:默认情况下,kubit
将使用您本地系统上安装的工具。您可以通过指定--docker
标志来选择使用容器。这将拉取工具依赖项的镜像,这意味着所需版本由kubit
跟踪。
添加InfluxData Helm图表存储库
helm repo add influxdata https://helm.influxdata.com/
使用您修改过的本地
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
这个页面有帮助吗?
感谢您的反馈!