DevOps-bootcamp · Oppitunti

ConfigMapit määrityksiä varten

Irrottakaa sovelluksen määritykset konttikuvista ConfigMapien avulla.

Oppitunti 1/412 vaihetta

ConfigMapit määrityksiä varten on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

ConfigMaps-esittely

Sovellukset tarvitsevat usein määritystietoja, kuten tietokantayhteyksien merkkijonoja tai ominaisuuslippuja.

Jos nämä tiedot kovakoodataan suoraan container-levykuviin, niistä voi tulla jäykkiä ja vaikeasti päivitettäviä.

ConfigMaps tarjoavat tavan erottaa sovelluksen ei-arkaluonteiset määritykset sovelluksesta ja keskittää ne, jolloin levykuvat pysyvät joustavina.

Mikä on ConfigMap?

ConfigMap on Kubernetes-objekti, jota käytetään ei-arkaluonteisten tietojen tallentamiseen avain–arvo-pareina.

Ajattele sitä sovelluksen asetusten keskitettynä sijaintina, jota Podit voivat käyttää.

  • Määritysten erottaminen: Erottaa määritykset sovelluskoodista.
  • Joustavuus: Asetuksia on helppo muuttaa ilman levykuvien uudelleenrakentamista.
  • Siirrettävyys: Sovelluksen voi siirtää eri määrityksiä käyttäviin ympäristöihin.

ConfigMaps-luonti: imperatiivinen tapa

Voit luoda ConfigMapin nopeasti suoraan komentoriviltä komennolla kubectl create configmap.

Tämä menetelmä sopii erinomaisesti yksinkertaisiin, kertaluonteisiin määrityksiin tai nopeaan testaukseen.

Luodaan ConfigMap nimeltä my-app-config, joka sisältää lokitason asetuksen.

kubectl create configmap my-app-config \
  --from-literal=log_level=INFO

ConfigMapin tarkastelu

ConfigMapin luomisen jälkeen voit tarkastella sen tietoja ja varmistaa sen sisällön.

Käytä komentoa kubectl get lipun -o yaml kanssa nähdäksesi koko YAML-määritelmän ja sen sisältämät tiedot.

kubectl get configmap my-app-config -o yaml

Deklaratiivinen ConfigMap (YAML)

Tuotantokäytössä ja versionhallinnassa ConfigMaps-määritysten tekeminen YAML-manifesteilla on vakiintunut käytäntö.

Tämä lähestymistapa tekee määrityksistä toistettavia ja helpottaa niiden hallintaa sovelluskoodin rinnalla.

Tässä on YAML-esimerkki pelin määrityksistä:

apiVersion: v1
kind: ConfigMap
metadata:
  name: game-config
data:
  game.properties: |
    level=easy
    player_limit=10
  ui.properties: |
    theme=dark
    language=en

ConfigMapin käyttöönotto YAML-tiedostosta

Luo game-config-ConfigMap tallentamalla edellisen näkymän YAML-sisältö tiedostoon, kuten game-config.yaml.

Käytä sen jälkeen komentoa kubectl apply -f ottaaksesi sen käyttöön klusterissasi.

# Save the YAML to game-config.yaml
kubectl apply -f game-config.yaml
kubectl get configmap game-config -o yaml

ConfigMaps ympäristömuuttujina

Yksi yleinen tapa saada Pod käyttämään ConfigMapin tietoja on lisätä ne ympäristömuuttujiksi.

Voit määrittää yksittäiset avaimesiirrettävät tiedot tai käyttää komentoa envFrom kaikkien ConfigMapin avain–arvo-parien lisäämiseen.

Tämä sopii erinomaisesti yksinkertaisiin sovelluksen asetuksiin.

apiVersion: v1
kind: Pod
metadata:
  name: my-env-pod
spec:
  containers:
  - name: my-container
    image: busybox
    command: ["sh", "-c", "echo Log Level: $LOG_LEVEL && sleep 3600"]
    env:
    - name: LOG_LEVEL
      valueFrom:
        configMapKeyRef:
          name: my-app-config
          key: log_level

Esittely: Pod ympäristömäärityksillä

Suoritetaan Pod-määritelmä, jotta näemme ympäristömuuttujan LOG_LEVEL toiminnassa.

Tallenna Podin YAML tiedostoon env-pod.yaml, ota se käyttöön ja tarkista sitten Podin lokit.

# Save Pod YAML to env-pod.yaml
kubectl apply -f env-pod.yaml
kubectl logs my-env-pod

# Clean up
kubeclt delete pod my-env-pod

ConfigMaps liitettyinä taltioina

Sovelluksille, jotka odottavat määritystiedostoja, kuten nginx.conf tai application.properties, ConfigMap voidaan liittää taltioiksi.

Jokaisesta ConfigMapin avain–arvo-parista tulee tiedosto määritettyyn liitospolkuun containerin sisällä.

apiVersion: v1
kind: Pod
metadata:
  name: my-volume-pod
spec:
  containers:
  - name: my-container
    image: busybox
    command: ["sh", "-c", "echo 'Contents of game.properties:' && cat /etc/config/game.properties && sleep 3600"]
    volumeMounts:
    - name: config-volume
      mountPath: /etc/config
  volumes:
  - name: config-volume
    configMap:
      name: game-config

Esittely: Pod liitetyllä määrityksellä

Otetaan nyt käyttöön Pod, joka liittää game-config-ConfigMapin taltiona.

Tallenna Podin YAML tiedostoon volume-pod.yaml, ota se käyttöön ja tarkastele lokeja nähdäksesi liitetyn tiedoston sisällön.

# Save Pod YAML to volume-pod.yaml
kubectl apply -f volume-pod.yaml
kubectl logs my-volume-pod

# Clean up
kubeclt delete pod my-volume-pod

Pikatarkistus: ConfigMaps

Mikä seuraavista Kubernetes ConfigMaps -väitteistä on totta?

Kertaus: ConfigMaps

Hienoa työtä! Olet oppinut, miten ConfigMaps auttaa hallitsemaan määrityksiä Kubernetesissa:

  • Tarkoitus: Ei-arkaluonteisten määritystietojen tallentaminen avain–arvo-pareina.
  • Luominen: Imperatiivisesti komennolla kubectl create tai deklaratiivisesti YAML:n avulla.
  • Käyttö: Ympäristömuuttujina tai Podeihin liitettyinä tiedostoina.
  • Hyöty: Erottaa määritykset sovelluskoodista ja parantaa joustavuutta.

Seuraavaksi tutustumme siihen, miten arkaluonteisia tietoja käsitellään turvallisesti Kubernetesin Secrets-objektien avulla!

Aloita maksutta

Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
142
Oppitunnit
568

Usein kysytyt kysymykset

Onko oppitunti ”ConfigMapit määrityksiä varten” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “ConfigMapit määrityksiä varten”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”ConfigMapit määrityksiä varten”?

Irrottakaa sovelluksen määritykset konttikuvista ConfigMapien avulla. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”ConfigMapit määrityksiä varten”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?

Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. ConfigMapit määrityksiä varten
  2. Secretit arkaluonteisille tiedoille
  3. Pysyvät taltiot ja varaukset
  4. StorageClassit ja dynaaminen provisiointi
← Takaisin: DevOps-bootcamp