DevOps-bootcamp · Les

allow_duplicates en idempotentie van roles

Beheer herhaalde uitvoering van roles.

Les 4 van 413 stappen

allow_duplicates en idempotentie van roles is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Rollen worden standaard één keer uitgevoerd

Als twee rollen allebei afhankelijk zijn van een common-rol, is Ansible slim: tijdens één play voert het common maar één keer uit, niet twee keer.

Waarom deduplicatie bestaat

Deze deduplicatie voorkomt dat gedeelde configuratierollen duur werk herhalen, zoals het opnieuw uitvoeren van een basisrol voor serverbeveiliging voor elke toepassingsrol.

Dezelfde rol, dezelfde parameters

Het overslaan geldt alleen wanneer de rol met dezelfde parameters wordt aangevraagd. Identieke aanroepen worden beschouwd als al uitgevoerd.

Andere parameters, opnieuw uitvoeren

Roep je dezelfde rol aan met andere variabelen, dan voert Ansible die opnieuw uit. Een vhost-rol met twee configuraties wordt dan twee keer toegepast, zoals je wilt.

roles:
  - role: vhost
    vars: { name: site_a }
  - role: vhost
    vars: { name: site_b }

Maak kennis met allow_duplicates

De instelling allow_duplicates in meta/main.yml bepaalt dit gedrag. Stel die in op true, dan mag de rol meerdere keren binnen één play worden uitgevoerd.

# meta/main.yml
allow_duplicates: true

Wanneer duplicaten toestaan

Schakel dit in voor rollen die vaak moeten worden toegepast, zoals rollen voor het aanmaken van meerdere gebruikers of virtuele hosts, waarbij elke aanroep echt nieuw werk uitvoert.

Standaard is dit false

Standaard is allow_duplicates false, dus een rol met identieke parameters wordt maar één keer uitgevoerd. Laat dit uitgeschakeld voor eenmalige configuratierollen.

Deduplicatie is geen idempotentie

Een dubbele aanroep overslaan is een gemak tijdens de uitvoering. Echte idempotentie betekent dat elke taak naar een bepaalde toestand convergeert, ongeacht hoe vaak die wordt uitgevoerd.

Idempotente taken bouwen

Kies binnen een rol bij voorkeur modules die op een toestand werken in plaats van een onbewerkt command. Een echt idempotente rol kun je zonder gevolgen twee keer toepassen.

include_role wordt altijd opnieuw uitgevoerd

Let op: include_role volgt de deduplicatielogica niet op dezelfde manier. Een dynamisch opgenomen rol wordt elke keer uitgevoerd wanneer je die bereikt.

Samenstelbaar en veilig

Combineer deduplicatie, allow_duplicates en idempotente taken om rol-hiërarchieën te bouwen die netjes samen functioneren en veilig opnieuw kunnen worden uitgevoerd.

Snelle controle

Denk aan de instelling waarmee je een rol meer dan één keer in een play kunt uitvoeren.

Samenvatting

Ansible verwijdert dubbele aanroepen van dezelfde rol; stel allow_duplicates in op true om een rol te herhalen en houd taken idempotent voor veilige heruitvoeringen. ♻️

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “allow_duplicates en idempotentie van roles” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “allow_duplicates en idempotentie van roles”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “allow_duplicates en idempotentie van roles”?

Beheer herhaalde uitvoering van roles. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “allow_duplicates en idempotentie van roles”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Role-afhankelijkheden in meta/main.yml
  2. defaults versus vars: de volgorde van overschrijven
  3. include_role en import_role tijdens runtime
  4. allow_duplicates en idempotentie van roles
← Terug naar DevOps-bootcamp