Одним из решений является создание службы, которая будет получать ответ DNS и направлять вас к внешней конечной точке, являющейся вашей базой данных.
Шаги:
- Создание службы без селектора
- Создание конечной точки вручную
- Проверка ее
Создать сервис без селектора
Создать сервис без селектора, выполнив следующие действия: ссылка .
apiVersion: v1
kind: Service
metadata:
name: DB_NAME
spec:
ports:
- protocol: TCP
port: DB_PORT
targetPort: DB_PORT
Замените DB_NAME
и DB_PORT
на соответствующие вашему делу.
Примените его, выполнив следующую команду:
$ kubectl apply -f FILE_NAME.yaml
Создание конечной точки
У ранее созданной службы не будет конечной точки для прямого трафика c к.
Оконечная точка ниже будет использоваться при вызове имени службы.
apiVersion: v1
kind: Endpoints
metadata:
name: DB_NAME
subsets:
- addresses:
- ip: DB_IP_ADDRESS
ports:
- port: DB_PORT
Убедитесь, что name
конечной точки совпадает с тем, что используется в вышеприведенной услуге.
subsets:
- addresses:
- ip: DB_IP_ADDRESS
ports:
- port: DB_PORT
Возьмите конкретный c взгляд на вышеуказанную часть и замените DB_IP_ADDRESS
и DB_PORT
.
Примените его, выполнив следующую команду:
$ kubectl apply -f FILE_NAME.yaml
Проверьте это
Запустите пример pod с установленной curl
и проверьте, отвечает ли созданная служба на ваши запросы:
$ curl DB_NAME:DB_PORT
Альтернативы
Ознакомьтесь с дополнительными ресурсами, объясняющими другие пути: