Kubernetes外部名称服务

Kun*_*tra 5 kubernetes

我创建了一个类型为ExternalName的Kubernetes服务,我知道该服务充当代理并将请求重定向到位于集群外部的外部服务。我能够创建服务,但无法卷曲它,即出现500错误。我想了解ExternalName Kubernetes服务的工作方式。

coo*_*oid 7

类型服务与ExternalName其他常规服务一样,但是当您要访问该服务名称时,它不返回该服务的cluster-ip,而是返回具有externalName:服务参数中提到的值的CNAME记录。

作为Kubernetes文档中提到的示例

kind: Service
apiVersion: v1
metadata:
  name: my-service
spec:
  type: ExternalName
  externalName: my.database.example.com
Run Code Online (Sandbox Code Playgroud)

当您想执行curl -v http://my-servicecurl -v http://my-service.default.svc.cluster.local根据您的命名空间(在此示例中为默认)时,它将在DNS级别将您重定向到http://my.database.example.com

我希望它有用

  • 为了改进您的答案,您可能需要澄清这一点:这不是“代理服务”。来自文档:https://kubernetes.io/docs/concepts/services-networking/service/#externalname“访问 my-service 的工作方式与其他服务相同,但关键的区别是重定向发生在 DNS 级别而不是而不是通过代理或转发。” (6认同)
  • @BhavaniPrasad 尝试 `curl -v my-service.<namespace>.svc.cluster.local` (3认同)