Συγχρονισμός Αποθετηρίου Chart
Σημείωση: Αυτό το παράδειγμα αφορά συγκεκριμένα ένα bucket Google Cloud Storage (GCS) που εξυπηρετεί ένα αποθετήριο chart.
Προαπαιτούμενα
- Εγκαταστήστε το εργαλείο gsutil. Βασιζόμαστε σε μεγάλο βαθμό στη λειτουργικότητα rsync του gsutil
- Βεβαιωθείτε ότι έχετε πρόσβαση στο εκτελέσιμο του Helm
- Προαιρετικό: Συνιστούμε να ενεργοποιήσετε την εκδοσιοποίηση αντικειμένων στο GCS bucket σας, σε περίπτωση που διαγράψετε κατά λάθος κάτι.
Δημιουργία τοπικού καταλόγου αποθετηρίου chart
Δημιουργήστε έναν τοπικό κατάλογο όπως κάναμε στον οδηγό αποθετηρίου chart, και τοποθετήστε τα πακεταρισμένα charts σας σε αυτόν τον κατάλογο.
Για παράδειγμα:
$ mkdir fantastic-charts
$ mv alpine-0.1.0.tgz fantastic-charts/
Δημιουργία ενημερωμένου index.yaml
Χρησιμοποιήστε το Helm για να δημιουργήσετε ένα ενημερωμένο αρχείο index.yaml, περνώντας τη διαδρομή
του καταλόγου και το URL του απομακρυσμένου αποθετηρίου στην εντολή helm repo index, ως εξής:
$ helm repo index fantastic-charts/ --url https://fantastic-charts.storage.googleapis.com
Αυτό θα δημιουργήσει ένα ενημερωμένο αρχείο index.yaml και θα το τοποθετήσει στον
κατάλογο fantastic-charts/.
Συγχρονισμός τοπικού και απομακρυσμένου αποθετηρίου chart
Ανεβάστε τα περιεχόμενα του καταλόγου στο GCS bucket σας εκτελώντας
scripts/sync-repo.sh και περνώντας το όνομα του τοπικού καταλόγου και το όνομα του GCS bucket.
Για παράδειγμα:
$ pwd
/Users/me/code/go/src/helm.sh/helm
$ scripts/sync-repo.sh fantastic-charts/ fantastic-charts
Getting ready to sync your local directory (fantastic-charts/) to a remote repository at gs://fantastic-charts
Verifying Prerequisites....
Thumbs up! Looks like you have gsutil. Let's continue.
Building synchronization state...
Starting synchronization
Would copy file://fantastic-charts/alpine-0.1.0.tgz to gs://fantastic-charts/alpine-0.1.0.tgz
Would copy file://fantastic-charts/index.yaml to gs://fantastic-charts/index.yaml
Are you sure you would like to continue with these changes?? [y/N]} y
Building synchronization state...
Starting synchronization
Copying file://fantastic-charts/alpine-0.1.0.tgz [Content-Type=application/x-tar]...
Uploading gs://fantastic-charts/alpine-0.1.0.tgz: 740 B/740 B
Copying file://fantastic-charts/index.yaml [Content-Type=application/octet-stream]...
Uploading gs://fantastic-charts/index.yaml: 347 B/347 B
Congratulations your remote chart repository now matches the contents of fantastic-charts/
Ενημέρωση του αποθετηρίου chart
Καλό είναι να διατηρείτε ένα τοπικό αντίγραφο των περιεχομένων του αποθετηρίου chart σας ή να
χρησιμοποιείτε το gsutil rsync για να αντιγράψετε τα περιεχόμενα του απομακρυσμένου αποθετηρίου
chart σε έναν τοπικό κατάλογο.
Για παράδειγμα:
$ gsutil rsync -d -n gs://bucket-name local-dir/ # the -n flag does a dry run
Building synchronization state...
Starting synchronization
Would copy gs://bucket-name/alpine-0.1.0.tgz to file://local-dir/alpine-0.1.0.tgz
Would copy gs://bucket-name/index.yaml to file://local-dir/index.yaml
$ gsutil rsync -d gs://bucket-name local-dir/ # performs the copy actions
Building synchronization state...
Starting synchronization
Copying gs://bucket-name/alpine-0.1.0.tgz...
Downloading file://local-dir/alpine-0.1.0.tgz: 740 B/740 B
Copying gs://bucket-name/index.yaml...
Downloading file://local-dir/index.yaml: 346 B/346 B
Χρήσιμοι σύνδεσμοι:
- Τεκμηρίωση για το gsutil rsync
- Ο οδηγός αποθετηρίου chart
- Τεκμηρίωση για την εκδοσιοποίηση αντικειμένων και τον έλεγχο ταυτοχρονισμού στο Google Cloud Storage