Membuat rencana migrasi

Anda mulai memigrasikan VM dengan membuat migrasi. Hal ini menghasilkan objek rencana migrasi. Peninjauan dan penyesuaian lebih lanjut atas rencana yang dihasilkan biasanya diperlukan sebelum melanjutkan untuk menjalankan migrasi.

Migrasi adalah objek pusat yang Anda gunakan untuk melakukan tindakan migrasi, memantau aktivitas dan status migrasi dengan migctl dan Konsol Google Cloud. Objek migrasi diimplementasikan sebagai Definisi Resource Kustom (CRD) Kubernetes, dan dimuat bersama dengan resource tambahan seperti PersistentVolumeClaim Kubernetes dalam rencana migrasi.

Sebelum memulai

  • Tambahkan sumber migrasi.
  • Temukan ID instance virtual machine (VM) seperti yang dijelaskan di bagian berikut.
  • Saat menggunakan Compute Engine sebagai sumber migrasi, hentikan VM sumber sebelum Anda membuat migrasi. Setelah objek migrasi dibuat, Anda dapat memulai ulang VM.

Temukan ID VM

Anda dapat menemukan ID VM dengan menjelajahi inventaris VM, atau dengan menemukannya secara manual, bergantung pada jenis sumber.

Menemukan ID menggunakan inventaris VM

  • Saat menggunakan migctl, Anda dapat melihat daftar VM dengan menjalankan perintah berikut:

    migctl source list-vms <name> [ --refresh ] [ --wide ]
    
  • Saat menggunakan Google Cloud Console, cari jenis sumber, dan Anda akan menemukan tabel yang mencantumkan semua VM dari jenis tersebut.

Menemukan ID secara manual

Anda dapat menemukan ID VM secara manual berdasarkan jenis sumber:

Compute Engine

VMware

  • vmId -- ID atau nama VM yang akan dimigrasikan seperti yang diketahui di platform sumber. Anda dapat menggunakan salah satu nilai berikut.

    • Nama VM. Jika Anda yakin bahwa setiap nama VM itu unik di seluruh deployment VMware Anda, nama VM yang sederhana akan berfungsi. Jika nama VM mungkin diduplikasi, gunakan ID VM seperti yang dijelaskan di bawah ini.

      Anda bisa mendapatkan nama VM dari klien web vSphere, seperti ditunjukkan dalam gambar berikut.

    • ID VM dari vSphere (juga disebut MoRef). Ini dapat dilihat dari URL klien web vSphere saat memilih VM.

      MoRef ada di URL dari vSphere

      Anda juga dapat menemukan MoRef dengan menggunakan PowerCLI.

Persyaratan penamaan

Anda menetapkan nama untuk migrasi saat membuatnya di Migrate to Containers. Nama ini harus memenuhi persyaratan berikut:

  • Berisi maksimal 63 karakter.
  • Hanya berisi karakter alfanumerik huruf kecil atau "-" (tanda hubung).
  • Mulailah dengan karakter alfanumerik.
  • Akhiri dengan karakter alfanumerik.

Workload yang didukung

Buat migrasi

Workload Linux dan Windows

Buat migrasi menggunakan alat migctl atau konsol Google Cloud.

migctl

  1. Menghentikan VM. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  2. Buat migrasi:

    migctl migration create my-migration --source my-src --vm-id my-id --type server-type

    Dengan --vm-id, Anda menentukan nama instance VM seperti yang ditampilkan di konsol jenis sumber. Dengan --type adalah --type=windows-iis-container atau linux-system-container.

Konsol

  1. Jika sumber migrasinya adalah VM Compute Engine, hentikan VM Compute Engine. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

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

    Buka halaman Migrate to Containers

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

  4. Klik Buat Migrasi.

  5. Masukkan Nama migrasi.

  6. Pilih sumber migrasi yang Anda buat di Menambahkan sumber migrasi.

  7. Tetapkan Workload type sebagai Image Based System Container atau container Windows IIS.

  8. Masukkan ID VM sumber. Baca bagian Sebelum memulai untuk mengetahui informasi selengkapnya tentang cara menentukan ID VM.

  9. Klik Buat Migrasi.

    Setelah pembuatan migrasi selesai, kolom Status akan menampilkan Rencana migrasi yang dibuat.

CRD

  1. Untuk menentukan migrasi, buat file Migrasi bernama my-migration.yaml.

    Dalam file ini, kolom name di bagian sourceProviderRef menentukan nama SourceProvider yang dibuat sebelumnya dan kolom sourceId menentukan nama instance Compute Engine. Type akan menjadi --type=windows-iis-container atau linux-system-container.

    apiVersion: anthos-migrate.cloud.google.com/v1
    kind: Migration
    metadata:
     name: my-migration
     namespace: v2k-system
    spec:
     type: linux-system-container
     sourceSnapshotTemplate:
       spec:
         sourceProviderRef:
           name: my-ce-src
         sourceId: my-id
  2. Jika Anda memigrasikan VM Compute Engine, hentikan VM tersebut. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  3. Terapkan file:

    kubectl apply -f my-migration.yaml

Workload Tomcat

Menentukan parameter Tomcat

Anda perlu menentukan nilai untuk CATALINA_BASE dan CATALINA_HOME secara manual.

migctl

  1. Hentikan VM Compute Engine. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  2. Buat migrasi:

    migctl migration create my-migration --source my-ce-src --vm-id my-id
    --type tomcat-container --parameters catalina-base=/catalina/base/path1:/catalina/base/path2,catalina-home=/catalina/home/path/,java-version=11
    
    • --vm-id menentukan nama instance seperti yang ditampilkan di konsol layanan.
    • catalina-base menentukan daftar nilai CATALINA_BASE yang dipisahkan dengan titik dua.
    • catalina-home menentukan nilai CATALINA_HOME.
    • java-version adalah parameter opsional yang menentukan versi Java yang akan digunakan oleh penampung.

CRD

  1. Untuk menentukan migrasi, buat file Migrasi bernama my-migration.yaml.

    Dalam file ini, tetapkan kolom berikut:

    • sourceProvider: menentukan nama SourceProvider yang dibuat sebelumnya.
    • sourceId: menentukan nama instance VM Compute Engine.
    • parameters: menetapkan parameter khusus untuk workload Tomcat.

    Berikut adalah contoh file migrasi dengan nilai kolom yang ditetapkan:

    apiVersion: anthos-migrate.cloud.google.com/v1
    kind: Migration
    metadata:
     name: my-migration
     namespace: v2k-system
    spec:
     type: tomcat-container
     sourceSnapshotTemplate:
       spec:
         sourceProviderRef:
           name: my-ce-src
         sourceId: my-id
         parameters:
         - name: catalina-base
           value: /opt/tomcat
         - name: catalina-home
           value: /opt/tomcat
  2. Jika Anda memigrasikan VM Compute Engine, hentikan VM tersebut. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  3. Terapkan file:

    kubectl apply -f my-migration.yaml

Workload tradisional WebSphere

Tentukan WAS_HOME

Variabel lingkungan WAS_HOME menentukan lokasi penginstalan WAS tradisional, seperti /opt/IBM/WebSphere/AppServer/. Migrate to Containers menggunakan nilai ini saat Anda membuat migrasi untuk menjalankan skrip yang mengambil informasi tentang aplikasi dan menentukan jalur profil aplikasi. Jika Migrate to Containers gagal menemukan folder penginstalan, Anda dapat menetapkan nilai WAS_HOME.

migctl

  1. Menghentikan VM. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  2. Buat migrasi:

    migctl migration create my-migration --source my-was-src --vm-id my-id
    --type websphere-traditional-container --parameters was-home=/opt/IBM/WebSphere/AppServer/
    

    Dengan --vm-id, Anda menentukan nama instance seperti yang ditampilkan di konsol layanan.

CRD

  1. Untuk menentukan migrasi, buat file Migrasi yang disebut my-migration.yaml.

    Dalam file ini, tetapkan kolom berikut:

    • sourceProvider: menentukan nama SourceProvider yang dibuat sebelumnya.
    • sourceId: menentukan nama instance VM Compute Engine.
    • parameters: menetapkan parameter khusus untuk workload WebSphere.

    Berikut adalah contoh file migrasi dengan nilai kolom yang ditetapkan:

    apiVersion: anthos-migrate.cloud.google.com/v1
    kind: Migration
    metadata:
     name: my-migration
     namespace: v2k-system
    spec:
     type: websphere-traditional-container
     sourceSnapshotTemplate:
       spec:
         sourceProviderRef:
           name: my-ce-src
         sourceId: my-id
         parameters:
         - name: was_home
           value: /opt/IBM/WebSphere/AppServer/
  2. Jika Anda memigrasikan VM Compute Engine, hentikan VM tersebut. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  3. Terapkan file:

    kubectl apply -f my-migration.yaml

Workload JBoss

Buat migrasi menggunakan alat migctl atau konsol Google Cloud.

migctl

  1. Menghentikan VM. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  2. Buat migrasi:

    migctl migration create my-migration --source my-src --vm-id my-id --type=jboss-container --parameters jboss-home=/opt/jboss

    Dengan --vm-id, Anda menentukan nama instance VM seperti yang ditunjukkan di konsol jenis sumber.

Konsol

  1. Jika sumber migrasinya adalah VM Compute Engine, hentikan VM Compute Engine. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

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

    Buka halaman Migrate to Containers

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

  4. Klik Buat Migrasi.

  5. Masukkan Nama migrasi.

  6. Pilih sumber migrasi yang Anda buat di Menambahkan sumber migrasi.

  7. Tetapkan Workload type sebagai container JBoss.

  8. Masukkan Instance Name sumber. Lihat Sebelum memulai untuk mengetahui informasi selengkapnya tentang cara menentukan Nama Instance.

  9. Setel parameter JBOSS_HOME, gunakan jalur penginstalan JBoss.

  10. Klik Buat Migrasi.

    Setelah pembuatan migrasi selesai, kolom Status akan menampilkan Rencana migrasi yang dibuat.

CRD

  1. Untuk menentukan migrasi, buat file Migrasi yang bernama my-migration.yaml.

    Dalam file ini, kolom name di bagian sourceProviderRef menentukan nama SourceProvider yang dibuat sebelumnya dan kolom sourceId menentukan nama instance Compute Engine. Untuk kolom type, masukkan jboss-container. Anda dapat menambahkan daftar parameter penemuan di bagian discoveryParameters. Setiap parameter discoveryParameters memiliki 2 properti: name dan value. Saat membuat migrasi JBoss, parameter discoveryParameters bernama jboss-home yang menentukan jalur beranda JBoss sebagai value-nya bersifat wajib.

    apiVersion: anthos-migrate.cloud.google.com/v1
    kind: Migration
    metadata:
      name: my-migration
      namespace: v2k-system
    spec:
      type: jboss-container2
      discoveryParameters:
      - name: jboss-home
        value: /path-to-jboss-home
      sourceSnapshotTemplate:
        spec:
          sourceProviderRef:
            name: my-ce-src
          sourceId: my-id
    
  2. Jika Anda memigrasikan VM Compute Engine, hentikan VM tersebut. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  3. Terapkan file:

    kubectl apply -f my-migration.yaml

Workload Apache

Buat migrasi menggunakan alat migctl atau konsol Google Cloud.

migctl

  1. Menghentikan VM. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  2. Buat migrasi:

    migctl migration create my-migration --source my-src --vm-id my-id --type=apache-container

    Dengan --vm-id, Anda menentukan nama instance VM seperti yang ditunjukkan di konsol jenis sumber.

Konsol

  1. Jika sumber migrasinya adalah VM Compute Engine, hentikan VM Compute Engine. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

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

    Buka halaman Migrate to Containers

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

  4. Klik Buat Migrasi.

  5. Masukkan Nama migrasi.

  6. Pilih sumber migrasi yang Anda buat di Menambahkan sumber migrasi.

  7. Tetapkan Workload type sebagai container Apache.

  8. Masukkan ID VM sumber. Baca bagian Sebelum memulai untuk mengetahui informasi selengkapnya tentang cara menentukan ID VM.

  9. Klik Buat Migrasi.

    Setelah pembuatan migrasi selesai, kolom Status akan menampilkan Rencana migrasi yang dibuat.

CRD

  1. Untuk menentukan migrasi, buat file Migrasi yang bernama my-migration.yaml.

    Dalam file ini, kolom name di bagian sourceProviderRef menentukan nama SourceProvider yang dibuat sebelumnya dan kolom sourceId menentukan nama instance Compute Engine. Untuk kolom type, masukkan apache-container.

    apiVersion: anthos-migrate.cloud.google.com/v1
    kind: Migration
    metadata:
     name: my-migration
     namespace: v2k-system
    spec:
     type: apache-container
     sourceSnapshotTemplate:
       spec:
         sourceProviderRef:
           name: my-ce-src
         sourceId: my-id
  2. Jika Anda memigrasikan VM Compute Engine, hentikan VM tersebut. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  3. Terapkan file:

    kubectl apply -f my-migration.yaml

Workload WordPress

Buat migrasi menggunakan alat migctl atau konsol Google Cloud.

migctl

  1. Menghentikan VM. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  2. Buat migrasi:

    migctl migration create my-migration --source my-src --vm-id my-id --type=wordpress-container

    Dengan --vm-id, Anda menentukan nama instance VM seperti yang ditunjukkan di konsol jenis sumber.

Konsol

  1. Jika sumber migrasinya adalah VM Compute Engine, hentikan VM Compute Engine. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

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

    Buka halaman Migrate to Containers

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

  4. Klik Buat Migrasi.

  5. Masukkan Nama migrasi.

  6. Pilih sumber migrasi yang Anda buat di Menambahkan sumber migrasi.

  7. Setel Workload type sebagai container WordPress.

  8. Masukkan ID VM sumber. Baca bagian Sebelum memulai untuk mengetahui informasi selengkapnya tentang cara menentukan ID VM.

  9. Klik Buat Migrasi.

    Setelah pembuatan migrasi selesai, kolom Status akan menampilkan Rencana migrasi yang dibuat.

CRD

  1. Untuk menentukan migrasi, buat file Migrasi yang bernama my-migration.yaml.

    Dalam file ini, kolom name di bagian sourceProviderRef menentukan nama SourceProvider yang dibuat sebelumnya dan kolom sourceId menentukan nama instance Compute Engine. Untuk kolom type, masukkan wordpress-container.

    apiVersion: anthos-migrate.cloud.google.com/v1
    kind: Migration
    metadata:
     name: my-migration
     namespace: v2k-system
    spec:
     type: wordpress-container
     sourceSnapshotTemplate:
       spec:
         sourceProviderRef:
           name: my-ce-src
         sourceId: my-id
  2. Jika Anda memigrasikan VM Compute Engine, hentikan VM tersebut. VM harus dihentikan agar Anda dapat membuat migrasi. Setelah migrasi selesai, Anda dapat memulai ulang VM.

  3. Terapkan file:

    kubectl apply -f my-migration.yaml

Memantau pembuatan migrasi

Gunakan alat migctl atau Konsol Google Cloud untuk memantau progres pembuatan migrasi.

migctl

  1. Tunggu hingga fase pembuatan migrasi berakhir:

    migctl migration status my-migration
    
    NAME           CURRENT-OPERATION      PROGRESS   STEP                   STATUS   AGE
    my-migration   GenerateMigrationPlan  [1/3]      CreateSourceSnapshots  Running  13s 
  2. Mulai ulang VM Compute Engine jika Anda memigrasikannya. VM yang dihentikan tidak diperlukan setelah langkah ini.

Konsol

Setelah status migrasi menunjukkan bahwa migrasi telah dibuat, Anda dapat melanjutkan ke langkah berikutnya:

  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. Lihat status migrasi berdasarkan:

    • Melihat kolom Status untuk baris untuk migrasi Anda.

    • Mengklik nama migrasi. Halaman Detail migrasi akan terbuka. Klik tab Pemantauan untuk melihat status mendetail, atau tab Peristiwa untuk melihat peristiwa migrasi.

  4. Setelah pembuatan migrasi selesai, Status akan menampilkan Paket migrasi yang dibuat.

  5. Mulai ulang VM Compute Engine jika Anda memigrasikannya. VM yang dihentikan tidak diperlukan setelah langkah ini.

CRD

Gunakan kubectl untuk mendapatkan informasi migrasi dan status MigrationStatus dengan menentukan JSONPath ke kolom yang diperlukan.

  1. Tunggu hingga fase pembuatan migrasi berakhir:

    Gunakan dua perintah kubectl wait, satu untuk menunggu kondisi "Ready" dan satu lagi untuk kondisi "Gagal". Fase pembuatan rencana migrasi berjalan hingga kondisi pertama terpenuhi.

    unset pids; for cond in "Ready" "Failed"; do kubectl wait migrations.anthos-migrate.cloud.google.com my-migration -n v2k-system --for condition=$cond --timeout=15m & pids+=($!); done; wait -p met_pid -n ${pids[@]}
    kill ${pids[@]/$met_pid} # terminate the process that did not complete.
    

    Setelah perintah tunggu selesai, operasi telah selesai, Anda dapat melanjutkan ke langkah berikutnya.

  2. Dapatkan status paket migrasi:

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type==\"Ready\")].status} my-migration

    Menampilkan True saat paket migrasi sudah siap atau False jika gagal.

  3. Jika fase pembuatan migrasi gagal, gunakan perintah berikut untuk mendapatkan pesan error:

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system  -o jsonpath={.status.conditions[?(@.type=="Ready")].message} my-migration

  4. Mulai ulang VM Compute Engine jika Anda memigrasikannya. VM yang dihentikan tidak diperlukan setelah langkah ini.

Langkah selanjutnya