Legg til en Service-template
Eksponer arbeidslasten gjennom en templatisert Service.
Legg til en Service-template er en gratis leksjon i Helm Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Helm Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Helm Academy inneholder totalt 4 leksjoner.
Derfor trenger De en Service
Poder får nye IP-adresser hele tiden. En Service gir arbeidslasten én stabil adresse, slik at andre komponenter kan nå den pålitelig.
En ny malfil
Legg til templates/service.yaml ved siden av Deployment-malen. Helm rendrer alle filene i templates, så begge distribueres sammen.
Skjelettet for en Service
En Service begynner som alle manifester: apiVersion, kind: Service og metadata. Releasenavnet knytter den til denne installasjonen.
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}Selectoren kobler til poder
En Service finner podene sine via en selector. Den må samsvare med etikettene på Deploymentens poder, ellers går ingen trafikk gjennom.
spec:
selector:
app: {{ .Release.Name }}Velg Service-typen
La brukerne velge ClusterIP, NodePort eller LoadBalancer ved å parametrisere type. ClusterIP er den trygge standarden internt i klyngen.
type: {{ .Values.service.type }}Angi type i values som standard
Gi service.type en standardverdi, slik at en vanlig installasjon fungerer med én gang. Samle service-innstillingene under én nøkkel for å holde det ryddig.
# values.yaml
service:
type: ClusterIP
port: 80Koble porten
port er det klientene kobler til på Servicen. Koble den til values, slik at hver installasjon kan eksponere en annen port.
ports:
- port: {{ .Values.service.port }}Pek på containerporten
targetPort er porten containeren lytter på. nginx leverer på port 80, så trafikken på Servicen videresendes dit.
ports:
- port: {{ .Values.service.port }}
targetPort: 80Deklarer containerporten
For tydelighetens skyld oppgir De porten poden åpner i Deploymentens containerPort. Det dokumenterer hensikten og hjelper verktøy.
ports:
- containerPort: 80Den komplette Service-spesifikasjonen
Sett det sammen: en malstyrt Service med en selector som samsvarer med podene, og der port og type hentes fra values.
spec:
type: {{ .Values.service.type }}
selector:
app: {{ .Release.Name }}
ports:
- port: {{ .Values.service.port }}
targetPort: 80Render begge malene
Kjør helm template og bekreft at Helm skriver ut to dokumenter, adskilt av ---, nemlig Deploymenten og den nye Servicen.
helm template web .Kort sjekk
En Service sender ingen trafikk til podene. Hva er den mest sannsynlige årsaken?
Oppsummering: Eksponer appen
De la til en Service-mal: selectoren samsvarer med podene, type og port hentes fra values, og targetPort peker på containeren. 🚀
Lær deg YAML med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Legg til en Service-template» gratis?
Ja – hele teksten i «Legg til en Service-template» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Helm Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Helm Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Legg til en Service-template»?
Eksponer arbeidslasten gjennom en templatisert Service. Du øver på Helm Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Helm Academy?
Ingen tidligere erfaring er nødvendig. Helm Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Legg til en Service-template»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Helm Academy-leksjonen?
Ja. Alle Helm Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- En minimal Deployment-template
- Parametriser container-imaget
- Legg til en Service-template
- Installer og iterer på chartet Deres