DBinstance v1.1.1 커스텀 리소스 정의

사양 스키마

DBInstanceSpec은 DBInstance의 원하는 상태를 정의합니다.

conditions:
- lastTransactionTime: 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
lastBackupTime: string
nextBackupTime: string
observedGeneration: integer
dbcParent:
  name: string
instanceType: string
isStopped: boolean
nodeCount: integer
progressTimeout: string
resources:
  cpu:
  - disks:
    accessModes: string
    annotations: object
    name: string
    selector:
      matchExpressions:
      - key: string
        operator: string
        values: string
        matchLabels: object
    size: string
    storageClass: string
    volumeName: string
  memory: integer or string
schedulingconfig:
  nodeaffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      preference:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchFields:
        - key: string
          operator: string
          values: string
      weight: integer
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchFields:
        - key: string
          operator: string
          values: string
  podAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      podAffinityTerm:
        labelSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels:
        namespaceSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels: object
        namespaces: string
        topologyKey: string
      weight: integer
    requiredDuringSchedulingIgnoredDuringExecution:
      labelSelector:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchLabels: object
      namespaceSelector:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchLabels: object
      namespaces: string
      topologyKey: string
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      podAffinityTerm:
        labelSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels:
        namespaceSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels: object
        namespaces: string
        topologyKey: string
      weight: integer
    requiredDuringSchedulingIgnoredDuringExecution:
      labelSelector:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchLabels: object
      namespaceSelector:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchLabels: object
      namespaces: string
      topologyKey: string
  tolerations:
  - effect: string
    key: string
    operator: string
    tolerationSeconds: integer
    value: string

필드

유형
필수 또는 선택사항

 

설명
dbcParent
object
선택사항
DBClusterParent는 이 DBInstance가 복제하는 DBCluster입니다.
dbcParent.name
string
선택사항
참조 대상의 이름입니다. 자세한 내용은 이름을 참고하세요.
instanceType
string
선택사항
InstanceType는 DBInstance의 유형을 나타냅니다. 현재 'ReadPool' 유형만 지원합니다.
isStopped
boolean
선택사항
IsStopped가 true이면 이 DBInstance의 DBNodes가 중지됩니다. 이 필드의 기본값은 false입니다. DBCluster의 기본 DBNode를 중지해도 ReadPool DBInstance의 DBNode가 자동으로 중지되지 않습니다. 중지하면 인스턴스의 컴퓨팅 리소스 (CPU, 메모리)가 해제됩니다. 하지만 DBNode는 여전히 저장소 리소스를 유지합니다.
nodeCount
integer
필수
NodeCount는 이 DBInstance에 대해 생성해야 하는 DBNode 수를 결정합니다.
progressTimeout
string
선택사항
ProgressTimeout은 컨트롤러가 DBNode를 프로비저닝하려고 시도하는 시간(초) 또는 DBNode가 준비되지 않을 수 있는 시간을 결정하여 DBNode가 실패했다고 간주합니다. 값이 0이면 제한 시간이 사용되지 않습니다.
resources
object
선택사항
리소스는 이 DBInstance에 속한 인스턴스에 사용되는 리소스(즉, DBNode)를 지정합니다. 생략하면 인스턴스에서 DBCluster의 기본 인스턴스와 동일한 리소스를 사용합니다.
resources.cpu
integer or string
필수
데이터베이스 컨테이너에 할당된 CPU 양입니다.
resources.disks
object
필수
데이터베이스 컨테이너에 할당된 디스크의 사양입니다.
resources.disks.accessModes
string
선택사항
AccessModes에는 볼륨에 대한 원하는 액세스 모드가 포함됩니다. 자세한 내용은 액세스 모드를 참고하세요.
resources.disks.annotations
object
선택사항
영구 볼륨 클레임에 추가 주석이 추가되었습니다. 이를 통해 다른 도구와 통합할 수 있습니다.
resources.disks.name
string
필수
디스크의 이름입니다.허용되는 값은 'DataDisk', 'LogDisk' , 'BackupDisk', 'ObsDisk'입니다.
resources.disks.selector
object
선택사항
바인딩을 고려할 볼륨에 대한 라벨 쿼리입니다. 이 필드는 선택사항입니다. 이 필드가 설정되면 일치하는 라벨이 있는 볼륨이 디스크의 백업 볼륨으로 사용됩니다. 자세한 내용은 PersistentVolumeClaimSpec을 참고하세요.
resources.disks.selector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
resources.disks.selector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
resources.disks.selector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
resources.disks.selector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
resources.disks.selector.matchLabels
object
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
resources.disks.size
string
필수
디스크 크기(바이트). 예를 들어 10기가바이트의 경우 '10Gi'입니다. 허용되는 크기 단위 접두사는 2진수의 경우 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei'입니다. 10진수의 경우 'K', 'M', 'G', 'T', 'P', 'E'도 사용합니다. 자세한 내용은 단위 접두사를 참고하세요.
resources.disks.storageClass
string
선택사항
StorageClass는 특정 CSI 스토리지 클래스를 가리킵니다. 이 필드는 선택사항입니다. 이 필드를 설정하지 않으면 Kubernetes 클러스터의 기본 CSI 스토리지 클래스가 사용됩니다. Kubernetes 클러스터에 기본값이 없으면 Persistence Volume Claim이 실패하고 데이터베이스 클러스터가 프로비저닝되지 않습니다. 자세한 내용은 저장소 등급을 참조하세요.
resources.disks.volumeName
string
선택사항
VolumeName은 이 디스크에 연결된 영구 볼륨에 대한 바인딩 참조입니다. 이 필드는 선택사항입니다. 이렇게 하면 기존 볼륨을 재사용할 수 있습니다. 이 필드를 지정하면 'storageClass' 값이 적용되지 않습니다. 자세한 내용은 바인딩을 참고하세요.
resources.memory
integer or string
필수
데이터베이스 컨테이너에 할당된 메모리 양입니다.
schedulingConfig
object
선택사항
SchedulingConfig는 Kubernetes 노드에서 인스턴스를 예약하는 방법을 지정합니다. 생략하면 인스턴스에서 DBCluster의 기본 인스턴스와 동일한 예약 구성을 사용합니다. 예약 구성 내의 필드가 변경되면 구성에 따라 Kubernetes pod가 다른 노드로 다시 예약될 수 있습니다.
schedulingConfig.nodeAffinity
object
선택사항
NodeAffinity는 인스턴스의 노드 어피니티 예약 규칙을 설명합니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
선택사항
스케줄러는 이 필드에 지정된 어피니티 표현식을 충족하는 노드에 포드를 예약하는 것을 선호합니다. 스케줄러가 하나 이상의 표현식을 위반하는 노드를 선택할 수 있습니다. 가장 선호되는 노드는 가중치의 합계가 가장 큰 노드입니다. 즉, 모든 예약 요구사항(리소스 요청, requiredDuringScheduling 어피니티 표현식 등)을 충족하는 각 노드의 경우 이 필드의 요소를 반복하고 노드가 해당 matchExpressions와 일치하는 경우 합계에 '가중치'를 추가하여 합계를 계산합니다. 합계가 가장 큰 노드가 가장 선호됩니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
필수
해당 가중치와 연결된 노드 선택기 용어입니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
선택사항
노드 라벨별 노드 선택기 요구사항 목록입니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
필수
선택기가 적용되는 라벨 키입니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
string
필수
키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist, Gt, Lt입니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
string
선택사항
문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 연산자가 Gt 또는 Lt인 경우 값 배열에는 정수로 해석되는 단일 요소가 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
선택사항
노드 필드별 노드 선택기 요구사항 목록입니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
필수
선택기가 적용되는 라벨 키입니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
string
필수
키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist, Gt, Lt입니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
string
선택사항
문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 연산자가 Gt 또는 Lt인 경우 값 배열에는 정수로 해석되는 단일 요소가 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
필수
해당하는 nodeSelectorTerm과 일치하는 것과 관련된 가중치(1~100 범위)입니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
선택사항
이 필드에 지정된 어피니티 요구사항이 예약 시 충족되지 않으면 포드는 노드에 예약되지 않습니다. 업데이트로 인해 포드 실행 중 특정 시점에 이 필드에 지정된 어피니티 요구사항이 충족되지 않으면 시스템은 노드에서 포드를 삭제하려고 시도할 수도 있고 시도하지 않을 수도 있습니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
필수
노드 선택기 용어 목록입니다. 두 항목은 OR 연산으로 연결됩니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
선택사항
노드 라벨별 노드 선택기 요구사항 목록입니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
필수
선택기가 적용되는 라벨 키입니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
string
필수
키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist, Gt, Lt입니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
string
선택사항
문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 연산자가 Gt 또는 Lt인 경우 값 배열에는 정수로 해석되는 단일 요소가 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
선택사항
노드 필드별 노드 선택기 요구사항 목록입니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
필수
선택기가 적용되는 라벨 키입니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
string
필수
키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist, Gt, Lt입니다.
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
string
선택사항
문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 연산자가 Gt 또는 Lt인 경우 값 배열에는 정수로 해석되는 단일 요소가 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAffinity
object
선택사항
PodAffinity는 인스턴스의 포드 어피니티 예약 규칙을 설명합니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
선택사항
스케줄러는 이 필드에 지정된 어피니티 표현식을 충족하는 노드에 포드를 예약하는 것을 선호합니다. 스케줄러가 하나 이상의 표현식을 위반하는 노드를 선택할 수 있습니다. 가장 선호되는 노드는 가중치 합계가 가장 큰 노드입니다. 모든 예약 요구사항(예: 리소스 요청, requiredDuringScheduling 어피니티 표현식)을 충족하는 각 노드의 경우 이 필드의 요소를 반복하고 노드에 해당 podAffinityTerm과 일치하는 포드가 있는 경우 합계에 '가중치'를 추가하여 합계를 계산합니다. 합계가 가장 높은 노드가 가장 선호됩니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
필수
해당 가중치와 연결된 포드 어피니티 용어입니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
선택사항
리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
선택사항
용어가 적용되는 네임스페이스 집합에 대한 라벨 쿼리입니다. 이 용어는 이 필드에서 선택한 네임스페이스와 네임스페이스 필드에 나열된 네임스페이스의 합집합에 적용됩니다. null 선택기와 null 또는 빈 네임스페이스 목록은 '이 pod의 네임스페이스'를 의미합니다. 빈 선택기 ({})는 모든 네임스페이스와 일치합니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
선택사항
namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
필수
이 포드는 지정된 네임스페이스에서 labelSelector와 일치하는 포드와 함께 배치되거나 (공유 어피니티) 함께 배치되지 않아야 합니다 (비공유 어피니티). 공존은 키 topologyKey가 있는 라벨의 값이 선택된 포드 중 하나가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다.
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
필수
해당 podAffinityTerm과 일치하는 것과 관련된 가중치(1~100 범위)입니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
선택사항
이 필드에 지정된 어피니티 요구사항이 예약 시 충족되지 않으면 포드는 노드에 예약되지 않습니다. 포드 실행 중에 이 필드에 지정된 어피니티 요구사항이 충족되지 않는 경우(예: 포드 라벨 업데이트로 인해) 시스템은 결국 노드에서 포드를 제거하려고 시도할 수도 있고 시도하지 않을 수도 있습니다. 요소가 여러 개인 경우 각 podAffinityTerm에 해당하는 노드 목록이 교차됩니다. 즉, 모든 항목이 충족되어야 합니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
선택사항
리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
선택사항
용어가 적용되는 네임스페이스 집합에 대한 라벨 쿼리입니다. 이 용어는 이 필드에서 선택한 네임스페이스와 네임스페이스 필드에 나열된 네임스페이스의 합집합에 적용됩니다. null 선택기와 null 또는 빈 네임스페이스 목록은 '이 pod의 네임스페이스'를 의미합니다. 빈 선택기 ({})는 모든 네임스페이스와 일치합니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
선택사항
namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
선택사항
namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다.
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
필수
이 포드는 지정된 네임스페이스에서 labelSelector와 일치하는 포드와 함께 배치되거나 (공유 어피니티) 함께 배치되지 않아야 합니다 (비공유 어피니티). 공동 배치는 키 topologyKey가 있는 라벨의 값이 선택한 포드가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다.
schedulingConfig.podAntiAffinity
string
필수
이 포드는 지정된 네임스페이스에서 labelSelector와 일치하는 포드와 함께 배치되거나 (공유 어피니티) 함께 배치되지 않아야 합니다 (비공유 어피니티). 공동 배치는 키 topologyKey가 있는 라벨의 값이 선택한 포드가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다.
schedulingConfig.podAntiAffinity
object
선택사항
PodAntiAffinity는 인스턴스의 포드 안티어피니티 예약 규칙을 설명합니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
선택사항
스케줄러는 이 필드에 지정된 제외 어피니티 표현식을 충족하는 노드에 포드를 예약하는 것을 선호하지만, 스케줄러는 하나 이상의 표현식을 위반하는 노드를 선택할 수도 있습니다. 가장 선호되는 노드는 가중치의 합계가 가장 큰 노드입니다. 즉, 모든 예약 요구사항 (리소스 요청, requiredDuringScheduling 제외 어피니티 표현식 등)을 충족하는 각 노드의 경우 이 필드의 요소를 반복하고 노드에 해당하는 podAffinityTerm과 일치하는 포드가 있는 경우 합계에 '가중치'를 추가하여 합계를 계산합니다. 합계가 가장 높은 노드가 가장 선호됩니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
필수
해당 가중치와 연결된 포드 어피니티 용어입니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
선택사항
리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
선택사항
용어가 적용되는 네임스페이스 집합에 대한 라벨 쿼리입니다. 이 용어는 이 필드에서 선택한 네임스페이스와 네임스페이스 필드에 나열된 네임스페이스의 합집합에 적용됩니다. null 선택기와 null 또는 빈 네임스페이스 목록은 '이 pod의 네임스페이스'를 의미합니다. 빈 선택기 ({})는 모든 네임스페이스와 일치합니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
string
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
선택사항
namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
필수
이 포드는 지정된 네임스페이스의 labelSelector와 일치하는 포드와 함께 배치되거나 (공유 어피니티) 함께 배치되지 않아야 합니다 (비공유 어피니티). 공동 배치는 키 topologyKey가 있는 라벨의 값이 선택한 포드 중 하나가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다.
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
필수
해당 podAffinityTerm과 일치하는 것과 관련된 가중치(1~100 범위)입니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
선택사항
예약 시 이 필드에 지정된 안티어피니티 요구사항이 충족되지 않으면 포드가 노드에 예약되지 않습니다. 포드 실행 중에 이 필드에 지정된 안티어피니티 요구사항이 충족되지 않는 경우(예: 포드 라벨 업데이트로 인해) 시스템은 결국 노드에서 포드를 제거하려고 시도할 수도 있고 시도하지 않을 수도 있습니다. 요소가 여러 개인 경우 각 podAffinityTerm에 해당하는 노드 목록이 교차됩니다. 즉, 모든 항목이 충족되어야 합니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
선택사항
리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.matchLabels
object
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
선택사항
용어가 적용되는 네임스페이스 집합에 대한 라벨 쿼리입니다. 이 용어는 이 필드에서 선택한 네임스페이스와 네임스페이스 필드에 나열된 네임스페이스의 합집합에 적용됩니다. null 선택기와 null 또는 빈 네임스페이스 목록은 '이 pod의 네임스페이스'를 의미합니다. 빈 선택기 ({})는 모든 네임스페이스와 일치합니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
선택사항
matchExpressions는 라벨 선택기 요구사항의 목록입니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
필수
key는 선택기에 적용되는 라벨 키입니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
필수
연산자는 키와 값 집합 간의 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists, DoesNotExist입니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
선택사항
values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
선택사항
matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고, 연산자가 'In'이고, 값 배열에 'value'만 포함된 matchExpressions의 요소와 같습니다. 요구사항은 AND로 연결됩니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
선택사항
namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다.
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
필수
이 포드는 지정된 네임스페이스에서 labelSelector와 일치하는 포드와 함께 배치되거나 (공유 어피니티) 함께 배치되지 않아야 합니다 (비공유 어피니티). 공동 배치는 키 topologyKey가 있는 라벨의 값이 선택한 포드가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다.
schedulingConfig.tolerations
object
선택사항
특정 태그가 적용된 Kubernetes 노드에서 인스턴스 예약을 허용할지 여부를 관리할 수 있는 허용 조건입니다.
schedulingConfig.tolerations.effect
string
선택사항
Effect는 일치시킬 taint 효과를 나타냅니다. 비어 있으면 모든 taint 효과와 일치합니다. 지정된 경우 허용되는 값은 NoSchedule, PreferNoSchedule, NoExecute입니다.
schedulingConfig.tolerations.key
string
선택사항
키는 허용 범위가 적용되는 taint 키입니다. 비어 있으면 모든 오염 키와 일치함을 의미합니다. 키가 비어 있으면 연산자가 Exists여야 합니다. 이 조합은 모든 값과 모든 키를 일치시키는 것을 의미합니다.
schedulingConfig.tolerations.operator
string
선택사항
연산자는 키와 값의 관계를 나타냅니다. 유효한 연산자는 Exists 및 Equal입니다. 기본값은 Equal입니다. Exists는 값에 관한 와일드 카드와 동일하므로 포드는 특정 카테고리의 모든 오염을 허용할 수 있습니다.
schedulingConfig.tolerations.tolerationSeconds
integer
선택사항
TolerationSeconds는 내결함성 (효과가 NoExecute여야 하며 그렇지 않으면 이 필드는 무시됨)이 taint를 허용하는 기간을 나타냅니다. 기본적으로 설정되지 않으며 이는 영구적으로 오염을 허용함을 의미합니다(제거하지 않음). 0 및 음수 값은 시스템에서 0으로 취급됩니다 (즉시 제거됨).
schedulingConfig.tolerations.value
string
선택사항
값은 허용 범위가 일치하는 taint 값입니다. 연산자가 Exists인 경우 값은 비어 있어야 합니다. 그렇지 않으면 일반 문자열입니다.

상태 스키마

DBInstanceStatus는 DBInstance의 관찰된 상태를 정의합니다.

conditions:
- lastTransitionTime:
  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
endpoints:
- name: string
  value: string
observedGeneration: integer
reconciled: boolean

필드

유형
필수 또는 선택사항

 

설명
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, 알 수 없음 중 하나)입니다.
conditions.type
string
필수
조건 유형(CamelCase 또는 foo.example.com/CamelCase) 많은 .condition.type 값은 Available과 같이 리소스 전반에서 일관되지만 임의의 조건이 유용할 수 있으므로(.node.status.conditions 참고) 충돌을 해결하는 기능이 중요합니다. 일치하는 정규식은 (dns1123SubdomainFmt/)?(qualifiedNameFmt)입니다.
criticalIncidents
object
선택사항
CriticalIncidents는 모든 활성 중대한 이슈의 단순 목록입니다.
criticalIncidents.code
string
필수
Code는 이 특정 오류의 오류 코드입니다. 오류 코드는 'DBSE1012'와 같은 DBSE+숫자 문자열입니다.
criticalIncidents.createTime
string
필수
CreateTime은 이 Incident가 출처에서 생성된 타임스탬프입니다.
criticalIncidents.message
string
선택사항
메시지는 발생한 문제 또는 오류를 설명합니다.
criticalIncidents.messageTemplateParams
object
선택사항
MessageTemplateParams에는 사용자 인터페이스에서 사용자 친화적인 데이터 기반 버전의 메시지를 생성하는 데 필요한 키-값 쌍이 포함됩니다.
criticalIncidents.resource
object
필수
리소스에는 문제를 신고한 데이터베이스 서비스 구성요소에 대한 정보와 Kubernetes 리소스에 대한 정보가 포함됩니다.
criticalIncidents.resource.component
string
필수
구성요소는 문제를 신고한 데이터베이스 서비스 하위 시스템의 내부 식별자입니다.
criticalIncidents.resource.location
object
선택사항
위치
criticalIncidents.resource.location.cluster
string
선택사항
Cluster는 영향을 받는 Kubernetes 리소스의 클러스터 이름입니다.
criticalIncidents.resource.location.group
string
선택사항
그룹은 Kubernetes 리소스의 그룹 이름입니다.
criticalIncidents.resource.location.kind
string
선택사항
Kind는 Kubernetes 리소스의 종류입니다.
criticalIncidents.resource.location.name
string
선택사항
Name은 영향을 받은 Kubernetes 리소스의 이름입니다.
criticalIncidents.resource.location.namespace
string
선택사항
네임스페이스는 영향을 받은 Kubernetes 리소스의 네임스페이스입니다.
criticalIncidents.resource.location.version
string
선택사항
그룹은 Kubernetes 리소스의 버전입니다.
criticalIncidents.stackTrace
object
선택사항
StackTrace에는 스택 트레이스의 구조화되지 않은 메시지 목록이 포함됩니다.
criticalIncidents.stackTrace.component
string
선택사항
구성요소는 메시지를 로깅한 데이터베이스 서비스 구성요소의 이름입니다.
criticalIncidents.stackTrace.message
string
선택사항
로깅된 메시지입니다.
criticalIncidents.transientUntil
string
선택사항
TransientUntil(있는 경우)은 지정된 시간까지는 문제를 일시적인 것으로 간주해야 함을 나타냅니다.
endpoints
object
선택사항
엔드포인트는 DBInstance의 DBNode에 액세스할 수 있는 엔드포인트입니다.
endpoints.name
string
필수
Name에는 엔드포인트 이름이 포함됩니다.
endpoints.value
string
선택사항
값에는 엔드포인트 정보가 포함됩니다.
observedGeneration
integer
선택사항
컨트롤러에서 관찰한 세대입니다.
reconciled
boolean
선택사항
컨트롤러에 의해 리소스가 조정되는지 여부를 나타냅니다.