Kubernetes Helm Redis Google Cloud MemoryStore-服务与端点

时间:2019-07-02 16:41:20

标签: kubernetes google-kubernetes-engine kubernetes-helm google-cloud-memorystore

我正在为k8s中的Sidekiq和Rails配置Redis。通过IP地址使用Google Cloud Memory Store。

我有一个类似以下的头盔模板(单独指定了gcpRedisMemorystore)-我的问题是Service对象向系统添加了什么?端点是否必须提供所有必需的访问权限?

图表/ app /模板/app-memorystore.service.yaml

kind: Service
apiVersion: v1
metadata:
  name: app-memorystore
spec:
  type: ClusterIP
  clusterIP: None
  ports:
  - name: redis
    port: {{ .Values.gcpredis.port }}
    protocol: TCP
---
kind: Endpoints
apiVersion: v1
metadata:
  name: app-memorystore
subsets:
- addresses:
  - ip: {{ .Values.gcpredis.ip }}
  ports:
  - port: {{ .Values.gcpredis.port }}
    name: redis
    protocol: TCP

1 个答案:

答案 0 :(得分:3)

是的,您仍然需要它。

通常来说,服务是应用程序用来连接到端点的名称。通常,带有选择器的服务会使用选择器找到的Pod的IP地址自动创建相应的端点。

当您定义不带选择器的服务时,您需要提供具有相同名称的相应端点,以便该服务可以使用。这些信息包含在文档中,但有些隐蔽。在https://kubernetes.io/docs/concepts/services-networking/service/#without-selectors中,第二个要点提到了无选择器的无头服务:

  

对于没有定义选择器的无头服务,端点控制器不会创建端点记录。但是,DNS系统将查找并配置以下任一项:

     
      
  • ExternalName类型服务的CNAME记录。
  •   
  • A记录所有与服务共享名称的所有其他类型的端点。
  •