Pembelian akaun Google Cloud: Membina contoh pelaksanaan Docker berdasarkan GCP Artifact Registry dan GKE

awan 2026-05-30 阅读 17
cloud

Mereka yang pernah bermain dengan teknologi asli awan dan sering bereksperimen dengan K8s biasanya pernah merasai betapa menyeksakannya apabila terpaksa menghadapi masalah dalam pengedaran imej kontena serta pelaksanaan kluster.

Proses pembangunan sendiri secara tradisional lazimnya berjalan seperti berikut: selepas kod siap ditulis di lokasi, ia dibungkus sebagai imej Docker, kemudian dimuat naik ke sebuah pelayan peribadi sumber terbuka seperti Harbor atau Docker Hub. Seterusnya, anda perlu mengurus sendiri kredensial aliran masuk (Secret) bagi nod K8s; sekiranya kredensial tersebut tamat tempoh, kluster GKE (Google Kubernetes Engine) akan mula melaporkan ratusan ralat.

ImagePullBackOff

Ralat paranormal (gagal menarik imej). Belum lagi disebutkan bahawa memandangkan pelayan imbas dan kluster pengkomputeran berada di pusat data yang berbeza, apabila menarik imej besar bersaiz beberapa gigabait merentasi wilayah, kos trafik internet yang tinggi serta kelewatan pemindahan data yang begitu perlahan sehingga amat menjengkelkan.

Dalam ekosistem moden Google Cloud (GCP, Google Cloud), terdapat satu gabungan emas peringkat korporat yang boleh dianggap sebagai contoh teladan:

Gunakan Artifact Registry untuk mengurus aset kontena, bersama-sama dengan GKE bagi pelaksanaan penyusunan dan penjadualan kontena secara automatik sepenuhnya.

Kehebatan luar biasa kedua-duanya terletak pada

Kebenaran lapisan bawah disepadukan secara semula jadi (berdasarkan IAM)

。 Anda tidak perlu lagi menyediakan sebarang K8s Secret yang rumit; nod GKE mampu memuat turun imej dalam masa beberapa saat serta melengkapkan kemas kini bergulir dengan kadar kelajuan rangkaian dalaman yang sangat selamat.

Hari ini kita tidak akan membincangkan teori teragih yang rumit, malah menolak sebarang jargon rasmi. Bermula terus dari tahap asas, panduan langkah demi langkah ini akan membimbing anda untuk mengemas kini sebuah aplikasi web dan menerapkannya dengan kukuh ke dalam kluster pengeluaran GKE mengikut piawaian industri syarikat gergasi.

Peringkat pertama: Pemecahan mendalam, “Model Dunia Tiga Dimensi” bagi penghantaran berasaskan awan asli

Sebelum mula menaip arahan, anda perlu terlebih dahulu memahami dengan jelas keseluruhan kitaran hayat aplikasi, dari kod sehingga pelancaran ke rangkaian awam. Satu set lengkap aliran kerja peringkat korporat terdiri daripada tiga posisi utama berikut yang disepadukan secara rapat:

Dermaga Kontena (Pendaftaran Artefak): Perpustakaan produk khusus generasi baharu GCP (yang telah sepenuhnya menggantikan GCR lama). Ia bertanggungjawab menyimpan versi imej Docker yang telah anda bungkuskan, serta dilengkapi dengan fungsi pengimbasan kerentanan pada tahap syarikat gergasi Google.

Komputasi enjin (kluster GKE): Perkhidmatan K8s yang dihoskan oleh Google. Anda tidak perlu mengurus nod Master pada lapisan bawah; cukup nyatakan melalui fail YAML berbentuk deklaratif: “Saya mahu menjalankan 3 buah replika kontena Web”, dan ia akan secara automatik memastikan kestabilannya di latar belakang.

Pintu gerbang keselamatan (peranan IAM): Inilah kunci kepada penyepaduan tanpa kata laluan. Kami akan menetapkan satu identiti khusus (Akaun Perkhidmatan) kepada nod-nod GKE, supaya ia secara semula jadi mempunyai keistimewaan untuk membaca imej dalam Artifact Registry.

Peringkat kedua: Persediaan persekitaran – Membuka wilayah infrastruktur di GCP

Sila pastikan anda telah memasang dan mengkonfigurasi pada sistem setempat anda.

Baiklah

gcloud

CLI (alat baris arahan Google Cloud) dan enjin Docker.

1. Mengaktifkan API teras (langkah pertama dalam pembukaan tanah baharu)

Di terminal, taipkan arahan berikut untuk mengaktifkan sepenuhnya enjin asas Google Cloud yang ingin kita gunakan:

Bash

gcloud services enable container.googleapis.com artifactregistry.googleapis.com

2. Mewujudkan perpustakaan imej persendirian (Artifact Registry)

Kami berada di wilayah Taiwan, China (

asia-timur1

,kelewatan akses dalam negara sangat rendah) Membina sebuah perpustakaan khas untuk Docker, ID projek andaian dipanggil

projek-gke-saya

:

Bash

gcloud artifacts repositories create gke-repo \

--format-repositori=docker

--lokasi=asia-timur1

--keterangan="Rangkaian Imej Pengeluaran GKE"

3. Mencipta kluster GKE terurus (mod Autopilot)

Bagi perusahaan kecil dan sederhana atau pasukan yang tidak mahu disusahkan oleh penalaan rumit K8s,

Sangat disyorkan untuk memilih mod Autopilot (pemanduan automatik)

。 Anda tidak perlu mengurus tugas penjadualan CPU dan memori pada nod; Google akan melaksanakan pengaturan skala automatik secara penuh berdasarkan penyenaraian Pod anda, serta hanya mengenakan bayaran mengikut penggunaan sebenar Pod yang sedang dijalankan.

Bash

gcloud container clusters create-auto prod-gke-cluster \

--lokasi=asia-timur1

(Menambahkan kelompok mengambil masa kira-kira 3~ 5 minit, minum secawan kopi dan tunggu dengan sabar.)

Peringkat ketiga: Latihan praktikal pertama – “Kontena” kod setempat dan pemindahan aliran ke awan

Kami andaikan bahawa anda mempunyai sebuah aplikasi web yang sangat ringkas di komputer tempatan anda (sama ada menggunakan Node.js atau Python), yang sedang mendengar pada port setempat.

8080

Port.

1. Menulis Dockerfile tahap pengeluaran yang serius

Di direktori pangkal projek, cipta satu yang baharu

Dockerfile

:

Dockerfile

# Menggunakan imej asas rasmi yang ringan

DARIPADA alpine:3.18

# Memasang kebergantungan masa run (contoh menggunakan Python)

JALAN apk add --no-cache python3 py3-pip

KADAR KERJA /app

CO

PY . /app

# Pendedahan port perniagaan

Pendedahan 8080

# Mulaikan perkhidmatan web

CMD ["python3", "-m", "http.server", "8080"]

2. Pengikatan kod rahsia: Konfigurasi pengesahan identiti antara Docker setempat dengan GCP

Ramai orang mengalami ralat semasa melakukan penstriman di sini kerana Docker secara lalai tidak mengenali perpustakaan GCP. Kita perlu membolehkan

gcloud

Masukkan kredensial keselamatan terus ke dalam fail konfigurasi Docker setempat:

Bash

gcloud auth configure-docker asia-east1-docker.pkg.dev

3. Mengkompil, memberi tag dan melakukan siaran kuasa tinggi

Mengikut spesifikasi piawai Artifact Registry, berikan imej tersebut sebuah nama yang standard dengan laluan awan, kemudian hantar (push) ke sana:

Bash

# Mengkompil dan mengemas kini sebagai versi v1.0

docker build -t asia-east1-docker.pkg.dev/my-gke-project/gke-repo/my-web-app:v1.0.

# Berusaha sepenuhnya untuk memindahkan trafik ke awan

docker push asia-east1-docker.pkg.dev/my-gke-project/gke-repo/my-web-app:v1.0

Setelah bar kemajuan selesai, buka halaman Artifact Registry dalam konsol GCP, dan anda akan mendapati imej tersebut telah tersimpan dengan kukuh di awan, sementara Google secara automatik sedang menjalankan pengimbasan kelemahan sistem operasi di latar belakang.

Peringkat keempat: Latihan praktikal kedua – Pelaksanaan kluster GKE melalui YAML berbentuk deklaratif

Cerminan telah dimuat naik ke awan, bagaimana cara membolehkan GKE menghidupkannya agar menjadi kontena (Pod) yang benar-benar boleh menyediakan perkhidmatan? Dalam dunia K8s, kita tidak menaip arahan melalui terminal, kita menulis

Fail konfigurasi YAML

Sambungkan komputer setempat ke kluster GKE yang baru sahaja dibina, dan ambil kredensial pengesahan:

Bash

gcloud container clusters get-credentials prod-gke-cluster --location=asia-east1

Cipta sebuah fail baharu di tempat ini yang dinamakan

Deployment. yaml

Fail tersebut, tampalkan kod deklaratif berikut yang mematuhi spesifikasi rangka kerja transnasional syarikat besar:

YAML

versi API: apps/v1

jenis: Pelaksanaan

metadata:

nama: pelaksanaan-apan-web

label:

aplikasi: web-se

perkhidmatan

spesifikasi:

salinan: 3 # Tetapkan lapisan ketersediaan tinggi: kekalkan 3 salinan kontena, apabila satu rosak, yang baharu akan dimulakan secara automatik

Sellector:

padananLabel:

aplikasi: perkhidmatan-web

Template:

metadata:

label:

aplikasi: perkhidmatan-web

spesifikasi:

Containers:

-Name: web-container

# Arahkan dengan tepat jalan cermin yang baru anda tolak ke Artifact Registry

imej: asia-east1-docker.pkg.dev/my-gke-project/gke-repo/my-web-app:v1.0

sukan:

-port kontena: 8080

sumber: # Hadkan dengan ketat spesifikasi sumber bagi mengelakkan kod berniat jahat daripada memboroskan keseluruhan kluster

Limits:

cpu: "500m"

Memori: "512Mi"

permintaan:

Cpu: "200m"

Memori: "256Mi"

---

ApiVersion: v1

Kind: Perkhidmatan

metadata:

Name: web-app-lb-service

spesifikasi:

Type: LoadBalancer # Biarkan GKE secara automatik pergi ke bahagian bawah rangkaian Google untuk memohon IP pengimbang beban rangkaian awam global pertahanan tinggi

Sellector:

aplikasi: perkhidmatan-web

sukan:

-protokol: TCP

port: 80 # Port pintu gerbang awam bagi pelayan hadapan

targetPort: 8080 # Merujuk kepada port sebenar di dalam kontena

Di terminal, jalankan arahan pelaksanaan satu klik dan serahkan pelan reka bentuk ini kepada GKE:

Bash

Kubectl apply -f deployment.yaml

Tahap kelima: momen menyaksikan pengesahan keajaiban-dalam talian dan latihan pemutus litar kesalahan

Selepas pelaksanaan selesai, kami menggunakan “perintah Tianyan” K8s untuk memantau kelahiran infrastruktur:

Bash

kubectl dapat p

Od

Anda akan melihat 3 hijau di skrin

Running

Pod status.

Inilah intinya: Dalam proses ini, kami tidak mempunyai kata laluan penarik cermin (ImagePullSecret). GKE bergantung pada kebenaran IAM asli untuk secara langsung menyeret cermin peribadi di Artifact Registry dengan selamat!

Seterusnya, periksa pintu extranet pengimbangan beban awam yang diberikan oleh Google kepada kami:

Bash

kubectl dapatkan perkhidmatan web-app-lb-service

Anda akan melihat

EXTERNAL-IP

IP statik rangkaian awam seperti emas muncul di lajur (seperti

34.120.x.x

)。 Ketik IP ini di penyemak imbas, halaman web akan dibuka dalam beberapa saat, dan perkhidmatan web asli awan anda secara rasmi akan terkenal!

"Latihan sekering daging" yang mensimulasikan persekitaran pengeluaran

Bagi menguji keupayaan pemulihan diri GKE, kami sengaja melakukan kerosakan di latar belakang. Padam secara manual salah satu bekas yang sedang berjalan (Pod):

Bash

Kubectl delete pod web-app-deployment-xxxxxx-xxxxx

Sebaik sahaja anda menghapusnya, anda memuat semula laman web, laman web

Tiada jeda dan gangguan sama sekali

(Kerana 2 salinan yang lain membawa lalu lintas). Apa yang lebih mengagumkan ialah apabila anda melaksanakannya lagi

Kubectl get pods

Apabila anda mendapati bahawa pod baru telah ditarik secara automatik dalam beberapa saat dan memasuki keadaan sihat. Ini adalah kekuatan kad truf dari ReplicaSet penyelenggaraan automatik GKE.

Tahap keenam: sejarah mengelakkan darah dan air mata perniagaan awan multinasional

Apabila set penyelesaian ini berjaya dilaksanakan, anda sudah pun melangkau satu halangan terbesar dalam teknologi asli awan. Tetapi untuk bertahan dalam persekitaran serentak tinggi peringkat perusahaan yang sebenar, sebagai arkitek, anda mesti segera memperkuat konfigurasi untuk mengelakkan dua lubang besar berikut:

1. Jangan sekali-kali menggunakan

Latest

Label (punca segala kejahatan dalam pengurusan pelancaran)

Ramai pasukan memilih jalan mudah, setiap kali mengkompilasi imej secara lokal mereka akan menandakannya dengan

aplikasi-web-saya:terkini

Tekan label ke atas. Juga ditulis dalam YAML

Gambar:. ..: Latest

Bencana berlaku: Apabila kod dalam talian keluar dari bug dan perlu digulung kembali dengan segera, anda akan mendapati bahawa semua versi sejarah telah dihanyutkan oleh beberapa versi. Selain itu, pada peringkat asas K8s terdapat mekanisme cache imej. Jika ia mendapati bahawa imej latest sudah pun wujud secara setempat, maka walaupun anda telah memuat naik kod baharu, ia mungkin akan mengambil jalan mudah dengan terus menggunakan semula imej lama yang ada di lokasi, menyebabkan versi baharu anda langsung tidak dapat diterbitkan.

Penyelesaian standard Dachang: dengan tegas memotong penggunaan latest. Setiap kali anda menolak aliran, anda mesti menggunakan nombor versi semantik (seperti v1.0, v1.1), atau

Gunakan ID Commit Git secara langsung. Semasa versi baru dilancarkan, ubah nombor versi dalam YAML untuk membolehkan GKE melakukan kemas kini bergulir yang sempurna (Rolling Update), dan mewujudkan pelepasan perniagaan tanpa henti.

2. Pemecut automatik Artifact Registry yang tersekat (pengurusan kitaran hidup)

Sekiranya pasukan pengembangan dilengkapi dengan saluran automasi CI/CD (seperti GitHub Actions, GitLab CI), setiap kali kod digabungkan, beberapa GB cermin akan dihasilkan secara automatik ke palam Artifact Registry. Sekiranya anda mengabaikannya, ribuan cermin sejarah akan terkumpul di gudang dalam beberapa bulan, dan bil simpanan awan Google pada akhir bulan secara langsung dapat membuat bos sakit.

Operasi penjimatan wang tegar: Dalam tetapan gudang Artifact Registry, hidupkan "Clean Policies".

Peraturan pemadaman automatik aset sejuk: Konfigurasikan satu peraturan seperti berikut: “Bagi imej sementara peringkat pertengahan yang tiada sebarang tag (Untagged), jika melebihi 7 hari, ia akan terus dimusnahkan secara fizikal”; atau “Bagi imej yang mempunyai tag versi, hanya kekalkan 20 versi terkini sahaja, manakala versi lama akan dipadamkan secara automatik”. Biarkan sistem membantu anda berpisah secara automatik, yang dapat membantu aset awan syarikat menjimatkan kos penyimpanan terbiar yang tinggi.

Ringkasan

Berdasarkan GCP Artifact Registry dan GKE untuk membina contoh penyebaran awan asli, inti pati industri sebenarnya terletak pada enam belas perkataan:

Versi cermin dikunci, aliran tidak rahsia dan selamat, salinan menyatakan kestabilan, dan gudang dibersihkan secara automatik

Melalui gabungan emas gelung tertutup ini, anda benar-benar bebas dari konfigurasi persekitaran pelayan yang rumit, pembinaan pengimbangan beban rangkaian yang kompleks, dan penatap fizikal untuk mengelakkan waktu henti. Kembalikan semua tenaga anda ke kod dan perniagaan itu sendiri. Di atas infrastruktur awan teratas Google di dunia, aplikasi anda akan mempunyai fleksibiliti tanpa had dan keyakinan pengeluar teratas dengan pemulihan bencana automatik.

gcloud services enable container.googleapis.com artifactregistry.googleapis.com

2. Mewujudkan perpustakaan imej persendirian (Artifact Registry)

Kami berada di wilayah Taiwan, China (

asia-timur1

,kelewatan akses dalam negara sangat rendah) Membina sebuah perpustakaan khas untuk Docker, ID projek andaian dipanggil

projek-gke-saya

:

Bash

gcloud artifacts repositories create gke-repo \

--format-repositori=docker

--lokasi=asia-timur1

--huraian

Ption = "GKE Production Images Repository"

3. Mencipta kluster GKE terurus (mod Autopilot)

Bagi perusahaan kecil dan sederhana atau pasukan yang tidak mahu disusahkan oleh penalaan rumit K8s,

Sangat disyorkan untuk memilih mod Autopilot (pemanduan automatik)

。 Anda tidak perlu mengurus tugas penjadualan CPU dan memori pada nod; Google akan melaksanakan pengaturan skala automatik secara penuh berdasarkan penyenaraian Pod anda, serta hanya mengenakan bayaran mengikut penggunaan sebenar Pod yang sedang dijalankan.

Bash

gcloud container clusters create-auto prod-gke-cluster \

--lokasi=asia-timur1

(Menambahkan kelompok mengambil masa kira-kira 3~ 5 minit, minum secawan kopi dan tunggu dengan sabar.)

Peringkat ketiga: Latihan praktikal pertama – “Kontena” kod setempat dan pemindahan aliran ke awan

Kami andaikan bahawa anda mempunyai sebuah aplikasi web yang sangat ringkas di komputer tempatan anda (sama ada menggunakan Node.js atau Python), yang sedang mendengar pada port setempat.

8080

Port.

1. Menulis Dockerfile tahap pengeluaran yang serius

Di direktori pangkal projek, cipta satu yang baharu

Dockerfile

:

# Menggunakan imej asas rasmi yang ringan

DARIPADA alpine:3.18

# Memasang kebergantungan masa run (contoh menggunakan Python)

JALAN apk add --no-cache python3 py3-pip

KADAR KERJA /app

COPY. /app

# Pendedahan port perniagaan

Pendedahan 8080

# Mulaikan perkhidmatan web

CMD ["python3", "-m", "http.server", "8080"]

2. Pengikatan kod rahsia: Konfigurasi pengesahan identiti antara Docker setempat dengan GCP

Ramai orang mengalami ralat semasa melakukan penstriman di sini kerana Docker secara lalai tidak mengenali perpustakaan GCP. Kita perlu membolehkan

gcloud

Masukkan kredensial keselamatan terus ke dalam fail konfigurasi Docker setempat:

Bash

gcloud auth configure-docker asia-east1-docker.pkg.dev

3. Mengkompil, memberi tag dan melakukan siaran kuasa tinggi

Mengikut spesifikasi piawai Artifact Registry, berikan imej tersebut sebuah nama yang standard dengan laluan awan, kemudian hantar (push) ke sana:

Bash

# Mengkompil dan mengemas kini sebagai versi v1.0

Docker build -t asia-east1-docker.pkg.dev/my-gke-project/gke-repo/my-web-app:

V1.0.

# Berusaha sepenuhnya untuk memindahkan trafik ke awan

docker push asia-east1-docker.pkg.dev/my-gke-project/gke-repo/my-web-app:v1.0

Setelah bar kemajuan selesai, buka halaman Artifact Registry dalam konsol GCP, dan anda akan mendapati imej tersebut telah tersimpan dengan kukuh di awan, sementara Google secara automatik sedang menjalankan pengimbasan kelemahan sistem operasi di latar belakang.

Peringkat keempat: Latihan praktikal kedua – Pelaksanaan kluster GKE melalui YAML berbentuk deklaratif

Cerminan telah dimuat naik ke awan, bagaimana cara membolehkan GKE menghidupkannya agar menjadi kontena (Pod) yang benar-benar boleh menyediakan perkhidmatan? Dalam dunia K8s, kita tidak menaip arahan melalui terminal, kita menulis

Fail konfigurasi YAML

Sambungkan komputer setempat ke kluster GKE yang baru sahaja dibina, dan ambil kredensial pengesahan:

Bash

gcloud container clusters get-credentials prod-gke-cluster --location=asia-east1

Cipta sebuah fail baharu di tempat ini yang dinamakan

penempatan.yaml

Fail tersebut, tampalkan kod deklaratif berikut yang mematuhi spesifikasi rangka kerja transnasional syarikat besar:

YAML

versi API: apps/v1

jenis: Pelaksanaan

metadata:

nama: pelaksanaan-apan-web

label:

aplikasi: perkhidmatan-web

spesifikasi:

salinan: 3 # Tetapkan lapisan ketersediaan tinggi: kekalkan 3 salinan kontena, apabila satu rosak, yang baharu akan dimulakan secara automatik

pemilih:

padananLabel:

aplikasi: perkhidmatan-web

templat:

metadata:

label:

aplikasi: perkhidmatan-web

spesifikasi:

kontena:

-nama: bekas-web

# Tujukan dengan tepat kepada laluan imej yang baru sahaja anda hantar ke Artifact Registry

imej: asia-east1-docker.pkg.dev/my-gke-project/gke-repo/my-web-app:v1.0

sukan:

-port kontena: 8080

Sumber: # Hadkan spesifikasi sumber dengan ketat untuk mengelakkan dihimpit oleh kod jahat

Kluster kering

had:

cpu: "500m"

ingatan: "512Mi"

permintaan:

cpu: "200m"

ingatan: "256Mi"

---

versiAPI: v1

jenis: Perkhidmatan

metadata:

nama: perkhidmatan-pengimbang-beban-laman-web

spesifikasi:

jenis: Pengeimbang Beban # Membenarkan GKE secara automatik memohon satu alamat IP penyeimbang beban awam global yang dilindungi daripada ancaman tinggi di rangkaian asas Google

pemilih:

aplikasi: perkhidmatan-web

sukan:

-protokol: TCP

port: 80 # Port pintu gerbang awam bagi pelayan hadapan

targetPort: 8080 # Merujuk kepada port sebenar di dalam kontena

Di terminal, jalankan arahan pelaksanaan satu klik dan serahkan pelan reka bentuk ini kepada GKE:

Bash

kubectl apply -f deployment.yaml

Peringkat kelima: Masa untuk menyaksikan keajaiban—pengesahan pelancaran dan latihan pemutusan ralat

Selepas pelaksanaan selesai, kami menggunakan “perintah Tianyan” K8s untuk memantau kelahiran infrastruktur:

Bash

kubectl dapatkan pod

Anda akan melihat tiga warna hijau menyala di skrin.

Berlari

Pod dalam keadaan tertentu.

Bahagian pentingnya ialah: Dalam proses ini, kami tidak menyediakan sebarang kata laluan pemgambilan imej (ImagePullSecret), namun GKE menggunakan kebenaran IAM asli untuk memuat turun dengan selamat imej peribadi daripada Artifact Registry!

Seterusnya, semak pintu luar penyeimbang beban awam yang diperuntukkan oleh Google kepada kita:

Bash

kubectl dapatkan perkhidmatan web-app-lb-service

Anda akan melihat

IP-LUARAN

Dalam ruangan tersebut muncul sebuah alamat IP statik awam yang berharga seperti emas (contohnya

34.120.x.x

)。 Taip IP ini di pelayar, laman web akan terbuka serta-merta—perkhidmatan web berasaskan awan anda kini secara rasmi mendapat perhatian umum!

Latihan “Canggah Daging” yang mensimulasikan persekitaran pengeluaran

Bagi menguji keupayaan pemulihan diri GKE, kami sengaja melakukan kerosakan di latar belakang. Padamkan secara manual salah satu kongten (Pod) yang sedang berjalan:

Bash

kubectl delete pod web-app-deployment-xxxxxx-xxxxx

Sebaik sahaja anda menghapusnya, anda pergi untuk menyikatnya lagi

Laman web baru, laman web

Sama sekali tiada lag atau gangguan

(Ini kerana 2 replika yang lain sedang menanggung trafik). Yang lebih menakjubkan lagi, apabila anda melaksanakan semula

kubectl dapatkan pod

Pada ketika itu, anda akan mendapati bahawa sebuah Pod baharu telah secara automatik dinaikkan dalam masa beberapa saat dan berada dalam keadaan sihat. Inilah kehebatan utama GKE dalam penyelenggaraan automatik Set Replika yang bersifat deklaratif.

Peringkat keenam: Sejarah pahit dan pengalaman berharga mengelakkan jerangkap samar dalam perniagaan asli awan rentas sempadan

Apabila set penyelesaian ini berjaya dilaksanakan, anda sudah pun melangkau satu halangan terbesar dalam teknologi asli awan. Namun, untuk terus bertahan dalam persekitaran perusahaan sebenar yang mengalami kelakuan rintangan tinggi, sebagai arkitek, anda mesti segera melaksanakan pengukuhan lanjutan terhadap konfigurasi bagi mengelakkan dua perangkap tersembunyi utama berikut:

1. Tidak sekali-kali digunakan

terkini

Label (punca segala kejahatan dalam pengurusan pelancaran)

Ramai pasukan memilih jalan mudah, setiap kali mengkompilasi imej secara lokal mereka akan menandakannya dengan

aplikasi-web-saya:terkini

Tandai dinaikkan ke atas. Dalam YAML juga tertulis

imej:. ..:terkini

Bencana berlaku: Apabila terdapat pepijat dalam kod dalam talian yang memerlukan pemulangan segera, anda akan mendapati bahawa semua versi terdahulu telah digantikan oleh versi “terkini”. Selain itu, pada peringkat asas K8s terdapat mekanisme cache imej. Jika ia mendapati bahawa imej latest sudah pun wujud secara setempat, maka walaupun anda telah memuat naik kod baharu, ia mungkin akan mengambil jalan mudah dengan terus menggunakan semula imej lama yang ada di lokasi, menyebabkan versi baharu anda langsung tidak dapat diterbitkan.

Penyelesaian standard oleh syarikat besar: Tegas membuang penggunaan versi terkini. Setiap kali anda mendorong aliran, anda mesti menggunakan nombor versi semantik (seperti v1.0, v1.1), atau menggunakan ID Commit Git secara langsung. Apabila menerbitkan versi baharu, sila kemaskinikan nombor versi dalam fail YAML agar GKE dapat melaksanakan kemas kini bergulir (Rolling Update) secara lancar, sekali gus memastikan pelancaran versi tanpa sebarang tempoh henti perkhidmatan.

2. Kegagalan pemadaman automatik (pengurusan kitaran hidup) dalam Artifact Registry

Jika pasukan pembangunan telah menyediakan aliran kerja automatik CI/CD (seperti GitHub Actions, GitLab CI), setiap kali kod disepadukan, sebuah imej bersaiz beberapa gigabait akan secara automatik dijana dan dimasukkan ke dalam Artifact Registry. Jika tidak diendahkan, dalam beberapa bulan sahaja gudang akan dipenuhi beribu-ribu imej lama yang sudah tidak digunakan lagi, dan bil storan awan Google pada akhir bulan pasti akan membuat bos terasa sangat sakit hati.

Langkah penjimatan wang yang berkesan: Dalam tetapan stor Artifact Registry, aktifkan “Dasar Pembersihan (Cleanup Policies)”.

Peraturan pemadaman automatik aset sejuk: Konfigurasikan satu peraturan seperti berikut: “Bagi imej sementara peringkat pertengahan yang tiada sebarang tag (Untagged), jika melebihi 7 hari, ia akan terus dimusnahkan secara fizikal”; atau “Bagi imej yang mempunyai tag versi, hanya kekalkan 20 versi terkini sahaja, manakala versi lama akan dipadamkan secara automatik”. Biarkan sistem membantu anda berpisah secara automatik, yang dapat membantu aset awan syarikat menjimatkan

Bayaran simpanan terbiar yang tinggi.

Ringkasan

Berdasarkan GCP Artifact Registry dan GKE untuk membina contoh pelaksanaan berasaskan awan, inti pati utama pada peringkat industri sebenarnya terkandung dalam enam belas aksara:

Versi cermin dikunci, penarikan aliran tanpa kata laluan selamat, pengisytiharan salinan untuk mengekalkan kestabilan, storan dibersihkan secara automatik

Melalui gabungan emas gelung tertutup ini, anda benar-benar bebas dari konfigurasi persekitaran pelayan yang rumit, pembinaan pengimbangan beban rangkaian yang kompleks, dan penatap fizikal untuk mengelakkan waktu henti. Serahkan sepenuhnya tenaga anda kepada kod dan perniagaan itu sendiri; di atas infrastruktur asli awan bertaraf terkemuka dunia daripada Google, aplikasi anda akan memiliki kebolehubahsuaian tanpa had serta keupayaan pemulihan bencana automatik yang kukuh seperti sebuah syarikat gergasi ternama.

cloud
← 返回新闻中心