Men-deploy beban kerja Linux ke cluster target
Setelah memigrasikan beban kerja dari platform sumber, Anda dapat menggunakan artefak deployment yang dihasilkan oleh proses tersebut untuk men-deploy penampung beban kerja yang dimigrasikan ke cluster lain.
Kabin Skaffold menangani alur kerja untuk membangun, mendorong, dan men-deploy aplikasi Anda. Untuk mengetahui informasi selengkapnya, lihat Membuat dan men-deploy beberapa image menggunakan Skaffold.
Sebelum memulai
Sebelum men-deploy beban kerja, Anda harus melakukan hal berikut terlebih dahulu:
- Memigrasikan beban kerja menggunakan alat Migrate to Containers.
- Meninjau file pembuatan deployment.
Jika menjalankan penampung sistem lama, Anda harus menginstal dukungan runtime lama dengan
migctl
di cluster Anda:migctl setup install --runtime
Men-deploy beban kerja pada cluster pemrosesan
Anda dapat men-deploy beban kerja yang dimigrasikan di cluster yang sama seperti yang Anda gunakan untuk melakukan migrasi, yang disebut sebagai cluster pemrosesan Migrate to Containers. Pada umumnya, Anda tidak perlu melakukan konfigurasi tambahan pada cluster pemrosesan karena cluster sudah memerlukan akses baca/tulis ke registry Docker untuk melakukan migrasi.
Men-deploy pada cluster target menggunakan GCR sebagai registry Docker
Untuk memastikan bahwa cluster target memiliki akses ke Google Container Registry (GCR), buat secret Kubernetes yang berisi kredensial yang diperlukan untuk mengakses GCR:
Buat akun layanan untuk men-deploy migrasi seperti yang dijelaskan dalam artikel Membuat akun layanan untuk mengakses Container Registry dan Cloud Storage.
Proses ini mengharuskan Anda mendownload file kunci JSON bernama
m4a-install.json
.Buat rahasia Kubernetes yang berisi kredensial yang diperlukan untuk mengakses GCR:
kubectl create secret docker-registry gcr-json-key \ --docker-server=gcr.io --docker-username=_json_key --docker-password="$(cat ~/m4a-install.json)" \ --docker-email=account@project.iam.gserviceaccount.com
dengan:
docker-registry
menentukan nama rahasia Kubernetes, gcr-json-key dalam contoh ini.docker-server=gcr.io
menentukan GCR sebagai server.docker-username=_json_key
menentukan bahwa nama pengguna terdapat dalam file kunci JSON.docker-password
menentukan untuk menggunakan sandi dari file kunci JSON.docker-email
menentukan alamat email akun layanan.
Tetapkan rahasia Kubernetes dengan:
Mengubah nilai
imagePullSecrets
default:kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'
Mengedit file
deployment_spec.yaml
untuk menambahkan nilaiimagePullSecrets
ke definisispec.template.spec
, seperti ditunjukkan di bawah ini:spec: containers: - image: gcr.io/PROJECT_ID/mycontainer-instance:v1.0.0 name: mycontainer-instance ... volumes: - hostPath: path: /sys/fs/cgroup type: Directory name: cgroups imagePullSecrets: - name: gcr-json-key
Men-deploy pada cluster target menggunakan registry Docker dengan autentikasi dasar
Jika Anda menggunakan registry Docker untuk menyimpan image migrasi, registry tersebut harus mendukung autentikasi dasar menggunakan nama pengguna dan sandi. Karena ada banyak cara untuk mengonfigurasi koneksi hanya baca ke registry Docker, Anda harus menggunakan metode yang sesuai dengan platform cluster dan registry Docker Anda.
Menerapkan file YAML deployment yang dihasilkan
Gunakan kubectl
untuk menerapkan spesifikasi deployment ke cluster target Anda, seperti cluster produksi.
kubectl
Pastikan cluster target memiliki akses baca ke registry image Docker seperti yang dijelaskan di atas dalam Memastikan cluster target memiliki akses baca ke registry image Docker.
Deploy container:
kubectl apply -f deployment_spec.yaml
Setelah Anda menyelesaikan pengujian validasi pada beban kerja yang dimigrasikan untuk memastikan bahwa beban kerja yang dimigrasikan berfungsi dengan benar, Anda harus menghapus migrasi untuk mengosongkan resource. Lihat Menghapus migrasi untuk informasi selengkapnya.
Menghapus migrasi
Setelah memvalidasi dan menguji beban kerja yang dimigrasikan untuk memastikan bahwa beban kerja tersebut berfungsi dengan benar, Anda harus menghapus migrasi. Menghapus migrasi akan mengosongkan semua resource yang digunakan oleh migrasi.
migctl
Hapus migrasi yang telah selesai menggunakan perintah berikut:
migctl migration delete MIGRATION_NAME
Dengan MIGRATION_NAME adalah nama migrasi.
Konsol
Buka halaman Migrate to Containers di Konsol Google Cloud.
Klik tab Migrasi untuk menampilkan tabel yang berisi migrasi yang tersedia.
Untuk menghapus migrasi, klik ikon sampah,
, di sisi kanan tabel, lalu pilih Hapus migrasi.
Langkah selanjutnya
- Pelajari cara menyelesaikan pembaruan gambar pascamigrasi.