הגדרת משאב מותאם אישית של שכפול v1.8.0

בוחרים גרסת תיעוד:

סכמת המפרט

‫ReplicationSpec מגדיר את המצב הרצוי של הרפליקציה.

dbcluster:
  name: string
downstream:
  control: string
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: string
upstream:
  applicationName: string
  logReplicationSlot: boolean
  logicalReplication:
    databaseName: string
    pluginName: string
  password:
    name: string
    namespace: string
  replicationSlotName: string
  synchronous: string
  username: string

שדה

סוג
חובה או אופציונלי

 

תיאור
dbcluster
object
אופציונלי
‫DBCluster הוא ה-DBCluster שאליו שייך השכפול הזה.
dbcluster.name
string
אופציונלי
השם של הגורם המקשר. מידע נוסף זמין במאמר בנושא שמות.
downstream
object
אופציונלי
‫Downstream מכיל מפרטים לשכפול מסד נתונים במורד הזרם.
downstream.control
string
חובה
הפקד מציין את פעולת הרפליקציה שתתבצע במסד הנתונים הזה. הערכים המותרים הם setup,‏ promote ו-rewind.
downstream.host
string
חובה
המארח הוא נקודת הקצה של החיבור של מסד הנתונים במעלה הזרם, שאליה מסד הנתונים הזה יכול לגשת לצורך שכפול.
downstream.password
object
חובה
הסיסמה היא ההפניה לסוד שמאוחסן במסד הנתונים של המקור, סיסמת המשתמש לשכפול.
downstream.password.name
string
אופציונלי
השם הוא ייחודי במרחב שמות כדי להתייחס למשאב סודי.
downstream.password.namespace
string
אופציונלי
מרחב השמות מגדיר את המרחב שבו שם הסוד חייב להיות ייחודי.
downstream.port
integer
אופציונלי
היציאה היא היציאה של מסד הנתונים במעלה הזרם, שמסד הנתונים הזה יכול לגשת אליה לצורך שכפול. ברירת המחדל היא 5432.
downstream.replicationslotname
string
חובה
‫ReplicationSlotName הוא השם של משבצת הרפליקציה שנוצרה במסד הנתונים במעלה הזרם. הוא משמש את מסד הנתונים הזה לשכפול.
downstream.username
string
חובה
שם המשתמש הוא השם של משתמש השכפול שנוצר במסד הנתונים במעלה הזרם. מסד הנתונים הזה משתמש בו כדי להתחבר ל-upstream לצורך רפליקציה.
upstream
object
אופציונלי
המאגר upstream מכיל מפרט לשכפול מסד נתונים upstream.
upstream.applicationName
string
אופציונלי
‫applicationName הוא המזהה של החיבור לרפליקציה סינכרונית. הערך הזה נדרש אם הערך של Synchronous מוגדר כ-"true".
upstream.logReplicationSlot
boolean
אופציונלי
אם המדיניות LogReplicationSlot מוגדרת כ-true, אפשר לכתוב את משבצת השכפול הזו לקובצי WAL שנוצרו על ידי המופע הראשי.
מומלץ להפעיל את האפשרות הזו, במיוחד ברפליקציות בין אזורים. חשוב לוודא שהאפשרויות ReplayReplicationSlotsOnStandbys מופעלות גם ב-DBCluster הראשי, כדי להבטיח שמשבצת השכפול שנכתבה לקובצי WAL תופעל מחדש בגיבויים למקרה של זמינות גבוהה.
אם שתי האפשרויות מופעלות, תוכלו לוודא שבמקרה של מעבר לגיבוי אוטומטי (failover) או מעבר (switchover) של זמינות גבוהה (HA) ב-DBCluster הראשי, המכונה הראשית החדשה עם זמינות גבוהה תשמור קבצים של WAL שלא התקבלו עדיין על ידי DBCluster המשני.
שימו לב: שינוי השדה הזה יגרום להפעלה מחדש של מסד הנתונים הראשי.
upstream.logicalReplication
object
אופציונלי
‫LogicalReplication מציין את הגדרת השכפול הלוגי של מיקום השכפול. אם השדה ריק, משבצת הרפליקציה מוגדרת כמשבצת רפליקציה פיזית.
upstream.logicalReplication.databaseName
string
אופציונלי
‫DatabaseName הוא מסד הנתונים שמשויך למשבצת הזו. רק שינויים ממסד הנתונים הזה מועברים בסטרימינג דרך המשבצת.
upstream.logicalReplication.pluginName
string
אופציונלי
‫PluginName הוא תוסף הפענוח שמשויך למשבצת הזו. פרטים נוספים זמינים במאמר הסבר על פענוח לוגי.
upstream.password
object
חובה
הסיסמה היא ההפניה לסוד שבו מאוחסנת סיסמת המשתמש של הרפליקציה. אם לא מספקים סיסמה, נוצרת סיסמה שנשמרת בסוד שמוצג בסטטוס.
upstream.password.name
string
אופציונלי
השם הוא ייחודי במרחב שמות כדי להתייחס למשאב סודי.
upstream.password.namespace
string
אופציונלי
מרחב השמות מגדיר את המרחב שבו שם הסוד חייב להיות ייחודי.
upstream.replicationslotname
string
אופציונלי
‫ReplicationSlotName הוא השם של משבצת הרפליקציה שמשמשת לרפליקציה. אם לא מציינים את השם, נוצר שם של משבצת שכפול והוא מוצג בסטטוס.
upstream.synchronous
string
אופציונלי
ההגדרה Synchronous מציינת אם צריך להגדיר את משבצת השכפול לשכפול סינכרוני. אם הערך הוא True, המאפיין applicationName מתווסף לרשימת הגיבויים הסינכרוניים. ברירת המחדל היא false.
הערה: יכול להיות שתהיה לכך השפעה שלילית על הביצועים.
upstream.username
string
אופציונלי
שם המשתמש הוא השם של משתמש הרפליקציה שמשמש לרפליקציה. אם לא תספקו שם משתמש, המערכת תיצור שם משתמש ותציג אותו בסטטוס.

סכימת סטטוס

‫ReplicationStatus מגדיר את המצב שנצפה של Replication.

conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
downstream:
  physicalDownstream:
    passwordResourceVersion: string
    setupStrategies:
      endedAt: string
      message: string
      retries: integer
      startedAt: string
      state: string
      strategy: string
    state: string
observedGeneration: integer
reconciled: boolean
upstream:
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: string

שדה

סוג
חובה או אופציונלי

 

תיאור
conditions[]
object
אופציונלי
התנאים מייצגים את התצפיות האחרונות שזמינות לגבי המצב הנוכחי של הישות.
conditions[].lastTransitionTime
string
חובה
‫lastTransitionTime הוא הזמן האחרון שבו התנאי עבר מסטטוס אחד לאחר, וזה קורה כשהתנאי הבסיסי משתנה. אם לא ידוע מתי התנאי הבסיסי השתנה, צריך להשתמש בשעה שבה השדה של ה-API השתנה.
conditions[].message
string
חובה
‫message הוא הודעה קריאה לאנשים שמציינת פרטים על המעבר. הערך יכול להיות מחרוזת ריקה.
conditions[].observedGeneration
integer
אופציונלי
‫observedGeneration מייצג את ‎ .metadata.generation שעליו התנאי מבוסס. לדוגמה, אם הערך של ‎ .metadata.generation הוא 12, אבל הערך של ‎.status.conditions[x].observedGeneration הוא 9, התנאי לא מעודכן ביחס למצב הנוכחי של המכונה.
conditions[].reason
string
חובה
השדה reason מכיל מזהה פרוגרמטי שמציין את הסיבה למעבר האחרון של התנאי. יוצרים של סוגי תנאים ספציפיים יכולים להגדיר ערכים ומשמעויות צפויים לשדה הזה, וגם אם הערכים נחשבים ל-API מובטח. הערך חייב להיות מחרוזת CamelCase. השדה הזה לא יכול להיות ריק.
conditions[].status
string
חובה
סטטוס התנאי, אחד מהערכים True, ‏ False, ‏ Unknown.
conditions[].type
string
חובה
סוג התנאי ב-CamelCase או בפורמט foo.example.com/CamelCase. ערכים רבים של ‎.condition.type עקביים במשאבים כמו Available. מכיוון שתנאים שרירותיים יכולים להיות שימושיים (ראו .node.status.conditions), היכולת לפתור קונפליקטים חשובה. הביטוי הרגולרי שתואם לו הוא (dns1123SubdomainFmt/)?(qualifiedNameFmt).
criticalIncidents[]
object
חובה
‫CriticalIncidents היא רשימה של כל האירועים הקריטיים הפעילים.
criticalIncidents[].code
string
חובה
הקוד הוא קוד השגיאה של השגיאה הספציפית הזו. קודי השגיאה הם מחרוזות של DBSE+numeric, כמו DBSE1012.
criticalIncidents[].createTime
string
חובה
‫CreateTime היא חותמת הזמן שבה האירוע הזה נוצר במקור.
criticalIncidents[].message
string
אופציונלי
ההודעה מתארת את האירוע או השגיאה שהתרחשו.
criticalIncidents[].messageTemplateParams
object
אופציונלי
‫MessageTemplateParams מכיל צמדי מפתח/ערך שנדרשים כדי ליצור גרסה ידידותית למשתמש ומבוססת-נתונים של Message בממשק המשתמש.
criticalIncidents[].resource
object
חובה
המשאב מכיל מידע על רכיב שירות מסד הנתונים שדיווח על האירוע, וגם מידע על משאב ב-Kubernetes.
criticalIncidents[].resource.component
string
חובה
הרכיב הוא מזהה פנימי של תת-המערכת של שירות מסד הנתונים שדיווחה על האירוע.
criticalIncidents[].resource.location
object
אופציונלי
מיקום.
criticalIncidents[].resource.location.cluster
string
אופציונלי
שם האשכול של המשאב המושפע ב-Kubernetes.
criticalIncidents[].resource.location.group
string
אופציונלי
שם הקבוצה של המשאב ב-Kubernetes.
criticalIncidents[].resource.location.kind
string
אופציונלי
הסוג של משאב ב-Kubernetes.
criticalIncidents[].resource.location.name
string
אופציונלי
השם של משאב ב-Kubernetes שהושפע.
criticalIncidents[].resource.location.namespace
string
אופציונלי
מרחב השמות של המשאב המושפע ב-Kubernetes.
criticalIncidents[].resource.location.version
string
אופציונלי
הגרסה של המשאב ב-Kubernetes.
criticalIncidents[].stackTrace[]
object
אופציונלי
רשימה לא מובנית של הודעות מדוח הקריסות.
criticalIncidents[].stackTrace[].component
string
אופציונלי
השם של רכיב בשירות מסד הנתונים שרשם את ההודעה ביומן.
criticalIncidents[].stackTrace.message
string
אופציונלי
הודעה ביומן.
criticalIncidents[].transientUntil
string
אופציונלי
אם מופיע הערך TransientUntil, הבעיה נחשבת זמנית עד לזמן שצוין.
downstream
object
אופציונלי
המאפיין Downstream מכיל את המצב שנצפה במסד הנתונים של שכפול במורד הזרם.
downstream.physicalDownstream
object
אופציונלי
downstream.physicalDownstream.passwordResourceVersion
string
אופציונלי
‫PasswordResourceVersion היא גרסת המשאב של הסיסמה הסודית. הגרסה הזו מייצגת את המועד שבו הסיסמה עודכנה לאחרונה במסד הנתונים.
downstream.physicalDownstream.setupStrategies
object
אופציונלי
השדה SetupStrategies מכיל מידע על הביצוע של כל אסטרטגיית הגדרה שניסיתם. הן מופיעות ברשימה הזו באותו סדר שבו הוגדרו במפרט.
downstream.physicalDownstream.setupStrategies.endedAt
string
אופציונלי
הערך EndedAt הוא השעה שבה הסתיים הניסיון האחרון של האסטרטגיה הזו.
downstream.physicalDownstream.setupStrategies.message
string
אופציונלי
ההודעה היא תיאור של הסיבה לכך שניסיון ההגדרה נמצא במצב הנוכחי.
downstream.physicalDownstream.setupStrategies.retries
integer
אופציונלי
הערך של "ניסיונות חוזרים" הוא מספר הפעמים שהמערכת ניסתה להפעיל את האסטרטגיה הזו.
downstream.physicalDownstream.setupStrategies.startedAt
string
אופציונלי
השדה StartedAt מציין את השעה שבה התחיל הניסיון האחרון של האסטרטגיה הזו.
downstream.physicalDownstream.setupStrategies.state
string
חובה
המצב של שיטת ההגדרה הזו. אפשר להזין בו את הערכים הבאים:
InProgress: האסטרטגיה פועלת.
Success: האסטרטגיה הושלמה בהצלחה ולא יתבצעו ניסיונות נוספים להגדרת אסטרטגיות.
Error: השיטה נכשלה אבל המערכת תנסה שוב. בשדה "ניסיונות חוזרים" יופיע מספר הפעמים שהמערכת ניסתה להפעיל את האסטרטגיה הזו.
Fallback: השיטה נכשלה ולא יתבצע ניסיון חוזר. במקום זאת, המפעיל חוזר לשיטה הזמינה הבאה, אם היא קיימת.
Unknown
downstream.physicalDownstream.setupStrategies.strategy
string
חובה
"שיטה" הוא השם של סוג השיטה שהסטטוס הזה מתייחס אליה.
downstream.physicalDownstream.state
object
אופציונלי
הסטטוס הוא סטטוס הרפליקציה כפי שמופיע בטבלה pg_stat_wal_receiver של שרת מסד הנתונים במורד הזרם.
observedgeneration
integer
אופציונלי
פנימי: הדור שנצפה על ידי הבקר.
reconciled
boolean
אופציונלי
פנימי: אם המשאב הותאם על ידי הבקר.
upstream
object
אופציונלי
המאפיין upstream מכיל את המצב שנצפה במסד הנתונים של השכפול upstream.
upstream.host
string
אופציונלי
המארח הוא נקודת הקצה של החיבור של מסד הנתונים הזה, שמסדי הנתונים במורד הזרם יכולים לגשת אליה לצורך שכפול.
upstream.password
object
אופציונלי
הסיסמה היא ההפניה לסוד שבו מאוחסנת סיסמת המשתמש לשכפול של מסד הנתונים הזה.
upstream.password.name
string
אופציונלי
השם הוא ייחודי במרחב שמות כדי להתייחס למשאב סודי.
upstream.password.namespace
string
אופציונלי
מרחב השמות מגדיר את המרחב שבו שם הסוד חייב להיות ייחודי.
upstream.port
integer
אופציונלי
היציאה היא היציאה של מסד הנתונים הזה, שמסדי נתונים במורד הזרם יכולים לגשת אליה לצורך שכפול.
upstream.replicationslotname
string
אופציונלי
‫ReplicationSlotName הוא השם של משבצת השכפול שנוצרה במסד הנתונים הזה. מסדי נתונים במורד הזרם יכולים להשתמש במשבצת השכפול הזו לשכפול.
upstream.username
string
אופציונלי
שם המשתמש הוא השם של משתמש הרפליקציה במסד הנתונים הזה. מסדי נתונים במורד הזרם יכולים להשתמש במשתמש הזה כדי להתחבר למסד הנתונים הזה לצורך שכפול.