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 sebagaimana diperlukan.
  3. Upgrade ASM.
  4. Instal hybrid runtime 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 dalam Pencadangan dan pemulihan Cassandra
  3. Upgrade platform Kubernetes Anda sebagai berikut. Ikuti dokumentasi platform jika Anda memerlukan bantuan:
    Platform Upgrade ke versi
    GKE 1.18.x
    GKE lokal (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 masuk berikut dan tetapkan properti runAsRoot ke true di 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 1.4.4 hybrid

  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. Periksa apakah variabel telah diisi dengan nomor versi. Jika ingin menggunakan versi lain, 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. Ganti 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. Contoh:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd ke direktori dasar.
  7. Konten tar secara default diperluas ke 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 Replace.yaml yang telah Anda edit.

    2. Pastikan variabel tersebut 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 selama 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. 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 telah diupgrade sebelum melanjutkan ke komponen berikutnya.

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

        Dengan namespace sebagai namespace hybrid Apigee Anda.

        Lanjutkan ke langkah berikutnya hanya jika pod sudah siap.

      3. Terapkan penggantian untuk mengupgrade komponen Telemetry 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 organisasi (MART, Watcher, dan Apigee Connect) dan memeriksa 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 memiliki dua pilihan:
        • Lingkungan menurut lingkungan: Terapkan penggantian Anda ke satu lingkungan dalam satu waktu dan periksa penyelesaian. 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 penyelesaian:
          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, Anda dapat menggunakan 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.