Я пытаюсь запустить простой сервер балансировки нагрузки, подключающийся к модулю развертывания.
Я установил Docker для Mac крайнюю версию.
Проблема в том, что когда я пытаюсь сделать GET-запрос к выставленному URL-адресу балансировщика нагрузки http://localhost:8081/api/v1/posts/health,, появляется сообщение об ошибке:
org.apache.http.NoHttpResponseException: localhost: 8081 не удалось ответить
При выполнении:
k get services
Я получаю:
Очевидно, что служба работает, но localhost: 8081 не отвечает, не знаю почему, я продолжаю бороться с этим.
Мой сервисный ресурс:
---
apiVersion: v1
kind: Service
metadata:
name: posts-api-svc
# namespace: nginx-ingress
labels:
app: posts-api
rel: beta
env: dev
spec:
type: LoadBalancer
selector:
app: posts-api
rel: beta
env: dev
ports:
- protocol: TCP
port: 8081
Мое развертывание:
apiVersion: apps/v1
kind: Deployment
metadata:
name: posts-api-deployment
# namespace: nginx-ingress
labels:
app: posts-api
rel: beta
env: dev
spec:
replicas: 1
selector:
matchLabels:
app: posts-api
env: dev
rel: beta
template:
metadata:
labels:
app: posts-api
env: dev
rel: beta
spec:
containers:
- name: posts-api
image: kimgysen/posts-api:latest
ports:
- containerPort: 8083
livenessProbe:
httpGet:
path: /api/v1/posts/health
port: 8083
initialDelaySeconds: 120
timeoutSeconds: 1
Должна быть базовая настройка!
Мой модуль развертывания не показывает перезапусков, все выглядит хорошо:
Любой совет приветствуется!
Примечание:
Редактировать
При использовании порта 31082 выдается ошибка:
org.apache.http.conn.HttpHostConnectException: подключение к
localhost: 31082 [localhost / 127.0.0.1] не удалось: соединение отклонено
(Соединение отказано)
Нет конкретной причины, по которой я использовал порт 8083.
Это потому, что я сначала попробовал нодпорт (с несколькими службами), а теперь балансировщик нагрузки.
Следующим шагом будет вход, но у меня не получилось с первого раза, и поэтому я стараюсь идти шаг за шагом.
Я использовал порт 8081 вместо порта 80, потому что где-то читал, что на Mac OSX порт 80 предназначен только для пользователя root.