사양 스키마
PgBouncerSpec은 PgBouncer의 선택된 상태를 정의합니다.
accessMode: string
allowSuperUserAccess: boolean
dbclusterRef: string
parameters: object
podSpec:
image: string
resources:
cpu: integer or 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: object
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
type: string
matchLabels: object
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
type: string
matchLabels: object
namespaces: string
topologyKey: string
tolerations:
- effect: string
key: string
operator: string
tolerationSeconds: integer
value: string
replicaCount: integer
serverTLS:
certSecret:
name: string
serviceOptions:
annotations: object
gcp:
loadBalancerIP: string
loadBalancerType: string
loadBalancerSourceRanges: array
items: string
type: object
필드 유형필수 또는 선택사항 |
설명 |
---|---|
accessMode
| |
string 선택사항 |
PgBouncer 연결의 read-write 또는 read-only 액세스 모드를 정의합니다. 기본값은 read-only 입니다.
|
allowSuperUserAccess
| |
boolean 선택사항 | AllowSuperUserAccess는 true 또는 false로 설정할 수 있습니다. |
dbclusterRef
| |
string 필수 |
DBClusterRef는 PgBouncer가 연결을 풀링하는 DBCluster 이름입니다.
참조하는 DBCluster와 동일한 네임스페이스에 PgBouncer 객체를 만들어야 합니다. 이 필드는 PgBouncer 연결 풀링에 필요합니다.
|
parameters
| |
object 선택사항 | 매개변수에는 설정할 수 있는 다양한 PgBouncer 구성의 키-값 쌍이 포함됩니다. 사용 가능한 다양한 옵션은 https://www.pgbouncer.org/config.html을 참고하세요. PgBouncer 서비스 만들기 에서는 이 사양의 몇 가지 샘플 예시를 제공합니다. |
podspec
| |
object 필수 | PodSpec에는 PgBouncer 포드의 사양이 포함됩니다. 여기에는 PgBouncer 포드를 제공하는 이미지, 컴퓨팅, 스토리지 리소스와 함께 일정 옵션이 포함됩니다. |
podSpec.image
| |
string 필수 | 이미지는 아티팩트 레지스트리 내 맞춤설정된 pgbouncer 이미지의 Uniform Resource Identifier입니다. |
podSpec.resources
| |
object 필수 | 리소스는 메모리 및 CPU의 현재 구성을 나타냅니다. |
podSpec.resources.cpu
| |
integer or string 필수 | pgbouncer 컨테이너에 할당된 CPU 양입니다. |
podSpec.resources.memory
| |
integer or string 필수 | PgBouncer 컨테이너에 할당된 메모리 양입니다. |
podSpec.schedulingConfig
| |
object 선택사항 | SchedulingConfig 필드를 사용하여 Kubernetes 노드에서 인스턴스가 예약되는 방식을 지정합니다. 예약 구성 내의 필드를 변경하면 새 구성에 따라 Kubernetes에서 포드를 다른 노드로 다시 예약할 수 있습니다. |
podSpec.schedulingConfig.nodeAffinity
| |
object 선택사항 | NodeAffinity는 인스턴스의 노드 어피니티 예약 규칙을 설명합니다. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object 선택사항 | 이 필드를 사용하면 포드 예약의 선호도를 지정할 수 있습니다. 스케줄러는 선호도와 일치하는 노드에 포드를 배치하려고 합니다. 하지만 항상 가능한 것은 아닙니다. 스케줄러는 선호도와 얼마나 일치하는지에 따라 각 노드의 '가중치'를 계산하고 가중치가 가장 높은 노드를 선택합니다. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
| |
object 필수 | 해당 가중치와 연결된 노드 선택기 용어입니다. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
| |
object 선택사항 | 노드의 라벨별 노드 선택기 요구사항 목록입니다. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
| |
string 필수 | 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
| |
string 필수 |
키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist , Gt , Lt 입니다.
|
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
| |
string 선택사항 |
문자열 값의 배열입니다. 연산자가 In 또는 NotIn 인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist 인 경우 값 배열은 비어 있어야 합니다. 연산자가 Gt 또는 Lt 인 경우 값 배열에는 정수로 해석되는 단일 요소가 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다.
|
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
| |
object 선택사항 | 노드의 필드별 노드 선택기 요구사항 목록입니다. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
| |
string 필수 | 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
| |
string 필수 |
키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist , Gt , Lt 입니다.
|
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
| |
string 선택사항 | 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 연산자가 Gt 또는 Lt인 경우 값 배열에는 정수로 해석되는 단일 요소가 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer 필수 | 해당 nodeSelectorTerm과 일치하는 데 연결된 가중치는 1~100 (포함) 범위에 있습니다. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object 선택사항 | 이 필드의 어피니티 요구사항이 충족되지 않으면 스케줄러는 포드를 노드에 예약하지 않습니다. 업데이트 등으로 인해 포드 실행 중에 이 필드에 지정된 어피니티 요구사항이 충족되지 않으면 시스템에서 결국 노드에서 포드를 제거하려고 시도할 수도 있고 시도하지 않을 수도 있습니다. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
| |
object 필수 | 노드 선택기 용어 목록입니다. 용어는 OR됩니다. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
| |
object 선택사항 | 노드의 라벨별 노드 선택기 요구사항 목록입니다. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
| |
string 필수 | 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
| |
string 필수 |
키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist , Gt , Lt 입니다.
|
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
| |
string 선택사항 | 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 연산자가 Gt 또는 Lt인 경우 값 배열에는 정수로 해석되는 단일 요소가 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
| |
object 선택사항 | 노드의 필드별 노드 선택기 요구사항 목록입니다. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
| |
string 필수 | 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
| |
string 필수 |
키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist , Gt , Lt 입니다.
|
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
| |
string 선택사항 | 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 연산자가 Gt 또는 Lt인 경우 값 배열에는 정수로 해석되는 단일 요소가 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAffinity
| |
object 선택사항 | PodAffinity는 인스턴스의 포드 어피니티 예약 규칙을 설명합니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object 선택사항 | 스케줄러는 포드를 예약할 때 이 필드에 지정된 어피니티 표현식을 충족하는 노드에 우선순위를 부여합니다. 스케줄러는 기준을 완전히 충족하지 않는 노드를 선택할 수도 있습니다. 가장 선호하는 노드는 총 가중치가 가장 높은 노드입니다. 이 가중치는 모든 예약 요구사항 (예: 리소스 요청 또는 requiredDuringScheduling 어피니티 표현식)을 충족하는 각 노드의 값을 더하여 계산됩니다. 일치하는 각 podAffinityTerm에 대해 노드의 가중치가 증가하고 총 가중치가 가장 높은 노드가 가장 선호하는 노드로 선택됩니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
object 필수 | 해당 가중치와 연결된 포드 어피니티 용어입니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
object 선택사항 | 리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
object 선택사항 | 일치하려면 목록 내의 모든 matchExpression이 true여야 합니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
string 필수 | 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
string 필수 |
연산자는 키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist 입니다.
|
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
| |
string 선택사항 | values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
| |
object 선택사항 | matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고 연산자가 'In'이며 값 배열에 'value'만 포함된 matchExpressions 요소와 동일합니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
object 선택사항 | 용어가 적용되는 네임스페이스 집합에 대한 라벨 쿼리입니다. 이 용어는 이 필드에서 선택한 네임스페이스와 namespaces 필드에 나열된 네임스페이스의 합집합에 적용됩니다. null 선택기와 null 또는 빈 네임스페이스 목록은 '이 포드의 네임스페이스'를 의미합니다. 빈 선택기 ({})는 모든 네임스페이스와 일치합니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
object 선택사항 | matchExpressions는 라벨 선택기 요구사항 목록입니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
| |
string 필수 | key는 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
string 필수 |
연산자는 키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist 입니다.
|
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
| |
string 선택사항 | values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
| |
object 선택사항 | matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고 연산자가 'In'이며 값 배열에 'value'만 포함된 matchExpressions 요소와 동일합니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
string 선택사항 | namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
string 필수 | 이 포드는 지정된 네임스페이스에서 labelSelector와 일치하는 포드와 함께 배치 (어피니티)되거나 함께 배치되지 않아야 합니다 (안티 어피니티). 동일한 위치는 키 topologyKey가 있는 라벨의 값이 선택한 포드 중 하나가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer 필수 | 해당 podAffinityTerm과 일치하는 데 관련된 가중치입니다(범위: 1~100). |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object 선택사항 | 예약 시 이 필드에 지정된 어피니티 요구사항이 충족되지 않으면 포드가 노드에 예약되지 않습니다. 포드 실행 중에 이 필드에 지정된 어피니티 요구사항이 충족되지 않으면(예: 포드 라벨 업데이트로 인해) 시스템에서 결국 노드에서 포드를 제거하려고 시도할 수도 있고 시도하지 않을 수도 있습니다. 요소가 여러 개인 경우 각 podAffinityTerm에 해당하는 노드 목록이 교차되므로 모든 용어가 충족되어야 합니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object 선택사항 | 리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object 선택사항 | 리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
object 선택사항 | 일치하려면 목록 내의 모든 matchExpression이 true여야 합니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
string 필수 | key는 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
string 필수 |
연산자는 키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist 입니다.
|
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
| |
string 선택사항 | values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
| |
object 선택사항 | matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고 연산자가 'In'이며 값 배열에 'value'만 포함된 matchExpressions 요소와 동일합니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
object 선택사항 | 용어가 적용되는 네임스페이스 집합에 대한 라벨 쿼리입니다. 이 용어는 이 필드에서 선택한 네임스페이스와 namespaces 필드에 나열된 네임스페이스의 합집합에 적용됩니다. null 선택기와 null 또는 빈 네임스페이스 목록은 '이 포드의 네임스페이스'를 의미합니다. 빈 선택기 ({})는 모든 네임스페이스와 일치합니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
object 선택사항 | matchExpressions는 라벨 선택기 요구사항 목록입니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
string 필수 | key는 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
string 필수 |
연산자는 키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist , Gt , Lt 입니다.
|
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
| |
string 선택사항 | values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object 선택사항 | matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고 연산자가 'In'이며 값 배열에 'value'만 포함된 matchExpressions 요소와 동일합니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object 선택사항 | matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고 연산자가 'In'이며 값 배열에 'value'만 포함된 matchExpressions 요소와 동일합니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
string 선택사항 | namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
string 필수 | 이 포드는 지정된 네임스페이스에서 labelSelector와 일치하는 포드와 함께 배치 (어피니티)되거나 함께 배치되지 않아야 합니다 (안티 어피니티). 동일한 위치는 키 topologyKey가 있는 라벨의 값이 선택한 포드 중 하나가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다. |
podSpec.schedulingConfig.podAntiAffinity
| |
object 선택사항 | PodAntiAffinity는 인스턴스의 포드 안티어피니티 예약 규칙을 설명합니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object 선택사항 | 스케줄러는 이 필드에 지정된 비선호도 표현식을 충족하는 노드에 포드를 예약하는 것을 선호하지만, 하나 이상의 표현식을 위반하는 노드를 선택할 수도 있습니다. 가장 선호되는 노드는 가중치의 합이 가장 큰 노드입니다. 즉, 모든 예약 요구사항 (리소스 요청, requiredDuringScheduling 비선호도 표현식 등)을 충족하는 각 노드에 대해 이 필드의 요소를 반복하고 노드에 해당 podAffinityTerm과 일치하는 포드가 있는 경우 합계에 '가중치'를 더하여 합계를 계산합니다. 합계가 가장 높은 노드가 가장 선호됩니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
object 필수 | 해당 가중치와 연결된 포드 어피니티 용어입니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
object 선택사항 | 리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
object 선택사항 | matchExpressions는 라벨 선택기 요구사항 목록입니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
string 필수 | key는 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
string 필수 |
연산자는 키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist 입니다.
|
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
| |
string 선택사항 | values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
| |
object 선택사항 | matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고 연산자가 'In'이며 값 배열에 'value'만 포함된 matchExpressions 요소와 동일합니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
object 선택사항 | 용어가 적용되는 네임스페이스 집합에 대한 라벨 쿼리입니다. 이 용어는 이 필드에서 선택한 네임스페이스와 namespaces 필드에 나열된 네임스페이스의 합집합에 적용됩니다. null 선택기와 null 또는 빈 네임스페이스 목록은 '이 포드의 네임스페이스'를 의미합니다. 빈 선택기 ({})는 모든 네임스페이스와 일치합니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
object 선택사항 | matchExpressions는 라벨 선택기 요구사항 목록입니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
| |
string 필수 | key는 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
string 필수 |
연산자는 키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist 입니다.
|
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
| |
string 선택사항 | values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
| |
object 선택사항 |
키-값 쌍의 맵입니다. 각 키-값 쌍은 요구사항으로 작동합니다. 스케줄러는 matchLabels 에 지정된 모든 라벨이 있는 노드와 포드를 일치시킵니다.
|
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
string 선택사항 | namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
string 필수 | 이 포드는 지정된 네임스페이스에서 labelSelector와 일치하는 포드와 함께 배치 (어피니티)되거나 함께 배치되지 않아야 합니다 (안티 어피니티). 동일한 위치는 키 topologyKey가 있는 라벨의 값이 선택한 포드 중 하나가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer 필수 | 해당 podAffinityTerm과 일치하는 데 관련된 가중치입니다(범위: 1~100). |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object 선택사항 | 예약 시간에 이 필드에 지정된 안티어피니티 요구사항이 충족되지 않으면 포드가 노드에 예약되지 않습니다. 이 필드에 지정된 반어피니티 요구사항이 포드 실행 중에 어느 시점에서 충족되지 않으면 (예: 포드 라벨 업데이트로 인해) 시스템에서 결국 노드에서 포드를 축출하려고 시도할 수도 있고 시도하지 않을 수도 있습니다. 요소가 여러 개인 경우 각 podAffinityTerm에 해당하는 노드 목록이 교차되므로 모든 용어가 충족되어야 합니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object 선택사항 | 리소스 집합(이 경우 포드)에 대한 라벨 쿼리입니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
object 선택사항 | matchExpressions는 라벨 선택기 요구사항 목록입니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
string 필수 | key는 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
string 필수 |
연산자는 키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist 입니다.
|
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
| |
string 선택사항 | values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
| |
object 선택사항 | matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고 연산자가 'In'이며 값 배열에 'value'만 포함된 matchExpressions 요소와 동일합니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
object 선택사항 | 용어가 적용되는 네임스페이스 집합에 대한 라벨 쿼리입니다. 이 용어는 이 필드에서 선택한 네임스페이스와 namespaces 필드에 나열된 네임스페이스의 합집합에 적용됩니다. null 선택기와 null 또는 빈 네임스페이스 목록은 '이 포드의 네임스페이스'를 의미합니다. 빈 선택기 ({})는 모든 네임스페이스와 일치합니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
object 선택사항 | matchExpressions는 라벨 선택기 요구사항 목록입니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
string 필수 | key는 선택기가 적용되는 라벨 키입니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
string 필수 |
연산자는 키와 값 집합의 관계를 나타냅니다. 유효한 연산자는 In , NotIn , Exists , DoesNotExist 입니다.
|
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
| |
string 선택사항 | values는 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 대체됩니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object 선택사항 | matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 'key'이고 연산자가 'In'이며 값 배열에 'value'만 포함된 matchExpressions 요소와 동일합니다. 요구사항은 AND로 연결됩니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
string 선택사항 | namespaces는 용어가 적용되는 네임스페이스 이름의 정적 목록을 지정합니다. 이 용어는 이 필드에 나열된 네임스페이스와 namespaceSelector로 선택된 네임스페이스의 합집합에 적용됩니다. null 또는 빈 네임스페이스 목록과 null namespaceSelector는 '이 포드의 네임스페이스'를 의미합니다. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
string 필수 | 이 포드는 지정된 네임스페이스에서 labelSelector와 일치하는 포드와 함께 배치 (어피니티)되거나 함께 배치되지 않아야 합니다 (안티 어피니티). 동일한 위치는 키 topologyKey가 있는 라벨의 값이 선택한 포드 중 하나가 실행 중인 노드의 값과 일치하는 노드에서 실행되는 것으로 정의됩니다. 빈 topologyKey는 허용되지 않습니다. |
podSpec.schedulingConfig.tolerations
| |
object 선택사항 | 톨러레이션을 사용하면 특정 taint가 적용된 Kubernetes 노드에 인스턴스 예약을 허용할지 또는 허용하지 않을지 관리할 수 있습니다. |
podSpec.schedulingConfig.tolerations.effect
| |
string 선택사항 | Effect는 일치할 taint 효과를 나타냅니다. 비어 있으면 모든 taint 효과가 일치함을 의미합니다. 지정된 경우 허용되는 값은 NoSchedule, PreferNoSchedule, NoExecute입니다. |
podSpec.schedulingConfig.tolerations.key
| |
string 선택사항 | Key는 톨러레이션(toleration)이 적용되는 taint 키입니다. 비어 있으면 모든 taint 키와 일치합니다. 키가 비어 있으면 연산자는 Exists여야 합니다. 이 조합은 모든 값과 모든 키가 일치해야 함을 의미합니다. |
podSpec.schedulingConfig.tolerations.operator
| |
string 선택사항 |
Operator는 키와 값의 관계를 나타냅니다. 유효한 연산자는 Exists 및 Equal 입니다. 기본값은 Equal 입니다. Exists 는 값의 와일드카드와 동일하므로 포드가 특정 카테고리의 모든 테인트를 허용할 수 있습니다.
|
podSpec.schedulingConfig.tolerations.tolerationSeconds
| |
integer 선택사항 | TolerationSeconds는 내결함성 (효과가 NoExecute여야 함, 그렇지 않으면 이 필드는 무시됨)이 taint를 허용하는 기간을 나타냅니다. 기본적으로 이 필드는 설정되지 않으며 이는 오염을 영원히 허용 (제거하지 않음)한다는 의미입니다. 0과 음수 값은 시스템에서 0 (즉시 삭제)으로 처리됩니다. |
podSpec.schedulingConfig.tolerations.value
| |
string 선택사항 | Value는 톨러레이션(toleration)이 일치할 taint 값입니다. 연산자가 Exists인 경우 값은 비어 있어야 하고, 그렇지 않으면 일반 문자열이어야 합니다. |
replicaCount
| |
integer 선택사항 | ReplicaCount는 배포할 PgBouncer 복제본 수를 정의합니다. |
serverTLS
| |
object 선택사항 | ServerTLSSpec은 PgBouncer가 인증 쿼리를 위해 데이터베이스 클러스터에 연결하는 데 사용하는 암호화된 통신의 인증서 보안 비밀번호를 정의합니다. |
serverTLS.certSecret
| |
object 선택사항 | CertSecret은 동일한 네임스페이스 내의 인증서 보안 비밀을 참조합니다. 보안 비밀에는 ca.crt (CA 인증서), tls.key (비공개 키), tls.crt (리프 인증서) 항목이 포함되어야 합니다. 이 보안 비밀 내의 값은 pgbouncer.ini에서 server_tls_ca_file, server_tls_cert_file, server_tls_key_file을 채우는 데 사용됩니다. CA 인증서는 데이터베이스 클러스터의 리프 인증서에 서명한 CA와 일치해야 합니다. 리프 인증서에는 CommonName 'alloydbpgbouncer'가 포함되어야 합니다. |
serverTLS.certSecret.name
| |
string 선택사항 | '지칭 대상의 이름입니다. 자세한 내용은 객체 작업#이름을 참고하세요. |
serviceOptions
| |
object 필수 | ServiceOptions는 PgBouncer 포드에 액세스하기 위한 연결 옵션을 정의합니다. |
serviceOptions.annotations
| |
object 선택사항 | 고객이 제공한 주석은 loadbalancer 유형의 서비스 객체에 추가됩니다. |
serviceOptions.gcp
| |
object 선택사항 | GCP에는 Kubernetes LoadBalancer의 Google Cloud 관련 속성이 포함되어 있습니다. |
serviceOptions.gcp.loadBalancerIP
| |
integer or string 선택사항 | LoadBalancerIP는 고정 IP 주소입니다(고정 외부 IP 주소 예약 참고). |
serviceOptions.gcp.loadBalancerType
| |
string 선택사항 | LoadBalancer는 내부 또는 외부일 수 있습니다. 내부 부하 분산기를 참고하세요. |
serviceOptions.loadBalancerSourceRanges
| |
array 선택사항 |
클라이언트에 허용된 소스 IP 주소의 CIDR 범위입니다. 이 파라미터는 LoadBalancer 에만 적용됩니다.
|
serviceOptions.loadBalancerSourceRanges.items
| |
string 선택사항 | 소스 IP 주소의 각 CIDR 범위입니다. |
serviceOptions.type
| |
string 필수 |
PgBouncer 포드에 액세스하는 Kubernetes 서비스 유형입니다. 값은 LoadBalancer 또는 ClusterIP 일 수 있습니다.
|
상태 스키마
PgBouncerStatus는 PgBouncer의 관찰된 상태를 정의합니다.
ipAddress: string
phase: string
필드 유형필수 또는 선택사항 |
설명 |
---|---|
ipAddress
| |
string 필수 | ipAddress는 데이터베이스에 액세스하기 위해 연결할 수 있는 PgBouncer 엔드포인트입니다. |
phase
| |
string 필수 | phase는 PgBouncer 배포의 상태를 설명합니다. WaitingForDeploymentReady, Acquiring IP, Ready와 같은 값이 여기에 표시됩니다. |