Memigrasikan VM Linux menggunakan Migrate to Containers

Dalam panduan memulai ini, Anda akan membuat virtual machine (VM) Compute Engine, lalu menggunakan Migrate to Containers untuk memigrasikan VM ke Google Kubernetes Engine (GKE).

Sebelum memulai

  1. Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  2. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan diaktifkan di project.

  3. Aktifkan Compute Engine API.

    Aktifkan Compute Engine API

  4. Aktifkan GKE API.

    Aktifkan GKE API

  5. Untuk menggunakan contoh command line dalam panduan ini, lakukan hal berikut:

    1. Instal Google Cloud CLI atau perbarui ke versi terbaru.
    2. Tetapkan region dan zona default.

Membuat VM Compute Engine dengan server web

Bagian ini menjelaskan cara membuat VM Compute Engine sederhana yang menayangkan halaman web "Halo Dunia!" yang dapat Anda gunakan untuk pengujian setelah migrasi selesai.

  1. Di Konsol Google Cloud, klik Tombol Activate ShellActivate Cloud Shell.

    Buka konsol Google Cloud

  2. Untuk membuat VM, jalankan perintah berikut:

    gcloud compute instances create quickstart-instance \
      --zone=us-central1-a --machine-type=e2-standard-2 \
      --subnet=default --scopes="cloud-platform" \
      --tags=http-server,https-server --image=ubuntu-minimal-1604-xenial-v20210119a \
      --image-project=ubuntu-os-cloud --boot-disk-size=10GB --boot-disk-type=pd-standard \
      --boot-disk-device-name=quickstart-instance
    
  3. Untuk membuat aturan firewall yang mengizinkan permintaan ke instance melalui HTTP, jalankan perintah berikut:

    gcloud compute firewall-rules create default-allow-http \
     --direction=INGRESS --priority=1000 --network=default --action=ALLOW \
     --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server
    
  4. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  5. Untuk terhubung ke VM quickstart-instance, cari baris untuk VM, lalu klik SSH.

    Koneksi dibuat di tab baru.

  6. Untuk menginstal paket apache2, di tab perintah quickstart-instance baru, jalankan perintah berikut:

    sudo apt-get update && sudo apt-get install apache2 -y
    
  7. Setelah menginstal Apache, sistem operasi akan otomatis memulai server Apache.

  8. Di tab yang sama, jalankan perintah berikut untuk menimpa halaman web default server web Apache dengan halaman baru:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    
  9. Kembali ke halaman VM instances, lalu salin alamat External IP yang ditampilkan untuk quickstart-instance.

  10. Tempelkan alamat IP VM di kolom URL browser Anda. Awali dengan http://.

    Sekarang Anda akan melihat halaman "Hello World!".

  11. Di halaman VM instances, pilih kotak centang di ujung kiri baris untuk quickstart-instance.

  12. Untuk menghentikan VM, klik Stop di bagian atas halaman.

    Anda harus menghentikan VM sebelum memulai migrasi. Anda dapat memulainya lagi setelah migrasi selesai.

Membuat cluster pemrosesan

Di bagian ini, Anda akan membuat cluster GKE di Google Cloud yang digunakan sebagai cluster pemrosesan.

  1. Di Konsol Google Cloud, klik Tombol Activate ShellActivate Cloud Shell.

    Buka konsol Google Cloud

  2. Untuk membuat cluster Kubernetes baru yang akan digunakan sebagai cluster pemrosesan, jalankan perintah berikut:

    gcloud container clusters create migration-processing \
     --zone=us-central1-a --machine-type e2-standard-4 \
     --image-type ubuntu_containerd --num-nodes 1 \
     --enable-stackdriver-kubernetes \
     --subnetwork "projects/PROJECT_ID/regions/us-central1/subnetworks/default"
    

    Ganti PROJECT_ID dengan project ID Anda.

    Tunggu beberapa menit hingga pembuatan cluster selesai.

Menginstal Migrate to Containers

  1. Di konsol Google Cloud, buka halaman Migrate to Containers.

    Buka Migrate to Containers

  2. Klik tab Processing Clusters, lalu klik Add processing cluster.

  3. Dari daftar Workloads OS type, pilih Linux, lalu klik Next.

  4. Dari daftar Select a cluster, pilih migration-processing, lalu klik Next.

  5. Di bagian Configuration, biarkan nilai default apa adanya, lalu klik Next.

  6. Di bagian Akun layanan, pilih Buat akun layanan baru.

  7. Di kolom Nama akun layanan, masukkan quickstart-sa1.

  8. Klik Continue, lalu klik Deploy.

    Tunggu beberapa menit hingga penyiapan cluster pemrosesan selesai.

Memigrasikan VM Compute Engine

Di bagian berikut, Anda akan menentukan sumber migrasi sebagai VM Compute Engine. Langkah ini akan menambahkan spesifikasi sumber ke paket migrasi. Kemudian, Anda akan membuat rencana migrasi dengan detail migrasi dan menggunakannya untuk memigrasikan VM.

Menentukan sumber migrasi

  1. Di konsol Google Cloud, buka halaman Migrate to Containers.

    Buka Migrate to Containers

  2. Klik Tambahkan Sumber.

  3. Dari daftar Select a processing cluster, pilih migration-processing, lalu klik Next.

  4. Di kolom Name, masukkan quickstart-source.

  5. Biarkan Source type sebagai Compute Engine, lalu klik Next.

  6. Di kolom Project, tentukan project ID dari project yang berisi VM yang ingin Anda migrasikan.

  7. Pilih Create a new service account untuk membuat akun agar Anda dapat menggunakan Compute Engine sebagai sumber migrasi.

  8. Di kolom Nama akun layanan, masukkan quickstart-sa2.

  9. Klik Lanjutkan lalu klik Tambahkan Sumber.

Buat migrasi

  1. Di konsol Google Cloud, buka halaman Migrate to Containers.

    Buka Migrate to Containers

  2. Klik Buat Migrasi.

  3. Di kolom Nama migrasi, masukkan quickstart-migration.

  4. Dari daftar Select source, pilih quickstart-source.

  5. Dari daftar Workload type, pilih Linux system container.

  6. Di kolom Instance Name, masukkan quickstart-instance.

  7. Klik Buat Migrasi.

    Migrasi akan ditambahkan ke tabel Migrasi. Namun, diperlukan waktu beberapa menit untuk menyelesaikan pembuatan migrasi. Setelah selesai, kolom Status diperbarui di tabel Migrasi.

Men-deploy beban kerja yang dimigrasikan

Untuk membuat artefak container target sebagai bagian dari pemrosesan VM untuk migrasi, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Migrate to Containers.

    Buka Migrate to Containers

  2. Untuk quickstart-migration, di kolom Next steps, pilih Options - Generate recommendations. Saat artefak dibuat, kolom Status untuk migrasi akan diperbarui.

  3. Setelah migrasi selesai, klik Tombol Activate ShellActivate Cloud Shell.

  4. Untuk mendownload artefak YAML yang dihasilkan, jalankan perintah berikut:

    migctl migration get-artifacts quickstart-migration
    

    Perintah ini akan mendownload file berikut yang dibuat selama migrasi:

    • deployment_spec.yaml - File YAML yang mengonfigurasi beban kerja Anda.
    • Dockerfile - Dockerfile yang digunakan untuk mem-build image untuk VM yang Anda migrasikan.
    • migration.yaml - Salinan rencana migrasi.
    • blocklist.yaml - Daftar layanan container yang akan dinonaktifkan berdasarkan setelan Anda dalam rencana migrasi.
  5. Untuk membuka Cloud Shell Editor, klik Open editor.

  6. Buka file deployment_spec.yaml dan cari objek Service dengan nama quickstart-instance. Image akan muncul seperti yang ditunjukkan di bawah ini:

    apiVersion: v1
    kind: Service
    metadata:
      creationTimestamp: null
      name: quickstart-instance
    spec:
      clusterIP: None
      selector:
        app: quickstart-instance
      type: ClusterIP
    status:
      loadBalancer: {}
    
    ---
    
  7. Di bawah definisi Service yang ditunjukkan di atas, tempel definisi Service yang ditandai dengan warna biru di bawah yang mengekspos port 80 untuk akses ke server web Anda melalui HTTP:

    apiVersion: v1
    kind: Service
    metadata:
      creationTimestamp: null
      name: quickstart-instance
    spec:
      clusterIP: None
      selector:
        app: quickstart-instance
      type: ClusterIP
    status:
      loadBalancer: {}
    
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: hello-service
    spec:
      selector:
        app: quickstart-instance
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
      type: LoadBalancer
    
    ---
    

    Jika diperlukan, perbaiki indentasi definisi Service dalam file.

  8. Simpan file.

  9. Klik Open Terminal.

  10. Untuk men-deploy VM yang dimigrasikan, jalankan perintah berikut:

    skaffold run -d eu.gcr.io/PROJECT_ID
    

    Ganti PROJECT_ID dengan project ID Anda.

  11. Untuk mendapatkan alamat IP eksternal dari VM yang dimigrasikan, jalankan perintah berikut:

    kubectl get service hello-service
    

    Jika server web sudah siap, Anda akan melihat alamat IP eksternal untuk hello-service yang ditambahkan.

    kubectl get service hello-service
    NAME            TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)        AGE
    hello-service   LoadBalancer   10.23.241.124   ##.##.###.##   80:32611/TCP   5m4s
    
  12. Untuk memeriksa apakah migrasi berhasil, buka tab browser baru dan kunjungi halaman web di alamat IP eksternal (pastikan untuk menggunakan HTTP, bukan HTTPS).

    http://##.##.###.##
    

    Jika Anda melihat teks Hello World! ditampilkan di layar, berarti migrasi VM Anda berhasil.

    Jika Anda tidak dapat mengakses beban kerja yang dimigrasikan, lihat cara memecahkan masalah umum.

Pembersihan

Agar akun Google Cloud Anda tidak dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

Menghapus migrasi

  1. di konsol Google Cloud, buka halaman Migrate to Containers.

    Buka Migrate to Containers

  2. Klik tab Migrasi untuk menampilkan tabel yang berisi migrasi yang tersedia.
  3. Untuk quickstart-migration, klik Delete, di sisi kanan tabel, lalu pilih Delete migration.

Menghapus sumber migrasi

  1. Di konsol Google Cloud, buka halaman Migrate to Containers.

    Buka Migrate to Containers

  2. Klik Kelola sumber untuk menampilkan daftar sumber yang tersedia.
  3. Untuk quickstart-source, klik Delete, di sisi kanan tabel.
  4. Konfirmasi penghapusan dengan mengetik teks yang ditampilkan, lalu klik Hapus lagi.

Menghapus cluster GKE

  1. Di konsol Google Cloud, buka halaman Google Kubernetes Engine.

    Buka Google Kubernetes Engine

  2. Pilih migration-processing, lalu klik Delete.
  3. Saat diminta untuk mengonfirmasi, klik Hapus lagi.

Menghapus akun layanan

  1. Di Konsol Google Cloud, buka halaman Service accounts.

    Buka halaman Service accounts

  2. Pilih project tempat Anda membuat akun layanan.
  3. Pilih quickstart-sa1 dan quickstart-sa2, lalu klik Delete.
  4. Saat diminta untuk mengonfirmasi, klik Hapus lagi.

Menghapus VM

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Klik nama quickstart-instance.
  3. Di bagian atas halaman detail instance, klik Hapus.

Langkah selanjutnya