2017-04-26 45 views
0

我有k8s群集在谷歌云和前端/ api容器那里。 除了我有ElasticSearch集群(ES1,ES2)在谷歌云而不是下K8S如何从kubernetes容器访问谷歌云实例

我可以通过名称 'API' 从容器 '前端' 访问API容器。 我可以通过名称'es1'访问es1es2'。

什么是名称访问ES簇状ES1一个正确的方式,ES2从容器API /前端?

谢谢!

回答

0

如果你想引用资源的Kubernetes集群之外,如果他们是在集群内部,最简单的方法可能是每个ElasticSearch实例的静态IP分配,然后指定Kubernetes服务与人工端点:

https://kubernetes.io/docs/concepts/services-networking/service/#services-without-selectors

您可以为每个es实例添加一个Endpoint条目。现在,好像他们是在集群中的吊舱内部群集DNS将解析和负载平衡的上课情况。

你创建一个这样的端点(注意服务缺乏选择的):

kind: Endpoints 
apiVersion: v1 
metadata: 
    name: my-service 
subsets: 
    - addresses: 
     - ip: 1.2.3.4 
    ports: 
     - port: 9376 
--- 

kind: Service 
apiVersion: v1 
metadata: 
    name: my-service 
spec: 
    ports: 
    - protocol: TCP 
     port: 80 
     targetPort: 9376 

现在,您可以访问使用my-service.my-namespace.svc.cluster.local正常服务。

+0

谢谢!我会尝试 – Nick

1

像你的情况下,在同一个网络/子网创建Kubernetes集群(GKE),那么你可以从你的K8S荚连接您的GCE实例的内部Ip's。