Mengupgrade Anthos Service Mesh secara lokal

Panduan ini menjelaskan cara mengupgrade Anthos Service Mesh dari versi 1.4.5+ or 1.5.4+ ke versi 1.5.10 di GKE di VMware.

Proses deploy ulang komponen bidang kontrol Anthos Service Mesh memerlukan waktu sekitar 5 hingga 10 menit. Selain itu, Anda perlu memasukkan proxy file bantuan baru di semua beban kerja agar diupdate ke versi Anthos Service Mesh saat ini. Waktu yang diperlukan untuk memperbarui proxy file bantuan bergantung pada banyak faktor, seperti jumlah pod, jumlah node, setelan penskalaan deployment, anggaran gangguan pod, dan setelan konfigurasi lainnya. Perkiraan kasar dari waktu yang diperlukan untuk memperbarui proxy file bantuan adalah 100 pod per menit.

Mempersiapkan upgrade

Bagian ini menguraikan langkah-langkah yang Anda lakukan untuk mengupgrade Anthos Service Mesh.

  1. Tinjau Fitur yang didukung dan panduan ini untuk memahami berbagai fitur dan proses upgrade.

  2. Jika mengaktifkan fitur opsional saat menginstal Anthos Service Mesh versi sebelumnya, Anda harus mengaktifkan fitur yang sama saat melakukan upgrade. Anda mengaktifkan fitur opsional dengan menambahkan tanda --set values atau dengan menentukan tanda -f dengan file YAML saat menjalankan perintah istioctl apply.

    Jika melakukan upgrade dari Anthos Service Mesh 1.4.5+ dan mengaktifkan fitur opsional dalam file YAML, Anda harus mengonversi YAML dari IstioControlPlane API menjadi IstioOperator API.

  3. Menjadwalkan periode nonaktif. Proses upgrade dapat memerlukan waktu hingga 1 jam, bergantung pada skala cluster. Perhatikan bahwa hal ini tidak termasuk waktu yang Anda perlukan untuk men-deploy ulang beban kerja untuk memperbarui proxy file bantuan.

Menyiapkan lingkungan Anda

Di komputer lokal, instal dan inisialisasi Google Cloud CLI.

Jika Anda sudah menginstal gcloud CLI:

  1. Lakukan autentikasi dengan gcloud CLI:

    gcloud auth login
    
  2. Update komponen:

    gcloud components update
    
  3. Instal kubectl:

    gcloud components install kubectl
    
  4. Dapatkan project ID project tempat cluster dibuat:

    gcloud

    gcloud projects list

    Konsol

    1. Di konsol Google Cloud, buka halaman Dasbor:

      Buka halaman Dasbor

    2. Klik menu drop-down Select from di bagian atas halaman. Di jendela Select from yang muncul, pilih project Anda. Project ID ditampilkan di kartu Project info di Dasbor project.

  5. Tetapkan project ID default untuk Google Cloud CLI:

    gcloud config set project PROJECT_ID

Menetapkan kredensial dan izin

  1. Pastikan Anda memiliki kubectl untuk cluster pengguna GKE di VMware tempat Anda ingin menginstal Anthos Service Mesh. Perlu diperhatikan bahwa Anda hanya dapat menginstal Anthos Service Mesh di cluster pengguna, bukan di cluster admin.
  2. Berikan izin admin cluster kepada pengguna saat ini. Anda memerlukan izin berikut agar dapat membuat aturan role-based access control (RBAC) yang diperlukan untuk Anthos Service Mesh:
    kubectl create clusterrolebinding cluster-admin-binding \
      --clusterrole=cluster-admin \
      --user="$(gcloud config get-value core/account)"

    Jika melihat error "cluster-admin-binding" already exists, Anda dapat mengabaikannya dengan aman dan melanjutkan dengan binding admin cluster yang ada.

Mendownload file penginstalan

    Linux

  1. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-linux.tar.gz
  2. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-linux.tar.gz.1.sig
    openssl dgst -verify - -signature istio-1.5.10-asm.2-linux.tar.gz.1.sig istio-1.5.10-asm.2-linux.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Output yang diharapkan adalah: Verified OK

  3. Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
    tar xzf istio-1.5.10-asm.2-linux.tar.gz

    Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama istio-1.5.10-asm.2 yang berisi:

    • Aplikasi contoh di samples
    • Alat berikut di direktori bin:
      • istioctl: Anda menggunakan istioctl untuk menginstal Anthos Service Mesh.
      • asmctl: Anda menggunakan asmctl untuk membantu memvalidasi konfigurasi keamanan setelah menginstal Anthos Service Mesh. (Saat ini, asmctl tidak didukung di GKE di VMware.)

  4. Mac OS

  5. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-osx.tar.gz
  6. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.5.10-asm.2-osx.tar.gz.1.sig istio-1.5.10-asm.2-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Output yang diharapkan adalah: Verified OK

  7. Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
    tar xzf istio-1.5.10-asm.2-osx.tar.gz

    Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama istio-1.5.10-asm.2 yang berisi:

    • Aplikasi contoh di samples
    • Alat berikut di direktori bin:
      • istioctl: Anda menggunakan istioctl untuk menginstal Anthos Service Mesh.
      • asmctl: Anda menggunakan asmctl untuk membantu memvalidasi konfigurasi keamanan setelah menginstal Anthos Service Mesh. (Saat ini, asmctl tidak didukung di GKE di VMware.)

  8. Windows

  9. Download file penginstalan Anthos Service Mesh ke direktori kerja Anda saat ini:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-win.zip
  10. Download file tanda tangan dan gunakan openssl untuk memverifikasi tanda tangan:
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.5.10-asm.2-win.zip.1.sig istio-1.5.10-asm.2-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    Output yang diharapkan adalah: Verified OK

  11. Ekstrak konten file ke lokasi mana saja di sistem file Anda. Misalnya, untuk mengekstrak konten ke direktori kerja saat ini:
    tar xzf istio-1.5.10-asm.2-win.zip

    Perintah ini membuat direktori penginstalan di direktori kerja saat ini bernama istio-1.5.10-asm.2 yang berisi:

    • Aplikasi contoh di samples
    • Alat berikut di direktori bin:
      • istioctl: Anda menggunakan istioctl untuk menginstal Anthos Service Mesh.
      • asmctl: Anda menggunakan asmctl untuk membantu memvalidasi konfigurasi keamanan setelah menginstal Anthos Service Mesh. (Saat ini, asmctl tidak didukung di GKE di VMware.)

  12. Pastikan Anda berada di direktori utama penginstalan Anthos Service Mesh.
    cd istio-1.5.10-asm.2
  13. Untuk memudahkan, tambahkan alat di direktori /bin ke PATH Anda:
    export PATH=$PWD/bin:$PATH

Mengupgrade Anthos Service Mesh

Bagian ini menjelaskan cara mengupgrade Anthos Service Mesh dan mengaktifkan fitur Default yang didukung yang tercantum di halaman Fitur yang didukung. Untuk mengetahui informasi tentang cara mengaktifkan fitur Opsional yang didukung, lihat Mengaktifkan fitur opsional.

Untuk menginstal Anthos Service Mesh:

Pilih salah satu perintah berikut untuk mengonfigurasi Anthos Service Mesh dalam mode autentikasi PERMISSIVE mutual TLS (mTLS) atau mode mTLS STRICT.

mTLS PERMISSIF

istioctl manifest apply --set profile=asm-onprem

mTLS KETAT

istioctl manifest apply --set profile=asm-onprem \
  --set values.global.mtls.enabled=true

Memeriksa komponen bidang kontrol

Upgrade memerlukan penginstalan ulang komponen bidang kontrol, yang memerlukan waktu sekitar 5 hingga 10 menit untuk diselesaikan. Komponen bidang kontrol lama dihentikan, lalu dihapus saat komponen baru diinstal. Anda dapat memeriksa progresnya dengan melihat nilai di kolom AGE beban kerja.

kubectl get pod -n istio-system

Contoh output:

NAME                                     READY   STATUS        RESTARTS   AGE
istio-ingressgateway-5bfdf7c586-v6wxx    2/2     Terminating   0          25m
istio-ingressgateway-7b598c5557-b88md    2/2     Running       0          5m44s
istiod-78cdbbbdb-d7tps                   1/1     Running       0          5m16s
promsd-576b8db4d6-lqf64                  2/2     Running       1          5m26s

Dalam contoh ini, ada dua instance istio-ingressgateway. Instance dengan 25m di kolom AGE sedang dihentikan. Semua komponen lainnya baru diinstal.

Memperbarui proxy file bantuan

Anthos Service Mesh menggunakan proxy file bantuan untuk meningkatkan keamanan, keandalan, dan kemampuan observasi jaringan. Dengan Anthos Service Mesh, fungsi-fungsi ini diabstraksikan dari container utama aplikasi dan diimplementasikan dalam proxy di luar proses umum yang dikirimkan sebagai container terpisah dalam Pod yang sama.

Setiap beban kerja yang berjalan di cluster sebelum Anda menginstal Anthos Service Mesh harus memasukkan atau mengupdate sidecar proxy agar memiliki versi Anthos Service Mesh saat ini. Sebelum men-deploy workload baru, pastikan untuk mengonfigurasi injeksi proxy sidecar sehingga Anthos Service Mesh dapat memantau dan mengamankan traffic.

Anda dapat mengaktifkan injeksi file bantuan otomatis dengan satu perintah, misalnya:

kubectl label namespace NAMESPACE istio-injection=enabled --overwrite

dengan NAMESPACE adalah nama namespace untuk layanan aplikasi Anda, atau default jika Anda tidak membuat namespace secara eksplisit.

Untuk mengetahui informasi selengkapnya, lihat Memasukkan proxy file bantuan.