Bosh sahifa Wiki Image tag

Image tag

Image tagcontainer registry’dagi repository ichida image manifestiga berilgan odam o‘qiy oladigan nomdir. registry.example/team/api:2.4 yozuvida 2.4 tag hisoblanadi. Tag artifactning o‘zi emas: registry u orqali ma’lum manifest digestini topadi, tag esa keyinchalik boshqa digestga ko‘chirilishi mumkin.

Nom va digest

Image reference registry, repository va tagdan tuziladi. Tag ko‘rsatilmasa ko‘p clientlar latest nomini qabul qiladi, ammo latest eng yangi buildni aniqlaydigan maxsus algoritm emas. U boshqa taglar kabi oddiy ko‘rsatkichdir.

Digest, masalan sha256:..., manifest baytlaridan hisoblanadi va mazmun o‘zgarsa o‘zgaradi. Shu bois quyidagi murojaatlar turlicha xususiyatga ega:

example/api:2.4
example/api:stable
example/api@sha256:0123...

Birinchi ikkitasi qulay nomlar, oxirgisi esa aniq artifactni belgilaydi. Tag va digest birga yozilsa, client nomni hujjatlashtirish uchun saqlab, yaxlitlikni digest orqali tekshirishi mumkin.

Tag siyosatlari

Versiya taglari release bilan bog‘lanadi: 2.4.1, 2.4 va 2 bir manifestni ko‘rsatishi, keyingi patch chiqqanda kengroq taglar yangilanishi mumkin. Git commit identifikatori yoki build raqami provenance’ni topishni osonlashtiradi. dev, candidate va stable kabi channel taglari artifactning tarqatish bosqichini ifodalaydi.

Registry immutable tag siyosatini qo‘llasa, mavjud nomni boshqa digestga ko‘chirish rad etiladi. Bu release tarixini barqaror qiladi. Channel taglari tabiatan ko‘chuvchan bo‘lsa, audit ularning qachon va kim tomonidan yangilanganini saqlashi kerak.

Deploymentdagi ta’sir

Orchestrator faqat tag bilan ishlasa, ikki vaqtda yaratilgan Podlar bir xil konfiguratsiya nomiga qaramay turli image olishi mumkin. Local cache va imagePullPolicy ham natijaga ta’sir qiladi. Production deklaratsiyasida digestni pin qilish barcha replica’lar bir xil manifestdan foydalanishini kafolatlashga yordam beradi.

Digest pin qilingan deployment avtomatik xavfsizlik patchini olmaydi. Yangilanish pipeline yangi image’ni quradi, scan va testdan o‘tkazadi, so‘ng manifestdagi digestni boshqariladigan o‘zgarish sifatida almashtiradi.

Multi-platform image

Bitta tag manifest index’iga ishora qilishi mumkin. Index linux/amd64, linux/arm64 kabi platformalar uchun alohida manifestlarni saqlaydi. Client o‘z platformasiga mos variantni tanlaydi. Demak, bir tag turli hostlarda turli qatlam digestlarini yuklashi mumkin, lekin tanlov index tarkibi bilan aniq belgilangan bo‘ladi.

Promotion va ta’minot zanjiri

Builddan chiqqan artifactni qayta qurmasdan environmentlar orasida promote qilish mumkin. Masalan, testdan o‘tgan digestga avval candidate, keyin stable tagi bog‘lanadi. Qayta build bir xil source’dan ham dependency yoki vaqt sabab boshqa digest yaratishi mumkin; promotion aynan sinovdan o‘tgan baytlarni saqlaydi.

Raqamli imzo va attestation tagga emas, o‘zgarmas digestga bog‘lanadi. Aks holda tag ko‘chirilganda eski tasdiq yangi artifactga noto‘g‘ri tatbiq etilgandek ko‘rinadi. Deployment policy digest imzosi, SBOM va provenance’ni tekshirishi mumkin.

Taglarni avtomatik tozalashda retention ehtiyotkor qo‘llanadi. Tag olib tashlansa ham manifest boshqa tag yoki digest reference orqali kerak bo‘lishi mumkin. Rollback uchun ishlatiladigan release digestlari saqlash siyosatida himoyalanadi.

Registry access control tagni yozish va artifactni o‘qish huquqlarini ajratishi mumkin. Release taglarini faqat CI identity yangilaydi; developer shaxsiy taglari boshqa namespace’da saqlanadi. Naming convention xizmat, versiya va build identifikatorini mashina orqali tahlil qilish imkonini beradi, ammo uning o‘zi cryptographic trust bermaydi.

Bog‘liq tushunchalar

Container registry, Image digest, Image manifest, OCI image index, Immutable artifact, Image pull policy, Artifact promotion