0Pricing
Helm Academy · Ders

Veritabanı Geçişi için pre-upgrade Job

Bir Job'ın dağıtımdan önce çalışması için açıklama ekleyin.

Veritabanı Geçişi için pre-upgrade Job, CoddyKit'te ücretsiz bir Helm Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Helm Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Helm Academy kursu toplamda 4 dersten oluşur.

Gerçek Bir Kullanım Örneği

Yeni uygulama kodu kullanıma alınmadan önce veritabanı şemanızın çoğu zaman geçirilmesi gerekir. Bir pre-upgrade kancası, bu geçişi güvenli biçimde çalıştırmak için ideal yerdir.

Dağıtımdan Önce Neden Çalıştırılır

Bunu pre-upgrade olarak çalıştırmak, yeni pod'lar başlamadan önce şemanın hazır olmasını sağlar. Yeni kod, eski ve uyuşmayan bir veritabanıyla hiçbir zaman iletişim kurmaz.

"helm.sh/hook": pre-upgrade

Bir İşle Başlayın

Geçiş bir kez çalışır ve sonra çıkar; bu nedenle onu bir Kubernetes İşi olarak modelleyin. Helm, yükseltmeye devam etmeden önce İşin tamamlanmasını bekler.

apiVersion: batch/v1
kind: Job
metadata:
  name: db-migrate

Kanca Açıklamasını Ekleyin

İşin meta verilerinde onu kanca olarak işaretleyin. helm.sh/hook açıklamasının pre-upgrade olarak ayarlanması, bu sıradan İşi kancaya dönüştürür.

metadata:
  annotations:
    "helm.sh/hook": pre-upgrade

Geçiş Komutunu Çalıştırın

İşin kapsayıcısı geçiş aracınızı çalıştırır. Şema değişikliklerinin olması gereken yere uygulanması için onu uygulamanın kullandığı aynı veritabanına yönlendirin.

spec:
  containers:
    - name: migrate
      image: myapp:1.4
      command: ["./migrate", "up"]

Başarısızlıkta Yeniden Başlatmayın

İşin restartPolicy değerini Never veya OnFailure olarak ayarlayın. Sonsuza kadar döngüye giren bir geçiş, yükseltmenizi engeller ve Helm'in ilerlemesine asla izin vermez.

spec:
  template:
    spec:
      restartPolicy: Never

Görüntü Etiketini Şablonlayın

Etiketini şablonlayarak geçiş aracını uygulamayla senkronize tutun. Sürümlerin eşleşmesi için dağıtımın okuduğu aynı .Values.image.tag değerini yeniden kullanın.

image: "myapp:{{ .Values.image.tag }}"

Helm Tamamlanana Kadar Bekletir

Bu bir pre-upgrade kancası olduğundan Helm, İş başarı bildiriminde bulunana kadar yükseltmeyi duraklatır. Geçiş başarısız olursa dağıtım gerçekleşmez. 🛑

Başarıdan Sonra Temizleyin

Aksi hâlde eski geçiş İşleri birikir. Kancayı bir hook-delete-policy ile eşleştirerek başarılı bir İşin ad alanını karmaşıklaştırmak yerine kaldırılmasını sağlayın.

"helm.sh/hook-delete-policy": hook-succeeded

Benzersiz Adlar Yardımcı Olur

Kanca İşleri oluşturulduktan sonra değiştirilemez; bu nedenle sabit bir ad, sonraki yükseltmede çakışabilir. Ada .Release.Revision eklemek her çalıştırmanın ayrı olmasını sağlar.

name: db-migrate-{{ .Release.Revision }}

Kuru Çalıştırmayla Test Edin

Gerçek bir yükseltmeden önce kancanın doğru göründüğünü doğrulamak için chart'ı işleyin. dry-run, kümeye dokunmadan Helm'in oluşturacağı İş bildirimini gösterir.

helm upgrade myapp ./mychart --dry-run

Hızlı Kontrol

Bir şema geçişinin, yükseltme sırasında yeni uygulama pod'ları başlamadan önce çalışması gerekiyor.

Özet

Bir geçişi pre-upgrade İşi olarak modellediniz, restartPolicy değerini Never olarak ayarladınız ve yeni kodu dağıtmadan önce Helm'in başarıya ulaşılana kadar beklemesini sağladınız. 🗄️

Sıkça Sorulan Sorular

“Veritabanı Geçişi için pre-upgrade Job” dersi ücretsiz mi?

Evet — “Veritabanı Geçişi için pre-upgrade Job” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Helm Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Helm Academy kursu toplamda 4 dersten oluşur.

“Veritabanı Geçişi için pre-upgrade Job” dersinde ne öğreneceğim?

Bir Job'ın dağıtımdan önce çalışması için açıklama ekleyin. Helm Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Helm Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Helm Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Veritabanı Geçişi için pre-upgrade Job” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Helm Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Helm Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Hook'lar Nedir ve Ne Zaman Çalışırlar
  2. Veritabanı Geçişi için pre-upgrade Job
  3. Hook Ağırlıkları ve Sıralama
  4. Hook Silme İlkeleri
← Helm Academy Sayfasına Dön