sql >> Database teknologi >  >> NoSQL >> Redis

2 Helm Charts med delt Redis-afhængighed

Når du installerer et diagram ved hjælp af Helm, forventer det generelt hver udgivelse at have sit eget selvstændige sæt Kubernetes-objekter. I det grundlæggende eksempel, du viser, ville jeg forvente at se Kubernetes Service-objekter kaldet noget lignende

release-a-application-a
release-a-redis
release-b-application-b
release-b-redis

Der er en generel konvention om, at objekter navngives begyndende med {{ .Release.Name }} , så de to Redises er adskilte.

Dette er faktisk en forventet opsætning. En typisk regel for opbygning af mikrotjenester er, at hver tjeneste indeholder sit eget isolerede lager, og at tjenester aldrig deler lager med hinanden. Dette Helm-mønster understøtter det, og der er ikke rigtig nogen ulempe ved at have denne opsætning.

Hvis du virkelig ønsker, at de to diagrammer skal dele en enkelt Redis-installation, kan du skrive et "paraply"-diagram, der ikke gør noget alene, men afhænger af de to applikationsdiagrammer. Diagrammet ville have en Chart.yaml fil og (i Helm 2) en requirements.yaml fil, der refererer til de to andre diagrammer, men ikke en templates sin egen mappe. Det ville få Helm til at konkludere, at en enkelt Redis kunne understøtte begge applikationer, og du ville ende med noget som

umbrella-application-a
umbrella-application-b
umbrella-redis

(I min erfaring gør du normalt ikke ønsker dette – du gør ønsker en separat Redis pr. applikation – og så det virker ikke særlig godt at prøve at administrere flere installationer ved hjælp af et paraplydiagram.)



  1. Tilføj felt, der ikke er i skemaet med mongoose

  2. Redigere nøglenavnekonventioner?

  3. Redis serviceStack pooled forbindelsesklient

  4. håndtering af navnerumsændringer under deserialisering af JSON String