Menggunakan repositori image pribadi dengan apigeectl

Dokumen ini menjelaskan cara mengonfigurasi Apigee hybrid untuk menggunakan image dari repositori image container pribadi.

Ringkasan

Semua image runtime campuran Apigee dihosting di Google Cloud Container Registry (GCR). Jika karena alasan apa pun Anda ingin menggunakan repositori penampung image pribadi, Anda dapat mendownload image dari GCR, mendorongnya ke repositori pribadi, dan mengganti lokasi image default dalam file overrides.yaml.

Langkah konfigurasi

Ikuti langkah-langkah berikut untuk menggunakan repositori penampung image pribadi untuk image campuran Apigee. Untuk melakukan langkah-langkah ini dan berhasil menggunakan image di repositori pribadi, Anda harus memahami prosedur penginstalan hibrida Apigee. Dalam skenario umum, Anda akan berencana mengonfigurasi repositori pribadi sebagai bagian dari penginstalan campuran baru.

  1. Kirim image campuran Apigee dari GCR ke repositori pribadi Anda. Sebaiknya gunakan utilitas apigee-push-pull untuk menyelesaikan langkah ini.

    Jika Anda memilih untuk melakukan langkah ini secara manual, Anda harus menginstal Docker dan menggunakan perintah docker pull sebagai berikut. Pastikan untuk menambahkan tag yang benar ke setiap nama gambar. Misalnya, tag untuk apigee-synchronizer adalah 1.11.2, seperti yang ditunjukkan di bawah.

    1. Dapatkan daftar terbaru semua image dalam project saat ini dengan opsi --list dari utilitas apigee-pull-push.sh di direktori apigeectl/tools/:
      apigee-pull-push.sh --list
    2. Output Anda akan terlihat seperti ini:

      apigee:
              gcr.io/apigee-release/hybrid/apigee-mart-server:1.11.2
              gcr.io/apigee-release/hybrid/apigee-synchronizer:1.11.2
              gcr.io/apigee-release/hybrid/apigee-runtime:1.11.2
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.11.2
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.11.2
              gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.11.2
              gcr.io/apigee-release/hybrid/apigee-udca:1.11.2
              gcr.io/apigee-release/hybrid/apigee-connect-agent:1.11.2
              gcr.io/apigee-release/hybrid/apigee-watcher:1.11.2
              gcr.io/apigee-release/hybrid/apigee-operators:1.11.2
              gcr.io/apigee-release/hybrid/apigee-installer:1.11.2
              gcr.io/apigee-release/hybrid/apigee-redis:1.11.2
              gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.11.2
              gcr.io/apigee-release/hybrid/apigee-diagnostics-runner:1.11.2
              gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.11.2
      third party:
              gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.10.5
              gcr.io/apigee-release/hybrid/apigee-prom-prometheus:v2.52.0
              gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:0.9.0
              gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:v0.18.0
              gcr.io/apigee-release/hybrid/apigee-envoy:v1.27.0
              gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:v0.12.0
              gcr.io/apigee-release/hybrid/apigee-asm-ingress:1.18.7-asm.26-distroless
              gcr.io/apigee-release/hybrid/apigee-asm-istiod:1.18.7-asm.26-distroless
              gcr.io/apigee-release/hybrid/apigee-fluent-bit:3.0.3
      
    3. Ambil image yang diperlukan untuk namespace apigee-system dan apigee dengan perintah docker pull. Contoh:
      docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.11.2

      Daftar berikut menunjukkan gambar yang diperlukan untuk setiap namespace:

      Namespace apigee-system

      • apigee-installer
      • apigee-kube-rbac-proxy
      • apigee-operators

      Namespace apigee Anda

      • apigee-asm-ingress
      • apigee-asm-istiod
      • apigee-cassandra-backup-utility
      • apigee-connect-agent
      • apigee-diagnostics-collector
      • apigee-diagnostics-runner
      • apigee-envoy
      • apigee-fluent-bit
      • apigee-hybrid-cassandra-client
      • apigee-hybrid-cassandra
      • apigee-mart-server
      • apigee-prom-prometheus
      • apigee-prometheus-adapter
      • apigee-redis
      • apigee-runtime
      • apigee-stackdriver-logging-agent
      • apigee-stackdriver-prometheus-sidecar
      • apigee-synchronizer
      • apigee-udca
      • apigee-watcher
    4. Setelah menarik dan memberi tag pada gambar, kirimkan ke repositori pribadi Anda. Lihat docker push.
  2. Buat Secret Kubernetes di namespace apigee dan apigee-system.

    Jika namespace ini tidak ada di cluster, Anda harus membuatnya sebelum melakukan langkah ini.

    Untuk mengetahui langkah-langkah membuat Secret, lihat Membuat Secret dengan memberikan kredensial di command line. Misalnya, untuk membuat secret di namespace apigee-system:

    kubectl create secret docker-registry SECRET_NAME -n apigee-system \
      --docker-server=YOUR_REGISTRY_SERVER \
      --docker-username=YOUR_DOCKER_USERNAME \
      --docker-email=YOUR_DOCKER_EMAIL \
      --docker-password="YOUR_DOCKER_PASSWORD)"

    Untuk membuat Secret di namespace apigee:

    kubectl create secret docker-registry SECRET_NAME -n apigee \
      --docker-server=YOUR_REGISTRY_SERVER \
      --docker-username=YOUR_DOCKER_USERNAME \
      --docker-email=YOUR_DOCKER_EMAIL \
      --docker-password="YOUR_DOCKER_PASSWORD)"
  3. Tambahkan Secret ke file overrides.yaml Anda. Pembuatan file penggantian dijelaskan dalam langkah-langkah penginstalan hybrid. Lihat Mengonfigurasi cluster untuk mengetahui detailnya.
    imagePullSecrets:
      - name: SECRET_NAME
  4. Perbarui file overrides.yaml dengan URL gambar untuk gambar yang disimpan di repositori pribadi Anda. Setiap komponen yang disimpan di repositori memiliki elemen image:url. Gunakan elemen ini untuk menentukan URL setiap gambar komponen. Contoh:
    mart:
      serviceAccountPath: /installdir/hybrid-files/service-accounts/hybrid-apigee-non-prod.json
      image:
        url: my-docker.pkg.dev/hybrid-1/registry-name/apigee-mart-server

    Ikuti pola ini untuk memperbarui setiap komponen campuran tingkat atas dalam file overrides.yaml dengan URL image repositori pribadinya. Contoh lengkap file penggantian disediakan dengan penginstalan campuran Anda di direktori $APIGEECTL_HOME/examples/private-overrides.yaml.

Sekarang Anda dapat menyelesaikan penginstalan campuran baru menggunakan image pribadi, atau mengupdate penginstalan yang ada. Lihat langkah-langkah penginstalan Apigee Hybrid untuk mengetahui informasi selengkapnya.

Menginstal cert-manager dari repositori pribadi

Untuk menginstal cert-manager dari repositori pribadi, lihat Menginstal dengan Helm. Anda harus menginstal versi cert-manager yang sama seperti yang ditentukan dalam petunjuk penginstalan Apigee Hybrid untuk memastikan kompatibilitas.