Puncte:-6

Cum să păstrați secretele ca parte a configmap în kubernetes?

drapel ke

Am o hartă de configurare care creează un fișier de configurare pentru aplicația mea.

Structura este ca mai jos.

apiVersion: v1
fel: ConfigMap
metadate:
  nume: database-configmap
date:
  config: |
   dbport=5432
   dcname=
   dbssl=fals
   locktime=300
   domainuser=
   dattserverhost=localhost
   conntype=ON-PREM
   dbinstance=
   dattusessl=fals
   dbpwd=VrjvBguQ
   iisport=80
   docountupgrade=fals
   doreportupgrade=fals
   dbname=dattdatabase
   dattuseiis=false
   dbtype=POSTGRESQL
   dbusername=postg
   dbserver=tgres.database.azure.com
   domainpwd=

Fișierul complet va fi aruncat într-un fișier de proprietăți, astfel încât aplicația să-l folosească.

Există oricum pentru a salva unele proprietăți (cum ar fi dbusername,dbpassword) în el ca un secret kubernetes și atunci când pod-urile de implementare sunt create, aceste secrete și configurația vor fi îmbinate cu fișierul de proprietăți?

Sugerați vă rog.

Puncte:0
drapel it

Răspuns scurt: nu.

Secrete și ConfigMaps sunt obiecte diferite. Secrete sunt ascunse cu o codificare Base64 și ar trebui utilizate pentru date confidențiale în timp ce ConfigMaps sunt utilizate pentru date neconfidențiale.

Ar trebui să creați obiecte separate pentru datele confidențiale și neconfidențiale și apoi să le utilizați în dvs Implementare. Vă puteți modifica Implementare să le folosească pe amândouă Secrete și ConfigMaps, de exemplu:

apiVersion: extensii/v1beta1
fel: Desfăşurare
metadate:
  nume: envtest
specificație:
  replici: 1
  șablon:
    metadate:
      etichete:
        nume: envtest
    specificație:
      containere:
      - nume: envtest
        imagine: gcr.io/<PROJECT_ID>/envtest
        porturi:
        - containerPort: 3000
        env:
        - nume: LIMBA
          valoareDe la:
            configMapKeyRef:
              nume: limba
              cheie: LIMBAJ
        - nume: API_KEY
          valoareDe la:
            secretKeyRef:
              nume: apikey
              cheie: API_KEY

Există, de asemenea, moduri diferite de a le folosi pe ambele Secrete și ConfigMaps. Pentru mai multe detalii, consultați sursele de mai jos:

uday avatar
drapel ke
configurația aplicației este salvată în fișierul de proprietăți din interiorul containerului. Putem actualiza partea din configurație din interiorul acestuia cu configmap și partea rămasă cu secrete. Avem nevoie doar de numele de utilizator și parola din baza de date să fie setate așa
Wytrzymały Wiktor avatar
drapel it
Da, aceasta este o abordare bună.
uday avatar
drapel ke
Puteți sugera cum să fac asta, pentru că nu am reușit să îmbin într-un singur fișier atât secretele, cât și configurația
Wytrzymały Wiktor avatar
drapel it
Salut @uday. Ar fi mai bine să postezi o întrebare separată pentru asta. Arată-ți configurațiile, ce ai încercat și ce ai dori să obții. În acest fel, este mai clar pentru comunitate și nu amestecăm mai multe subiecte/sarcini într-o singură întrebare.
uday avatar
drapel ke
Dar acesta este subiectul principal al întrebării. pentru a păstra secrete ca parte a configurației
Wytrzymały Wiktor avatar
drapel it
Da, și acest subiect a fost deja tratat, deoarece nu ar trebui să încercați să o faceți în acest fel. Acel -1 pentru întrebarea ta nu este de la mine, dar arată că ceri ceva ce nu ar trebui să faci. A doua problemă este: cum să configurați o „implementare” pentru a utiliza atât „secretele, cât și „configmaps” și pentru a obține un răspuns bun pentru asta, ar trebui să puneți o întrebare separată care să arate configurațiile și să explice cazul de utilizare în loc să le amestecați pe toate aici. deoarece nu așa ar trebui să funcționeze SO și SF. Crede-mă și acceptă sfatul meu sincer :)
uday avatar
drapel ke
Partea de mai sus configmap doar pentru parola bazei de date (dbpwd) o vom păstra în secret, totul este doar în configmap. Deci, cum să conectați acest lucru în fișierul final de configurație

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.