Kubernetes предоставляет службу DNS , которую могут использовать все модули. В свою очередь, вы можете определить Службу ExternalName , которая просто определяет запись DNS. После того, как вы это сделаете, ваши модули могут общаться с этой службой так же, как они общались с любой другой службой Kubernetes, и выходить на любой сервер.
Вы можете развернуть набор служб ExternalName по всему миру. Вы можете сделать это и в таблице Хелма, если хотите, что-то вроде
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}-{{ .Chart.Name }}-foo
spec:
type: ExternalName
externalName: {{ .Values.fooHostname }}
Практика, которую я изучил, заключается в том, что вам следует избегать использования /etc/hosts
, если это вообще возможно.