404, когда я скручиваю KUbernetes Tomcat службы - PullRequest
0 голосов
/ 09 марта 2020

Здравствуйте, я пытаюсь развернуть простой сервис Tomcat. Ниже приведены подробности:

1.minikube версия: v1.8.1

2.OS: ma c

3.The deploy.yaml file (я нахожусь в каталоге файла yaml)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat-deployment
spec:
  selector:
    matchLabels:
      app: tomcat
  replicas: 1
  template:
    metadata:
      labels:
        app: tomcat
    spec:
      containers:
      - name: tomcat
        image: tomcat:9.0
        ports:
        - containerPort: 8080

4.Команды, используемые для развертывания и предоставления службы

kubectl apply -f deployment.yaml

kubectl expose deployment tomcat-deployment --type=NodePort

minikube service tomcat-deployment --url

curl [URL]

Я получаю 404, когда сверну URL , Я не уверен, есть ли проблема с файлом deploy.yaml или некоторыми настройками мини-куба.

1 Ответ

0 голосов
/ 09 марта 2020

Вы должны установить target-Port, который в вашем случае будет 8080.

Все это хорошо объясняется на Настройка входа на Minikube с помощью NGINX Ingress Controller

  1. Создайте развертывание с помощью следующей команды:

kubectl run web --image=gcr.io/google-samples/hello-app:1.0 --port=8080

  • Вывод:

deployment.apps/web created

Раскрыть развертывание:

kubectl expose deployment web --target-port=8080 --type=NodePort

  • Вывод:

service/web exposed

Убедитесь, что служба создана и доступна для порта узла:

kubectl get service web

  • Вывод:

   NAME      TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
   web       NodePort   10.104.133.249   <none>        8080:31637/TCP   12m
Посетите сервис через NodePort:

minikube service web --url

  • Выход:

http://172.17.0.15:31637

Если это не помогает, проверьте журналы модуля tomcat, чтобы увидеть, что он запущен на порту 8080 Найдите строку

09-Mar-2020 13: 36: 00.157 ИНФОРМАЦИЯ [main] org. apache .coyote.AbstractProtocol.start Запуск ProtocolHandler ["http-nio-8080"]

Вы также можете проверить журналы docker, сначала обнаружив контейнер docker docker ps и извлечение из него логов с помощью docker logs <container-name>

...