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
Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda. Pelajari cara memeriksa apakah penagihan diaktifkan di project.
Aktifkan Compute Engine API.
Aktifkan GKE API.
Untuk menggunakan contoh command line dalam panduan ini, lakukan hal berikut:
- Instal Google Cloud CLI atau perbarui ke versi terbaru.
- 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.
Di Konsol Google Cloud, klik Activate Cloud Shell.
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
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
Di konsol Google Cloud, buka halaman Instance VM.
Untuk terhubung ke VM
quickstart-instance
, cari baris untuk VM, lalu klik SSH.Koneksi dibuat di tab baru.
Untuk menginstal paket apache2, di tab perintah
quickstart-instance
baru, jalankan perintah berikut:sudo apt-get update && sudo apt-get install apache2 -y
Setelah menginstal Apache, sistem operasi akan otomatis memulai server Apache.
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
Kembali ke halaman VM instances, lalu salin alamat External IP yang ditampilkan untuk
quickstart-instance
.Tempelkan alamat IP VM di kolom URL browser Anda. Awali dengan
http://
.Sekarang Anda akan melihat halaman "Hello World!".
Di halaman VM instances, pilih kotak centang di ujung kiri baris untuk
quickstart-instance
.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.
Di Konsol Google Cloud, klik Activate Cloud Shell.
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
Di konsol Google Cloud, buka halaman Migrate to Containers.
Klik tab Processing Clusters, lalu klik Add processing cluster.
Dari daftar Workloads OS type, pilih Linux, lalu klik Next.
Dari daftar Select a cluster, pilih
migration-processing
, lalu klik Next.Di bagian Configuration, biarkan nilai default apa adanya, lalu klik Next.
Di bagian Akun layanan, pilih Buat akun layanan baru.
Di kolom Nama akun layanan, masukkan
quickstart-sa1
.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
Di konsol Google Cloud, buka halaman Migrate to Containers.
Klik Tambahkan Sumber.
Dari daftar Select a processing cluster, pilih
migration-processing
, lalu klik Next.Di kolom Name, masukkan
quickstart-source
.Biarkan Source type sebagai Compute Engine, lalu klik Next.
Di kolom Project, tentukan project ID dari project yang berisi VM yang ingin Anda migrasikan.
Pilih Create a new service account untuk membuat akun agar Anda dapat menggunakan Compute Engine sebagai sumber migrasi.
Di kolom Nama akun layanan, masukkan
quickstart-sa2
.Klik Lanjutkan lalu klik Tambahkan Sumber.
Buat migrasi
Di konsol Google Cloud, buka halaman Migrate to Containers.
Klik Buat Migrasi.
Di kolom Nama migrasi, masukkan
quickstart-migration
.Dari daftar Select source, pilih
quickstart-source
.Dari daftar Workload type, pilih Linux system container.
Di kolom Instance Name, masukkan
quickstart-instance
.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:
Di konsol Google Cloud, buka halaman Migrate to Containers.
Untuk
quickstart-migration
, di kolom Next steps, pilih Options - Generate recommendations. Saat artefak dibuat, kolom Status untuk migrasi akan diperbarui.Setelah migrasi selesai, klik Activate Cloud Shell.
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.
Untuk membuka Cloud Shell Editor, klik Open editor.
Buka file
deployment_spec.yaml
dan cari objekService
dengan namaquickstart-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: {} ---
Di bawah definisi
Service
yang ditunjukkan di atas, tempel definisiService
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.Simpan file.
Klik Open Terminal.
Untuk men-deploy VM yang dimigrasikan, jalankan perintah berikut:
skaffold run -d eu.gcr.io/PROJECT_ID
Ganti PROJECT_ID dengan project ID Anda.
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
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
- di konsol Google Cloud, buka halaman Migrate to Containers.
- Klik tab Migrasi untuk menampilkan tabel yang berisi migrasi yang tersedia.
- Untuk
quickstart-migration
, klik Delete, di sisi kanan tabel, lalu pilih Delete migration.
Menghapus sumber migrasi
- Di konsol Google Cloud, buka halaman Migrate to Containers.
- Klik Kelola sumber untuk menampilkan daftar sumber yang tersedia.
- Untuk
quickstart-source
, klik Delete, di sisi kanan tabel. - Konfirmasi penghapusan dengan mengetik teks yang ditampilkan, lalu klik Hapus lagi.
Menghapus cluster GKE
- Di konsol Google Cloud, buka halaman Google Kubernetes Engine.
- Pilih
migration-processing
, lalu klik Delete. - Saat diminta untuk mengonfirmasi, klik Hapus lagi.
Menghapus akun layanan
- Di Konsol Google Cloud, buka halaman Service accounts.
- Pilih project tempat Anda membuat akun layanan.
- Pilih
quickstart-sa1
danquickstart-sa2
, lalu klik Delete. - Saat diminta untuk mengonfirmasi, klik Hapus lagi.
Menghapus VM
- Di konsol Google Cloud, buka halaman Instance VM.
- Klik nama
quickstart-instance
. - Di bagian atas halaman detail instance, klik Hapus.
Langkah selanjutnya
- Pelajari cara mengelompokkan penemuan tamu dan pengumpulan data.