Следует ли использовать Kestrel с обратным прокси при работе в кластере AKS? - PullRequest
1 голос
/ 12 апреля 2019

Я много читал о kubernetes, докере и контейнерах в целом.В сети масса материалов.Проблема в том, что некоторую конкретную, но важную информацию трудно найти.

В настоящее время kestrel является веб-сервером по умолчанию для ядра asp.net, но имеет некоторые ограничения (отсутствие функциональности), и рекомендуемый вариант хостинга - один сиспользование обратного прокси.https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2

Это может быть легко достигнуто в локальных средах, например, с использованием IIS.Теперь мой вопрос: как это должно работать в Azure AKS?Если я не ошибаюсь прямо сейчас, если мы будем развертывать, используя приведенные ниже сценарии docker kubernetes, Kestrel будет хост-сервером в Azure.

Docker:

FROM microsoft/dotnet:sdk AS build-env
WORKDIR /app

RUN mkdir /output

# Copy project and publish

COPY . /app

WORKDIR /app/WebApi
RUN dotnet publish --configuration Release --output /output -nowarn:1701,1702,1591;

# Build runtime image
FROM microsoft/dotnet:aspnetcore-runtime

ENV ASPNETCORE_URLS http://*:5100

WORKDIR /app

COPY --from=build-env /output .
EXPOSE 5100

ENTRYPOINT ["dotnet", "WebApi.dll"]

Kubernetes:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-api
spec:
  replicas: 1
  selector:
    matchLabels:
      app: web-api
  template:
    metadata:
      labels:
        app: web-api
    spec:
      containers:
      - name: web-api
        image: azureadress.io/web-api:latest 
        env:
          - name: ASPNETCORE_ENVIRONMENT
            value: "Azure_Development"
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 5100 
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/load-balancer-source-ranges:  
  name: web-api
spec:
  loadBalancerIP: xxxxx.xxx.xxx
  type: LoadBalancer 
  ports:
  - port: 5100
  selector:
    app: web-api

Следует ли в этом случае использовать обратный прокси-сервер?Я не смог найти никаких материалов о том, как должна выглядеть производственная установка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...