【发布时间】:2021-08-01 22:42:47
【问题描述】:
我们正在使用 Azure,我正在通过以下 sn-p 在托管 AKS 集群上使用 terraform 创建 Elasticsearch 实例:
resource "helm_release" "elasticsearch" {
name = "elasticsearch"
repository = "https://helm.elastic.co"
chart = "elasticsearch"
version = "7.12.1"
timeout = 900
set {
name = "volumeClaimTemplate.storageClassName"
value = "elasticsearch-ssd"
}
set {
name = "volumeClaimTemplate.resources.requests.storage"
value = "5Gi"
}
set {
name = "imageTag"
value = "7.12.1"
}
...
}
到目前为止没有问题。 Elasticsearch 启动并准备好使用。一切都在虚拟网络中。因此,Elasticsearch 的节点获得了集群 IP。
现在,要在我的 Kubernetes 集群上部署一些实际使用 Elasticsearch 的东西,我需要将 Elasticsearch 的集群 IP 传递给它。
有人知道自动检索集群 IP 的方法吗?这样我就可以将它传递给我的配置中的以下 terraform 模块?我想我扫描了 helm release 的所有输出,但我找不到集群 IP...
在下面的示例中,它将是“10.0.169.174”:
ppaulis@ppaulis-sb3:~/PhpstormProjects/baywa/infra/terraform-final/5_tms-api$ kubectl get services -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
elasticsearch-master ClusterIP 10.0.169.174 <none> 9200/TCP,9300/TCP 25h app=elasticsearch-master,chart=elasticsearch,release=tms-dv-elasticsearch
elasticsearch-master-headless ClusterIP None <none> 9200/TCP,9300/TCP 25h app=elasticsearch-master
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 28h <none>
感谢任何帮助! 谢谢, 帕斯卡
【问题讨论】:
标签: elasticsearch kubernetes terraform kubernetes-helm