Однако, когда я развертываю его в AKS, при запуске приложение не запускается. Вылетает с ошибкой:
Код: Выделить всё
Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused process_linux.go:449: container init caused setenv: invalid argument: unknownЯ ношу это с собой определив свои секреты с помощью yaml, аналогично приведенному ниже. Развертывание осуществляется Azure Devops. Значения токена __ заменяются одной из задач конвейера. Я могу проверить значения на странице секретов экземпляра AKS на панели мониторинга и убедиться, что они развернуты правильно.
Код: Выделить всё
apiVersion: v1
kind: Secret
metadata:
name: paymentservicesettings
type: Opaque
data:
dbconnectionstring: __dbconnectionstringbase64__
storagebaseurl: __storagebaseurlbase64__
storageconnectionstring: __storageconnectionstringbase64__
baseuri: __baseuribase64__
subscriptionkey: __subscriptionkeybase64__
userid: __useridbase64__
usersecret: __usersecretbase64__где находятся valuesbase64 Строки в кодировке Base 64.
Я запускаю это с помощью команды kubectl apply -f appsettings.yml. Я вижу, что настройки определены правильно, когда проверяю их через панель управления.
Затем я определяю развертывание следующим образом:
Код: Выделить всё
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
generation: 1
labels:
run: payment-service
name: payment-service
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 3
revisionHistoryLimit: 10
selector:
matchLabels:
run: payment-service
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
run: payment-service
spec:
containers:
- image: org.azurecr.io/payment-service:__tagBuildId__ // **this tag is auto replaced for every deployment**
imagePullPolicy: IfNotPresent
name: payment-service
env:
- name: "ASPNETCORE_ENVIRONMENT"
value: "Kubernetes"
- name: "dbconnectionstring"
valueFrom:
secretKeyRef:
name: paymentservicesettings
key: dbconnectionstring
- name: "storagebaseurl"
valueFrom:
secretKeyRef:
name: paymentservicesettings
key: storagebaseurl
- name: "storageconnectionstring"
valueFrom:
secretKeyRef:
name: paymentservicesettings
key: storageconnectionstring
- name: "baseuri"
valueFrom:
secretKeyRef:
name: paymentservicesettings
key: baseuri
- name: "subscriptionkey"
valueFrom:
secretKeyRef:
name: paymentservicesettings
key: subscriptionkey
- name: "userid"
valueFrom:
secretKeyRef:
name: paymentservicesettings
key: userid
- name: "usersecret"
valueFrom:
secretKeyRef:
name: paymentservicesettings
key: usersecret
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
imagePullSecrets:
- name: acr-authКогда я впервые развертываю службу, она загружается правильно и затем пытается запуститься. К сожалению, кажется, что он не может найти переменные env и происходит сбой. Из-за сбоя модулей я не могу выполнить отладку и выяснить, почему они это делают.
Я рассматривал возможность отладки через Azure Dev Spaces, но это похоже, что в настоящее время это не поддерживается для рабочих служб.
Я постарался обеспечить как можно больше кода обработки исключений на стороне C#, чтобы предотвратить сбои запуск, но это не имеет никакого значения
Может ли кто-нибудь подсказать, почему происходит сбой модулей и что я могу с этим поделать?
спасибо
Подробнее здесь: https://stackoverflow.com/questions/597 ... o-set-secr
Мобильная версия