Mengupgrade Apigee hybrid ke versi 1.4

Ringkasan upgrade ke versi 1.4.4.

Prosedur untuk mengupgrade Apigee hybrid diatur dalam bagian berikut:

  1. Cadangkan penginstalan hybrid Anda.
  2. Periksa versi Kubernetes Anda dan upgrade sesuai kebutuhan.
  3. Mengupgrade ASM.
  4. Instal runtime hybrid versi 1.4.

Prasyarat

Mengupgrade ke versi 1.4

  1. (Direkomendasikan) Buat salinan cadangan direktori $APIGEECTL_HOME/ versi 1.3. Contoh:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (Direkomendasikan) Cadangkan database Cassandra Anda dengan mengikuti petunjuk di Pencadangan dan pemulihan Cassandra
  3. Upgrade platform Kubernetes Anda sebagai berikut. Ikuti dokumentasi platform Anda jika Anda memerlukan bantuan:
    Platform Mengupgrade ke versi
    GKE 1.18.x
    GKE on-prem (Anthos) 1.5.x
    AKS 1.18.x menggunakan cluster terpasang Anthos
    EKS 1.18.x menggunakan cluster terpasang Anthos
  4. Mengupgrade ASM ke versi 1.6.x.
    1. Lakukan upgrade menggunakan dokumentasi ASM:
    2. Tentukan port masuk berikut dan tetapkan properti runAsRoot ke true dalam file istio-operator.yaml Anda"
          … … …
                  ports:
                  - port: 15021
                    name: status-port
                    targetPort: 15021
                  - port: 80
                    name: http2
                    targetPort: 80
                  - port: 443
                    name: https
                    targetPort: 443
      
          … … …
          values:
            gateways:
              istio-ingressgateway:
                runAsRoot: true 
    3. Buat CR PeerAuthentication untuk menonaktifkan mTLS dalam file istio-operator.yaml:
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: apigee-system
        namespace: apigee-system
      spec:
        mtls:
          mode: DISABLE
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: user-namespace
        namespace: user-namespace
      spec:
        mtls:
          mode: DISABLE
    4. Terapkan perubahan ini dengan istioctl seperti yang dijelaskan dalam dokumentasi ASM:

Menginstal runtime hybrid 1.4.4

  1. Simpan nomor versi terbaru dalam variabel:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Pastikan variabel diisi dengan nomor versi. Jika ingin menggunakan versi yang berbeda, Anda dapat menyimpannya dalam variabel lingkungan. Contoh:
    echo $VERSION
      1.4.4
  3. Download paket rilis untuk sistem operasi Anda:

    Mac 64-bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Linux 64 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    Mac 32 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz

    Linux 32 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Ubah nama direktori apigeectl/ Anda saat ini menjadi nama direktori cadangan. Contoh:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Ekstrak konten file gzip yang didownload ke direktori dasar campuran Anda. Contoh:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd ke direktori dasar.
  7. Secara default, konten tar diperluas ke dalam direktori dengan versi dan platform dalam namanya. Misalnya: ./apigeectl_1.4.4-xxx_linux_64. Ganti nama direktori tersebut menjadi apigeectl:

    mv apigeectl_1.4.5-xxx_linux_64 apigeectl
  8. Di direktori apigeectl/ baru, jalankan apigeectl init, apigeectl apply, dan apigeectl check-ready:
    1. Lakukan inisialisasi hybrid 1.4.4:
      apigeectl init -f overrides.yaml

      Dengan overrides.yaml adalah file overrides.yaml yang diedit.

    2. Pastikan aplikasi ini diinisialisasi dengan benar menggunakan perintah berikut:
      apigeectl check-ready -f overrides.yaml
      kubectl describe apigeeds -n apigee

      Output Anda akan terlihat seperti ini:

      Status:
        Cassandra Data Replication:
        Cassandra Pod Ips:
          10.8.2.204
        Cassandra Ready Replicas:  1
        Components:
          Cassandra:
            Last Successfully Released Version:
              Revision:  v1-f8aa9a82b9f69613
              Version:   v1
            Replicas:
              Available:  1
              Ready:      1
              Total:      1
              Updated:    1
            State:        running
        Scaling:
          In Progress:         false
          Operation:
          Requested Replicas:  0
        State:                 running
      
    3. Sintaksis flag apigeectl --dry-run bergantung pada versi kubectl yang Anda jalankan. Periksa versi kubectl:
      gcloud version
    4. Periksa error dengan uji coba tanpa konfigurasi menggunakan perintah yang sesuai dengan versi kubectl Anda:

      kubectl versi 1.17 dan yang lebih lama:

      apigeectl apply -f overrides.yaml --dry-run=true

      kubectl versi 1.18 dan yang lebih baru:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. Terapkan penggantian Anda. Pilih dan ikuti petunjuk untuk lingkungan produksi atau lingkungan demo/eksperimental, bergantung pada penginstalan Anda.

      Produksi

      Untuk lingkungan produksi, Anda harus mengupgrade setiap komponen campuran satu per satu, dan memeriksa status komponen yang diupgrade sebelum melanjutkan ke komponen berikutnya.

      1. Terapkan penggantian untuk mengupgrade Cassandra:
        apigeectl apply -f overrides.yaml --datastore
      2. Pemeriksaan selesai:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        Dengan namespace adalah namespace hybrid Apigee Anda.

        Lanjutkan ke langkah berikutnya hanya jika pod sudah siap.

      3. Terapkan penggantian untuk mengupgrade komponen Telemetri dan periksa penyelesaiannya:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. Terapkan penggantian untuk mengupgrade komponen tingkat organisasi (MART, Watcher, dan Apigee Connect) dan periksa penyelesaiannya:
        apigeectl apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. Terapkan penggantian untuk mengupgrade lingkungan Anda. Anda memiliki dua pilihan:
        • Lingkungan demi lingkungan: Terapkan penggantian Anda ke satu lingkungan pada satu waktu dan periksa penyelesaiannya. Ulangi langkah ini untuk setiap lingkungan:
          apigeectl apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          Dengan env_name adalah nama lingkungan yang Anda upgrade.

        • Semua lingkungan sekaligus: Terapkan penggantian Anda ke semua lingkungan sekaligus dan periksa penyelesaiannya:
          apigeectl apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      Demo/Eksperimental

      Di sebagian besar lingkungan demo atau eksperimental, Anda dapat menerapkan penggantian ke semua komponen sekaligus. Jika lingkungan demo/eksperimental Anda besar dan kompleks atau meniru lingkungan produksi dengan cermat, sebaiknya gunakan petunjuk untuk mengupgrade lingkungan produksi

      1. apigeectl apply -f overrides.yaml
      2. Periksa statusnya:
        apigeectl check-ready -f overrides.yaml

    Selamat! Anda telah berhasil mengupgrade ke Apigee hybrid versi 1.4.4.