Mengupgrade Apigee hybrid ke versi 1.4

Jika mengupgrade dari Apigee Hybrid versi 1.2 atau yang lebih lama, Anda harus mengupgrade ke versi Hybrid 1.3 terlebih dahulu sebelum mengupgrade ke versi 1.4.4. Lihat petunjuk untuk Mengupgrade Apigee Hybrid ke versi 1.3.

Ringkasan upgrade ke versi 1.4.4.

Prosedur untuk mengupgrade Apigee Hybrid diatur dalam bagian berikut:

  1. Mencadangkan penginstalan hybrid Anda.
  2. Periksa versi Kubernetes Anda dan lakukan upgrade yang sesuai.
  3. Upgrade ASM.
  4. Instal runtime hybrid versi 1.4.

Prasyarat

Upgrade ke versi 1.4

  1. (Direkomendasikan) Buat salinan cadangan direktori $APIGEECTL_HOME/ versi 1.3 Anda. 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 seperti 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. Upgrade ASM ke versi 1.6.x.
    1. Lakukan upgrade menggunakan dokumentasi ASM:
    2. Tentukan port ingress 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 di file istio-operator.yaml Anda:
      ---
      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 hybrid Anda. Contoh:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd ke direktori dasar.
  7. Konten tar secara default diekstrak 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 new apigeectl/, 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 telah Anda edit.

    2. Pastikan 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 tanda apigeectl --dry-run bergantung pada versi kubectl yang Anda jalankan. Periksa versi kubectl:
      gcloud version
    4. Periksa error dengan uji coba 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 hybrid 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. Penyelesaian pemeriksaan:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        Dengan namespace adalah namespace Apigee Hybrid Anda.

        Lanjutkan ke langkah berikutnya hanya jika pod sudah siap.

      3. Terapkan penggantian untuk mengupgrade komponen Telemetri dan memeriksa penyelesaian:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. Terapkan penggantian untuk mengupgrade komponen tingkat org. (MART, Watcher, dan Apigee Connect) dan periksa penyelesaian:
        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 dalam 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 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 sangat mirip dengan lingkungan produksi, sebaiknya gunakan petunjuk untuk mengupgrade lingkungan produksi

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

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