मैंने अपना .Net Core 2.1 से 3.1 में अपग्रेड किया। पॉड्स में अपग्रेड करने के बाद लाइवनेस और रेडीनेस जांच विफल रही। नीचे मेरी डोकर फ़ाइल का टुकड़ा है:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
ENTRYPOINT ["dotnet", "Web.dll"]

जब मैं पॉड के लॉग की जांच करता हूं तो मुझे नीचे त्रुटियां मिलती हैं:

IPv6 लूपबैक इंटरफ़ेस पर http://localhost:5000 से जुड़ने में असमर्थ: 'अनुरोधित पता निर्दिष्ट नहीं कर सकता'

लाइवनेस जांच विफल: प्राप्त करें

यहाँ मेरी Deployment.yaml फ़ाइल है:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "staging.fullname" . }}
  namespace: staging
  labels:
    app.kubernetes.io/name: {{ include "staging.name" . }}
    helm.sh/chart: {{ include "staging.chart" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app.kubernetes.io/name: {{ include "staging.name" . }}
      app.kubernetes.io/instance: {{ .Release.Name }}
  template:
    metadata:
      labels:
        app.kubernetes.io/name: {{ include "staging.name" . }}
        app.kubernetes.io/instance: {{ .Release.Name }}
    spec:
      imagePullSecrets:
        - name: {{ .Values.image.pullSecret }}
      containers:
        - name: {{ .Chart.Name }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          env:
            - name: ASPNETCORE_ENVIRONMENT
              value: "Staging"
          livenessProbe:
            httpGet:
              path: /
              port: http
          readinessProbe:
            httpGet:
              path: /
              port: http
            initialDelaySeconds: 10  
          resources:
            {{- toYaml .Values.resources | nindent 12 }}
      {{- with .Values.nodeSelector }}
      nodeSelector:
        {{- toYaml . | nindent 8 }}
      {{- end }}
    {{- with .Values.affinity }}
      affinity:
        {{- toYaml . | nindent 8 }}
    {{- end }}
    {{- with .Values.tolerations }}
      tolerations:
        {{- toYaml . | nindent 8 }}
    {{- end }}
1
User3250 4 जिंदा 2020, 05:20

1 उत्तर

सबसे बढ़िया उत्तर

मुद्दा यह था कि .NET Core 3.1 के लिए केस्ट्रल सर्वर 0.0.0.0 के बजाय localhost की ओर इशारा कर रहा था। इसलिए, बाहर से सुलभ नहीं था। यही कारण है कि सक्रियता और तत्परता जांच विफल हो रही थी।

Url को localhost से 0.0.0.0 में बदलने के लिए मुझे appsettings.json में नीचे दिए गए अनुभाग को जोड़ना होगा:

"Kestrel": {
    "EndPoints": {
      "Http": {
        "Url": "http://0.0.0.0:5000"
      }
    }
  }

नोट: UseUrl() विधि या परिवेश चर सेट करना ASPNETCORE_URLS .NET Core 3.1 के लिए काम नहीं करता है।

4
User3250 9 जिंदा 2020, 14:12