שלב 3: התקנה של apigeectl

בשלב הזה מוסבר איך להוריד ולהתקין את apigeectl, להגדיר את ספריות ההתקנה וליצור חשבונות שירות ב-Google Cloud ופרטי כניסה ל-TLS שנדרשים להפעלה של Apigee Hybrid.

הורדה והתקנה של apigeectl

apigeectl הוא ממשק שורת הפקודה (CLI) להתקנה ולניהול של Apigee Hybrid באשכול Kubernetes.

כך מקבלים את apigeectl:

  1. מאחסנים את מספר הגרסה האחרונה במשתנה באמצעות הפקודה הבאה:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. כדי לוודא שהמשתנה אוכלס במספר גרסה, מריצים את הפקודה הבאה. אם רוצים להשתמש בגרסה אחרת, אפשר לשמור אותה במשתנה סביבה.
    echo $VERSION
  3. מורידים את חבילת הגרסה למערכת ההפעלה שלכם באמצעות הפקודה הבאה:

    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 ביט:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. יוצרים ספרייה במערכת שתשמש כספריית הבסיס להתקנת Apigee Hybrid.
  5. מחלקים את התוכן של קובץ ה-gzip שהורד לתיקיית הבסיס שיצרתם באמצעות הפקודה הבאה:

    tar xvzf filename.tar.gz -C path-to-base-directory
  6. משנים את הספרייה לספריית הבסיס באמצעות הפקודה cd.
  7. כברירת מחדל, התוכן של קובץ ה-tar מורחב לספרייה עם הגרסה והפלטפורמה בשם שלה. לדוגמה: ./apigeectl_1.0.0-f7b96a8_linux_64. משנים את שם הספרייה ל-apigeectl באמצעות הפקודה הבאה:

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  8. עוברים לספרייה באמצעות הפקודה הבאה:
    cd ./apigeectl

    הספרייה הזו היא ספריית הבית apigeectl. זה המקום שבו נמצאת הפקודה apigeectl executable.

  9. יוצרים משתנה סביבה שיכיל את הנתיב של ספריית הבית באמצעות הפקודה הבאה:
    export APIGEECTL_HOME=$PWD
  10. כדי לוודא שהמשתנה מכיל את הנתיב הנכון, מריצים את הפקודה הבאה:
    echo $APIGEECTL_HOME

הגדרת מבנה ספריות הפרויקט

הגישה המומלצת היא להשתמש במבנה הספריות הבא. הוא מפריד בין תוכנת Apigee hybrid לבין קובצי התצורה שצריך ליצור. באמצעות המשתנה $APIGEECTL_HOME וקישורים סמליים שאתם יוצרים, אתם יכולים לעבור בקלות לגרסה חדשה של התוכנה אם תרצו. אפשר לעיין גם במאמר בנושא שדרוג Apigee Hybrid.

  1. כדי לוודא שאתם נמצאים בספריית הבסיס (הספרייה שבה נמצאת הספרייה apigeectl), משתמשים בפקודה הבאה:
    cd $APIGEECTL_HOME/..
  2. יוצרים תיקייה חדשה בשם hybrid-files באמצעות הפקודה הבאה. אפשר לתת לספרייה כל שם שרוצים, אבל במסמכים אנחנו משתמשים בשם hybrid-files באופן עקבי. בהמשך, תאחסנו בתיקייה הזו קובצי הגדרות, מפתחות של חשבונות שירות ואישורי TLS. התיקייה הזו מאפשרת לכם לשמור את קובצי ההגדרה בנפרד מהתקנת התוכנה apigeectl.
    mkdir hybrid-files
  3. מבנה הספריות הנוכחי נראה עכשיו כך:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. משנים את הספרייה לתיקייה hybrid-files באמצעות הפקודה הבאה:
    cd hybrid-files
  5. בתוך התיקייה hybrid-files, יוצרים את תיקיות המשנה הבאות כדי לארגן את הקבצים שייווצרו בהמשך:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. בתוך הספרייה hybrid-files, יוצרים את הקישורים הסימבוליים הבאים אל $APIGEECTL_HOME. הקישורים האלה מאפשרים להריץ את הפקודה apigeectl מתוך הספרייה hybrid-files, כמו בדוגמה הבאה:
    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. כדי לוודא שהקישורים הסמליים נוצרו בצורה נכונה, מריצים את הפקודה הבאה ומוודאים שנתיבי הקישורים מצביעים על המיקומים הנכונים:
    ls -l | grep ^l

יצירת חשבונות שירות

‫Apigee hybrid משתמש ב חשבונות שירות של Google Cloud כדי לאפשר לרכיבים היברידיים לתקשר באמצעות ביצוע קריאות מורשות ל-API. בשלב הזה, משתמשים בכלי של שורת הפקודה של Apigee hybrid כדי ליצור קבוצה של חשבונות שירות. הכלי גם מוריד בשבילכם את המפתחות הפרטיים של חשבון השירות. לאחר מכן צריך להוסיף את המפתחות האלה לקובץ ההגדרות של קלאסטר Apigee Hybrid.

ב-Apigee יש כלי, create-service-account, שיוצר את חשבון השירות, מקצה את התפקידים לחשבון השירות ויוצר ומוריד את קובצי המפתח של חשבון השירות בפקודה אחת. מידע נוסף על המושגים הרלוונטיים ב-Google Cloud זמין במאמרים יצירה וניהול של חשבונות שירות ויצירה וניהול של מפתחות לחשבונות שירות.

  1. חשוב לוודא שאתם נמצאים בספרייה base_directory/hybrid-files שהגדרתם בהגדרת מבנה ספריית הפרויקט.
  2. מריצים את הפקודה הבאה מתוך הספרייה hybrid-files. הפקודה הזו יוצרת חשבון שירות לרכיב apigee-metrics וממקמת את המפתח שהורד בספרייה ./service-accounts.
    ./tools/create-service-account apigee-metrics ./service-accounts

    כשמופיעה ההודעה הבאה, מזינים 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.

    אם זו הפעם הראשונה שנוצרת SA עם השם המדויק שהוקצה על ידי הכלי, הכלי פשוט יוצר אותה ואין צורך לבצע פעולות נוספות.

    אם מוצגת לכם ההודעה וההנחיה הבאות, מזינים y כדי ליצור מפתחות חדשים:

    [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. עכשיו יוצרים את שאר חשבונות השירות באמצעות הפקודות הבאות. הפקודה create-service-account היא אינטראקטיבית ודורשת תשובה לכל חשבון.
    ./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. מוודאים שמפתחות חשבון השירות נוצרו באמצעות הפקודה הבאה. באחריותכם לאחסן את המפתחות הפרטיים האלה בצורה מאובטחת. שמות קובצי המפתחות מתחילים בשם של הפרויקט בענן ב-Google Cloud.
    ls ./service-accounts

    התוצאה אמורה להיראות בערך כך:

    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. מקצים את התפקיד Apigee Organization Admin לחשבונות השירות apigee-org-admin:
  6. מוודאים שכתובת האימייל של חשבון השירות apigee-org-admin תואמת לתבנית service_account@PROJECT_ID.iam.gserviceaccount.com, כמו בדוגמה הבאה:
    gcloud iam service-accounts list --filter "apigee-org-admin"
  7. מקצים את התפקיד באמצעות הפקודה הבאה:
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin

    PROJECT_ID הוא מזהה הפרויקט שלכם ב-Google Cloud. אם כתובות האימייל של חשבון השירות שונות מהתבנית הזו, צריך להחליף אותן בהתאם.

    הפלט צריך לכלול רשימה של כל חשבונות השירות והתפקידים שלהם, כולל הפרטים הבאים:

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

יצירת אישורי TLS

אתם נדרשים לספק אישורי TLS לשער הכניסה של זמן הריצה בהגדרת Apigee Hybrid. לצורך המדריך למתחילים הזה (התקנת ניסיון שאינה בסביבת ייצור), שער זמן הריצה יכול לקבל פרטי כניסה בחתימה עצמית. בשלבים הבאים, נעשה שימוש ב-openssl כדי ליצור את פרטי הכניסה עם החתימה העצמית.

בשלב הזה, יוצרים את קובצי פרטי הכניסה של TLS ומוסיפים אותם לספרייה base_directory/hybrid-files/certs. בשלב 4: הגדרת האשכול, מוסיפים את הנתיבים לקובץ התצורה של האשכול.

  1. חשוב לוודא שאתם נמצאים בספרייה base_directory/hybrid-files שהגדרתם בהגדרת מבנה ספריית הפרויקט.
  2. מוודאים ששם הדומיין נשמר במשתנה הסביבה DOMAIN באמצעות הפקודה הבאה:
    echo $DOMAIN
  3. מריצים את הפקודה הבאה מתוך הספרייה hybrid-files:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650

    DOMAIN הוא הדומיין שהזמנתם להתקנה ההיברידית בהפעלה מהירה (היברידית) שלב 5: הגדרת ה-DNS.

    הפקודה הזו יוצרת זוג מפתחות/אישור עם חתימה עצמית שאפשר להשתמש בו להתקנה מהירה.

  4. כדי לוודא שהקבצים נמצאים בספרייה ./certs, מריצים את הפקודה הבאה:
    ls ./certs
      keystore.pem
      keystore.key

    keystore.pem הוא קובץ אישור ה-TLS בחתימה עצמית ו-keystore.key הוא קובץ המפתח.

עכשיו יש לכם בסיס שממנו תוכלו להגדיר, לפרוס ולנהל את Apigee hybrid באשכול Kubernetes. בשלב הבא, תיצרו קובץ שמשמש את Kubernetes כדי לפרוס את רכיבי זמן הריצה ההיברידיים באשכול.

1 2 3 (NEXT) Step 4: Configure the cluster 5