Felsök leverans av hemligheter
Vad du ska kontrollera när en arbetslast inte startar på grund av en hemlighet, eller startar utan det värde du väntar dig.
Arbetslasten startar inte
När hämtningen av en hemlighet misslyckas, misslyckas init-containern som körs före applikationen
och podden startar om gång på gång. Resursens status rapporterar då att den crash-loopar; för appar
och funktioner nämner meddelandet secret-init och, när det finns, orsaken den angav.
Gå igenom punkterna nedan i ordning.
"Secret … not found in vault …"
Secrets-tjänsten svarar "not found" av fyra olika skäl, medvetet likadant så att svaret inte avslöjar vad som finns:
- Arbetslastens identitet får inte läsa valvet. Kontrollera Secrets Reader under valvets Access Control — för appar och funktioner tilldelas den aldrig åt dig. Se Ge en arbetslast åtkomst.
- Valvnamnet är fel, eller så har valvet raderats.
- Hemligheten finns inte under det namnet.
- Hemligheten har raderats. Återställ den — se Radera, återställ och rensa.
Hemligheten är inaktiverad
En inaktiverad hemlighet kan inte läsas, och arbetslasten startar inte. Aktivera den igen — se Ändra ett värde — eller peka referensen mot en annan hemlighet.
Applikationen ser inte värdet
- Appar får värdena i filen
/secrets/env.json, inte som miljövariabler — se Läs värdena i en app. - Funktioner får dem som miljövariabler med prefixet
STSH_— referensenAPI_KEYblirSTSH_API_KEY. Se Läs värdena i en funktion. - Container instances får miljövariabler bara i containrar som anger sitt kommando — se Ange kommandot.
Värdet är inaktuellt
Värdena hämtas när en pod startar. Starta om arbetslasten eller gör en ny deploy när du har ändrat en hemlighet. Ett utgångsdatum på en hemlighet stoppar inte leveransen.