Intensiv DevOps-uddannelse · Lektion

Tilføj en Service-template

Eksponér workloaden gennem en templated Service.

Lektion 3 af 413 trin

Tilføj en Service-template er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvorfor du har brug for en Service

Pods får hele tiden nye IP-adresser. En Service giver din workload én stabil adresse, så andre ting pålideligt kan nå den.

En ekstra skabelonfil

Tilføj templates/service.yaml ved siden af din Deployment-skabelon. Helm genererer alle filer i templates, så begge kommer med.

Service-skelettet

En Service begynder som alle manifests med apiVersion, kind: Service og metadata. Releasens navn knytter den til denne installation.

apiVersion: v1
kind: Service
metadata:
  name: {{ .Release.Name }}

Selectoren forbinder pods

En Service finder sine pods gennem en selector. Den skal matche labels på dine Deployment-pods, ellers bliver der ikke sendt trafik.

spec:
  selector:
    app: {{ .Release.Name }}

Vælg Service-typen

Gør type konfigurerbar, så brugerne kan vælge ClusterIP, NodePort eller LoadBalancer. ClusterIP er den sikre standard i klyngen.

type: {{ .Values.service.type }}

Angiv standardtypen i values

Giv service.type en standardværdi, så en almindelig installation bare virker. Gruppér Service-indstillingerne under én nøgle for at holde det overskueligt.

# values.yaml
service:
  type: ClusterIP
  port: 80

Tilknyt porten

port er den port, klienter opretter forbindelse til på Servicen. Kobl den til værdier, så hver installation kan eksponere en anden port.

ports:
  - port: {{ .Values.service.port }}

Peg på containerporten

targetPort er den port, din container lytter på. nginx leverer indhold på port 80, så trafik på Servicen videresendes dertil.

ports:
  - port: {{ .Values.service.port }}
    targetPort: 80

Angiv containerporten

For tydelighedens skyld skal du angive den port, din pod åbner, i Deploymentens containerPort. Det dokumenterer hensigten og hjælper værktøjer.

ports:
  - containerPort: 80

Den komplette Service-specifikation

Sæt det hele sammen: en skabelonbaseret Service, hvis selector matcher dine pods, og hvis port og type kommer fra værdierne.

spec:
  type: {{ .Values.service.type }}
  selector:
    app: {{ .Release.Name }}
  ports:
    - port: {{ .Values.service.port }}
      targetPort: 80

Generér begge skabeloner

Kør helm template, og bekræft, at Helm udsender to dokumenter adskilt af ---: din Deployment og din nye Service.

helm template web .

Hurtigt tjek

En Service sender ingen trafik til dine pods. Hvad er den mest sandsynlige årsag?

Opsummering: Eksponér applikationen

Du tilføjede en Service-skabelon: selectoren matcher pods, type og port kommer fra værdierne, og targetPort rammer containeren. 🚀

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Tilføj en Service-template” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Tilføj en Service-template”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Tilføj en Service-template”?

Eksponér workloaden gennem en templated Service. Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Tilføj en Service-template”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. En minimal Deployment-template
  2. Parametrisering af container-imaget
  3. Tilføj en Service-template
  4. Installér og iterér på Deres chart
← Tilbage til Intensiv DevOps-uddannelse