Există o modalitate de a configura clusterul pentru a nu adăuga acele variabile automate pentru fiecare serviciu vizibil?
Da și nu: nu la nivel de cluster, AFAIK, ci enableServiceLinks: false
câmp în specificație:
este conceput pentru a vă permite să le opriți
În mod alternativ, utilizarea altor runtime precum containerd ar rezolva această problemă?
Nu, acele nume au fost adăugate în spiritul compatibilității cu docker, dar nu sunt deloc legate de docker -- sunt injectat de kubelet
Cum, în general, folosesc mediul fără a intra în astfel de conflicte de denumire? Sau numele de servicii sunt considerate parte a contractului cu containerele și nu ar trebui să le schimb liber?
O altă opțiune este mai degrabă decât interzicerea lor cu ridicata, de asemenea, puteți doar masca specific cele care deranjează aplicația dvs.; cele care se termină în _HTTP
sunt mai ales problematice cu Spring Boot unde există o Serviciu
a caror metadate: { nume:
este un nume super generic ca serviciu
sau Server
Puteți face asta pentru fiecare implementare:
env:
- nume: SERVICENAME_PORT_HTTP
# omiterea valorii: o setează doar la șirul gol din container
# si restul
sau puteți declara un ConfigMap care le conține pe cele ofensive și le suprascrieți în gros cu envFrom:
(pentru a nu fi nevoit să corecteze fiecare implementare afectată