我有一个在Google容器引擎上的kubernetes集群中运行的大型只读elasticsearch数据库,我正在使用minikube运行我的应用程序的本地开发实例。 有没有办法让我的应用程序连接到云弹性搜索实例,以便我不必创建一个包含数据子集的本地测试数据库?
数据库包含敏感信息,因此无法在其自己的群集或VPC之外显示。
我的后退是在本地pod中运行kubectl port-forward:
kubectl --cluster=<gke-database-cluster-name> --token='<token from ~/.kube/config>' port-forward elasticsearch-pod 9200
但这似乎不是最理想的。
答案 0 :(得分:0)
我使用像
这样的ExternalName服务kind: Service
apiVersion: v1
metadata:
name: elastic-db
namespace: prod
spec:
type: ExternalName
externalName: your.elastic.endpoint.com
根据文档
ExternalName服务是没有选择器的特殊服务案例。它没有定义任何端口或端点。相反,它可以作为一种方法将别名返回到驻留在集群外部的外部服务。
如果需要公开弹性数据库,有两种方法可以将应用程序公开到集群外部: