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:

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:

  1. 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.

  2. 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.
  3. 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 nilai imagePullSecrets ke definisi spec.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

  1. 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.

  2. Deploy container:

    kubectl apply -f deployment_spec.yaml
  3. 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

  1. Hapus migrasi yang telah selesai menggunakan perintah berikut:

    migctl migration delete MIGRATION_NAME

    Dengan MIGRATION_NAME adalah nama migrasi.

Konsol

  1. Buka halaman Migrate to Containers di Konsol Google Cloud.

    Buka halaman Migrate to Containers

  2. Klik tab Migrasi untuk menampilkan tabel yang berisi migrasi yang tersedia.

  3. Untuk menghapus migrasi, klik ikon sampah, , di sisi kanan tabel, lalu pilih Hapus migrasi.

Langkah selanjutnya