У меня есть служба балансировки нагрузки kubernetes, размещенная в gcp, которая называется myService в пространстве имен myNamespace. Я дал ему тег «myKubeTag». У меня также есть запущенный виртуальный компьютер, который сам запускает контейнер докера, который хочет связаться с myService. Я создал правило брандмауэра, чтобы разрешить трафик tcp между ними.
Я могу дать IP-адрес службы для подключения к виртуальной машине, что меня интересует, как настроить прокси-сервер имени, чтобы виртуальная машина могла просто ссылаться на него по имени?
Рабочая нагрузка и служба запускаются из helm и выглядят так:
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: {{ template "app.prefix" . }}
spec:
selector:
matchLabels:
name: {{ template "app.prefix" . }}
template:
metadata:
labels:
name: {{ template "app.prefix" . }}
spec:
nodeSelector:
target_workload: {{ .Values.prefix }}-myApp
containers:
- name: myApp
image: {{ .Values.myApp.image }}
tolerations:
- key: "target_workload"
operator: "Equal"
value: {{ .Values.prefix }}-myApp
effect: "NoSchedule"
---
apiVersion: v1
kind: Service
metadata:
name: {{ template "app.prefix" . }}
spec:
ports:
- name: http
protocol: TCP
port: 8080
targetPort: 8080
type: LoadBalancer
selector:
role: {{ template "app.prefix" . }}
Я подготовил следующее:
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
, что заставляет меня думать, что именем хоста будет myService.myNamespace.sxc.cluster-domain.myCluster, однако контейнер, работающий на моей виртуальной машине, вызывает исключение Неизвестный хост.