Мне нужно отладить (с помощью chrome: // inspect / debugger) мое приложение nodejs, пока оно развернуто в модуле kubernetes.Я попытался добавить порт к службе перед развертыванием, но это не работает.
Я добавил порт 42126
apiVersion: v1
kind: Service
metadata:
name: account-service # matches name in nginx.conf
spec:
ports:
- name: traffic
port: 80
targetPort: 80
- name: debug
port: 42126
targetPort: 42126
type: NodePort # speculating need this so nginx can route to this ???????
selector:
app: account-pod # matches name of pod created by deployment account-deployment
Развертывание не изменено
apiVersion: apps/v1beta2 # for version 1.8, once 1.9 switch to apps/v1
kind: Deployment
metadata:
name: account-deployment # name of the deployment
spec:
replicas: 1
selector:
matchLabels:
app: account-pod # matches name of pod to create
template:
metadata:
labels:
app: account-pod # name of pod, matches deployment and service definition
spec:
containers:
- name: account-container # name of docker container
image: us.gcr.io/purple01-0000000/purple_account:2018_04_25_18_08
Образ докера создается со следующим.Я знаю, что это работает, так как я использую его для локальной отладки при запуске docker compose со всеми моими модулями.
FROM node:9.4
WORKDIR /app
COPY . /app/
RUN npm install
# comment out normal mode and created one for the debug
#CMD node ./bin/www
CMD node --inspect-brk=0.0.0.0:42126 ./bin/www
EXPOSE 80 42126
Сконфигурированный вход отправляет трафик http службе nginx, которая обслуживает статические файлы и маршруты к различным микро-сервисам.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: ingress-ip
spec:
tls:
- secretName: tls-secret
backend:
serviceName: purple-front-end-service
servicePort: 80
Я новичок в kubernetes, поэтому любые советы приветствуются.
Одна из многих вещей, которые я не получаю: вход прекращает https и отправляет http на мой фиолетовыйfront-end-сервис (сервис nginx).Каким образом порт 42126 в службе учетных записей становится доступным извне, чтобы я мог подключиться к нему через chrome?
Что я настраиваю в «Настройках обнаружения цели» для «chrome: // inspect / # devices»».