我对使用 HELM、Kubernetes 和 docker-desktop 进行部署有以下问题:
我使用 kubernetes 和 helm 定义了一个负载均衡器,如下所示:
apiVersion: v1
kind: Service
metadata:
name: {{ include "api.fullname" . }}
labels:
{{- include "api.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: {{ .Values.service.targetPort }}
我可以启动所有 Pod 和服务。但是,我的负载均衡器服务的外部 IP 是“localhost”。
NAME TYPE CLUSTER-IP EXTERNAL-IP
api LoadBalancer 10.103.231.18 localhost
如何配置 helm/kubernetes 为我的服务分配域名,如 kubernetes 文档中所述。像 myservice.default.svc.cluster.local 这样的东西?
我将不胜感激任何指点,谢谢。
您无需执行任何操作。每个服务,无论类型如何,都会获取
service-name.namespace-name.svc.cluster.local
集群内 DNS 名称。这不会显示为“外部 IP”值,但相反,该 DNS 名称也无法从集群外部解析。
在输出中,服务被命名为
api
,因此集群内 DNS 名称将类似于 api.default.svc.cluster.local
,短名称 api.default
和(对于 default
命名空间中的 Pod)api
将用作好吧。