Чтобы выставить свой сервис с помощью Nginx Ingress, вам необходимо настроить его раньше.
Следуйте руководству по установке для вашей установки kubernetes.
Вы также нужна служба для «группировки» контейнеров вашего приложения.
В Kubernetes служба - это абстракция, которая определяет логический набор модулей и политику доступа к ним. их (иногда этот шаблон называется микросервисом). Набор модулей, предназначенных для службы, обычно определяется селектором ... Например, рассмотрим серверную часть обработки изображений без сохранения состояния, которая работает с 3 репликами. Эти реплики взаимозаменяемы - внешним пользователям все равно, какой бэкэнд они используют. Хотя фактические блоки, составляющие набор бэкэндов, могут измениться, клиенты внешнего интерфейса не должны знать об этом и не должны сами отслеживать набор бэкэндов. Сервисная абстракция позволяет эту развязку.
Как видите, служба обнаружит ваши контейнеры на основе селектора меток , настроенного в вашем развертывании.
Кому проверьте селектор меток контейнера: kubectl get pods -owide -l app=mycha-app
Служба yaml
Примените следующее yaml
, чтобы создать службу для своего развертывания:
apiVersion: v1
kind: Service
metadata:
name: mycha-service
spec:
selector:
app: mycha-app <= This is the selector
ports:
- protocol: TCP
port: 8080
targetPort: 80
Проверьте, создана ли служба с помощью kubectl get svc
.
Протестируйте приложение, используя переадресацию портов с рабочего стола на http://localhost: 8080 :
kubectl port-forward svc/mycha-service 8080:8080
nginx -ingress yaml
Последняя часть - nginx - вход . Предположим, ваше приложение имеет URL mycha-service.com и только путь root '/':
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-mycha-service
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: mycha-service.com <= app url
http:
paths:
- path: /
backend:
serviceName: mycha-service <= Here you define what is the service that your ingress will use to send the requests.
servicePort: 80
Проверьте вход: kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
ingress-mycha-service mycha-service.com XX.X.X.X 80 63s
Теперь вы смог получить доступ к вашему приложению, используя url mycha-service.com
и адрес, отображаемый командой выше.
Надеюсь, это поможет =)