Langkah 3: Instal apigeectl

Langkah ini menjelaskan cara mendownload dan menginstal apigeectl, menyiapkan direktori penginstalan, dan membuat akun layanan Google Cloud, serta kredensial TLS yang diperlukan agar Apigee Hybrid dapat beroperasi.

Mendownload dan menginstal apigeectl

apigeectl adalah antarmuka command line (CLI) untuk menginstal dan mengelola Apigee Hybrid di cluster Kubernetes.

Langkah-langkah berikut menjelaskan cara mendapatkan apigeectl:

  1. Simpan nomor versi terbaru dalam variabel menggunakan perintah berikut:
    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 menggunakan perintah berikut. Jika ingin menggunakan versi lain, Anda dapat menyimpannya dalam variabel lingkungan.
    echo $VERSION
  3. Download paket rilis untuk sistem operasi Anda menggunakan perintah berikut:

    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. Buat direktori di sistem Anda untuk berfungsi sebagai direktori dasar untuk penginstalan Apigee Hybrid.
  5. Ekstrak konten file gzip yang didownload ke direktori dasar yang baru saja Anda buat menggunakan perintah berikut:

    tar xvzf filename.tar.gz -C path-to-base-directory
  6. Ubah direktori ke direktori dasar menggunakan perintah cd.
  7. Konten tar, secara default, diperluas ke dalam direktori dengan versi dan platform dalam namanya. Misalnya: ./apigeectl_1.0.0-f7b96a8_linux_64. Ganti nama direktori tersebut menjadi apigeectl menggunakan perintah berikut:

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  8. Beralih ke direktori menggunakan perintah berikut:
    cd ./apigeectl

    Direktori ini adalah direktori utama apigeectl. Di sinilah perintah yang dapat dijalankan apigeectl berada.

  9. Buat variabel lingkungan untuk menyimpan jalur direktori utama ini menggunakan perintah berikut:
    export APIGEECTL_HOME=$PWD
  10. Pastikan variabel menyimpan jalur yang benar menggunakan perintah berikut:
    echo $APIGEECTL_HOME

Menyiapkan struktur direktori project

Struktur direktori berikut adalah pendekatan yang disarankan. File ini memisahkan software rilis Apigee hybrid dari file konfigurasi yang harus Anda buat. Melalui penggunaan variabel $APIGEECTL_HOME dan link simbolis yang Anda buat, Anda dapat dengan mudah beralih ke versi software baru jika mau. Lihat juga Mengupgrade Apigee Hybrid.

  1. Pastikan Anda berada di direktori dasar (direktori tempat direktori apigeectl berada) menggunakan perintah berikut:
    cd $APIGEECTL_HOME/..
  2. Buat folder baru bernama hybrid-files menggunakan perintah berikut. Anda dapat memberi direktori nama apa pun yang diinginkan, tetapi dalam dokumen, nama hybrid-files digunakan secara konsisten. Nanti, Anda akan menyimpan file konfigurasi, kunci akun layanan, dan sertifikat TLS di folder ini. Folder ini memungkinkan Anda menyimpan file konfigurasi secara terpisah dari penginstalan software apigeectl.
    mkdir hybrid-files
  3. Struktur direktori saat ini sekarang terlihat seperti berikut:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Ubah direktori ke folder hybrid-files menggunakan perintah berikut:
    cd hybrid-files
  5. Di dalam direktori hybrid-files, buat subdirektori berikut untuk mengatur file yang akan Anda buat nanti:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. Di dalam direktori hybrid-files, buat link simbolis berikut ke $APIGEECTL_HOME. Link ini memungkinkan Anda menjalankan perintah apigeectl dari dalam direktori hybrid-files seperti yang ditunjukkan pada contoh berikut:
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. Untuk memeriksa apakah symlink dibuat dengan benar, jalankan perintah berikut dan pastikan jalur link mengarah ke lokasi yang benar:
    ls -l | grep ^l

Membuat akun layanan

Apigee hybrid menggunakan akun layanan Google Cloud untuk memungkinkan komponen hybrid berkomunikasi dengan melakukan panggilan API yang diotorisasi. Pada langkah ini, Anda akan menggunakan alat command line hybrid Apigee untuk membuat kumpulan akun layanan. Alat ini juga mendownload kunci pribadi akun layanan untuk Anda. Kemudian, Anda harus menambahkan kunci ini ke file konfigurasi cluster campuran Apigee.

Apigee menyediakan alat, create-service-account, yang membuat akun layanan, menetapkan peran ke akun layanan, serta membuat dan mendownload file kunci untuk akun layanan dalam satu perintah. Untuk mempelajari konsep Google Cloud terkait, lihat Membuat dan mengelola akun layanan serta Membuat dan mengelola kunci akun layanan.

  1. Pastikan Anda berada di direktori base_directory/hybrid-files yang dikonfigurasi di Menyiapkan struktur direktori project.
  2. Jalankan perintah berikut dari dalam direktori hybrid-files. Perintah ini membuat akun layanan untuk komponen apigee-metrics dan menempatkan kunci yang didownload di direktori ./service-accounts.
    ./tools/create-service-account apigee-metrics ./service-accounts

    Saat Anda melihat perintah berikut, masukkan y:

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    Jika ini adalah pertama kalinya SA dengan nama persis yang ditetapkan oleh alat dibuat, alat tersebut hanya akan membuatnya, dan Anda tidak perlu melakukan tindakan apa pun.

    Namun, jika Anda melihat pesan dan perintah berikut, masukkan y untuk membuat kunci baru:

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
    
  3. Sekarang, buat akun layanan lainnya menggunakan perintah berikut. Perintah create-service-account bersifat interaktif dan memerlukan respons untuk setiap akun.
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
    ./tools/create-service-account apigee-watcher ./service-accounts
  4. Pastikan kunci akun layanan dibuat menggunakan perintah berikut. Anda bertanggung jawab untuk menyimpan kunci pribadi ini dengan aman. Nama file kunci diawali dengan nama project Google Cloud Anda.
    ls ./service-accounts

    Hasilnya akan terlihat seperti berikut:

    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json
    gcp-project-id-apigee-watcher.json
  5. Tetapkan peran Admin Organisasi Apigee ke akun layanan apigee-org-admin:
  6. Pastikan alamat email untuk akun layanan apigee-org-admin mengikuti pola service_account@PROJECT_ID.iam.gserviceaccount.com seperti yang ditunjukkan contoh berikut:
    gcloud iam service-accounts list --filter "apigee-org-admin"
  7. Tetapkan peran dengan perintah berikut:
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin

    Dengan PROJECT_ID adalah project Google Cloud Anda. Jika alamat email akun layanan Anda berbeda dengan pola ini, ganti sesuai kebutuhan.

    Output harus menyertakan daftar semua akun layanan dan perannya, termasuk hal berikut:

    - members:
      - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com
      role: roles/apigee.admin

Membuat sertifikat TLS

Anda harus memberikan sertifikat TLS untuk gateway ingress runtime dalam konfigurasi hibrida Apigee. Untuk tujuan panduan memulai ini (penginstalan uji coba non-produksi), gateway runtime dapat menerima kredensial yang ditandatangani sendiri. Pada langkah-langkah berikut, openssl digunakan untuk membuat kredensial yang ditandatangani sendiri.

Pada langkah ini, Anda akan membuat file kredensial TLS dan menambahkannya ke direktori base_directory/hybrid-files/certs. Di Langkah 4: Konfigurasi cluster, Anda akan menambahkan jalur file ke file konfigurasi cluster.

  1. Pastikan Anda berada di direktori base_directory/hybrid-files yang dikonfigurasi di Menyiapkan struktur direktori project.
  2. Pastikan nama domain Anda disimpan ke variabel lingkungan DOMAIN menggunakan perintah berikut:
    echo $DOMAIN
  3. Jalankan perintah berikut dari dalam direktori hybrid-files:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650

    Dengan DOMAIN adalah domain yang Anda cadangkan untuk penginstalan campuran di Memulai Cepat (campuran) Langkah 5: Konfigurasikan DNS Anda.

    Perintah ini membuat pasangan kunci/sertifikat yang ditandatangani sendiri yang dapat Anda gunakan untuk penginstalan quickstart.

  4. Periksa untuk memastikan file berada di direktori ./certs menggunakan perintah berikut:
    ls ./certs
      keystore.pem
      keystore.key

    Dengan keystore.pem adalah file sertifikat TLS yang ditandatangani sendiri dan keystore.key adalah file kunci.

Sekarang Anda memiliki basis tempat Anda dapat mengonfigurasi, men-deploy, dan mengelola Apigee hybrid di cluster Kubernetes. Selanjutnya, Anda akan membuat file yang digunakan oleh Kubernetes untuk men-deploy komponen runtime campuran ke cluster.

1 2 3 (BERIKUTNYA) Langkah 4: Konfigurasikan cluster 5