4장. ClusterCSIDriver [operator.openshift.io/v1]
- 설명
- ClusterCSIDriver 오브젝트를 사용하면 OpenShift에 기본적으로 설치된 CSI 드라이버 Operator를 관리하고 구성할 수 있습니다. 오브젝트 이름은 작동하는 CSI 드라이버의 이름이어야 합니다. 허용되는 값 목록은 CSIDriverName 유형을 참조하십시오. 호환성 수준 1: 최소 12 개월 또는 3 개의 마이너 릴리스 (더 긴 버전) 동안 주요 릴리스 내에서 사용할 수 있습니다.
- 유형
-
object
- 필수 항목
-
spec
-
4.1. 사양
속성 | 유형 | 설명 |
---|---|---|
|
| APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| spec에는 구성에 대한 사용자 설정 가능 값이 있습니다. |
|
| status에는 클러스터에서 관찰된 값이 포함되어 있습니다. 재정의할 수 없습니다. |
4.1.1. .spec
- 설명
- spec에는 구성에 대한 사용자 설정 가능 값이 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| driverConfig를 사용하여 플랫폼별 드라이버 구성을 지정할 수 있습니다. 생략하면 이는 의견이 없으며 플랫폼은 합리적인 기본값을 선택할 수 있습니다. 이러한 기본값은 시간에 따라 변경될 수 있습니다. |
|
| 로그 수준은 전체 구성 요소에 대한 의도 기반 로깅입니다. 이는 세분화된 제어를 제공하지 않지만 Operator가 피연산자에 대해 해석해야 하는 집계된 로깅 옵션을 관리하는 간단한 방법입니다. 유효한 값은 "Normal", "Debug", "Trace", "TraceAll"입니다. 기본값은 "Normal"입니다. |
|
| managementState는 운영자가 구성 요소를 관리하는지 여부와 방법을 나타냅니다. |
| `` | observedConfig에는 컨트롤러가 클러스터 상태에서 관찰한 스파스 구성이 있습니다. 이는 Operator의 수준에 대한 입력이기 때문에 spec에 존재합니다. |
|
| operatorLogLevel은 Operator 자체에 대한 의도 기반 로깅입니다. 이는 세분화된 제어를 제공하지 않지만 운영자가 자체적으로 해석해야 하는 집계된 로깅 옵션을 관리하는 간단한 방법입니다. 유효한 값은 "Normal", "Debug", "Trace", "TraceAll"입니다. 기본값은 "Normal"입니다. |
|
| StorageClassState는 CSI Operator가 스토리지 클래스를 생성하고 관리해야 하는지 결정합니다. 이 필드 값이 비어 있거나 Managed - CSI Operator가 스토리지 클래스를 지속적으로 조정하고 필요한 경우 생성합니다. 이 필드 값이 Unmanaged - CSI Operator가 이전에 생성된 스토리지 클래스를 조정하지 않습니다. 이 필드 값이 Removed - CSI Operator가 이전에 생성한 스토리지 클래스를 삭제합니다. 생략하면 사용자에게 의견이 없으며 플랫폼은 시간이 지남에 따라 변경될 수 있는 적절한 기본값을 선택합니다. 현재 기본 동작은 Managed입니다. |
| `` | unsupportedConfigOverrides는 Operator에서 계산된 최종 구성을 재정의합니다. Red Hat은 이 필드의 사용을 지원하지 않습니다. 이 필드를 오용하면 예기치 않은 동작이 발생하거나 다른 구성 옵션과 충돌할 수 있습니다. 이 필드를 사용하기 전에 Red Hat 지원에서 지침을 구하십시오. 이 속성을 사용하면 클러스터 업그레이드가 차단되며 클러스터를 업그레이드하기 전에 제거해야 합니다. |
4.1.2. .spec.driverConfig
- 설명
- driverConfig를 사용하여 플랫폼별 드라이버 구성을 지정할 수 있습니다. 생략하면 이는 의견이 없으며 플랫폼은 합리적인 기본값을 선택할 수 있습니다. 이러한 기본값은 시간에 따라 변경될 수 있습니다.
- 유형
-
object
- 필수 항목
-
driverType
-
속성 | 유형 | 설명 |
---|---|---|
|
| AWS는 AWS CSI 드라이버를 구성하는 데 사용됩니다. |
|
| Azure는 Azure CSI 드라이버를 구성하는 데 사용됩니다. |
|
| driverType은 driverConfig를 적용할 CSI 드라이버 유형을 나타냅니다. 유효한 값은 AWS, Azure, GCP, IBMCloud, vSphere 및 omitted입니다. 소비자는 알 수 없는 값을 NO-OP로 처리해야 합니다. |
|
| GCP는 GCP CSI 드라이버를 구성하는 데 사용됩니다. |
|
| IBM Cloud CSI 드라이버는 IBM Cloud CSI 드라이버를 구성하는 데 사용됩니다. |
|
| vSphere는 vsphere CSI 드라이버를 구성하는 데 사용됩니다. |
4.1.3. .spec.driverConfig.aws
- 설명
- AWS는 AWS CSI 드라이버를 구성하는 데 사용됩니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| efsVolumeMetrics는 EFS CSI 드라이버에서 사용하는 EFS 볼륨에서 메트릭을 수집하는 구성을 설정합니다. |
|
| kmsKeyARN은 AWS에서 사용하는 기본 KMS 키가 아닌 사용자 정의 KMS 키로 볼륨을 암호화하도록 클러스터 기본 스토리지 클래스를 설정합니다. 값은 KMS 키의 ARN 또는 별칭 ARN일 수 있습니다. |
4.1.4. .spec.driverConfig.aws.efsVolumeMetrics
- 설명
- efsVolumeMetrics는 EFS CSI 드라이버에서 사용하는 EFS 볼륨에서 메트릭을 수집하는 구성을 설정합니다.
- 유형
-
object
- 필수 항목
-
상태
-
속성 | 유형 | 설명 |
---|---|---|
|
| recursiveWalk는 상태가 RecursiveWalk로 설정된 경우 AWS EFS CSI 드라이버에서 볼륨 메트릭을 수집하는 추가 구성을 제공합니다. |
|
| state는 AWS EFS CSI 드라이버의 메트릭 컬렉션 상태를 정의합니다. 이 필드는 필수이며 Disabled 또는 RecursiveWalk 값 중 하나로 설정해야 합니다. 비활성화됨은 메트릭 컬렉션이 수행되지 않음을 의미합니다. 이는 기본값입니다. RecursiveWalk는 AWS EFS CSI 드라이버가 반복적으로 검사를 통해 메트릭을 수집할 수 있음을 의미합니다. 이 프로세스는 볼륨 크기에 따라 CPU 및 메모리 사용량이 증가할 수 있습니다. |
4.1.5. .spec.driverConfig.aws.efsVolumeMetrics.recursiveWalk
- 설명
- recursiveWalk는 상태가 RecursiveWalk로 설정된 경우 AWS EFS CSI 드라이버에서 볼륨 메트릭을 수집하는 추가 구성을 제공합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| fsRateLimit는 볼륨 메트릭을 처리하기 위해 파일 시스템당 goroutines에서 속도 제한을 정의합니다. 생략하면 이는 의견이 없으며 플랫폼은 시간이 지남에 따라 변경될 수 있는 적절한 기본값을 선택할 수 있음을 의미합니다. 현재 기본값은 5입니다. 유효한 범위는 1에서 100 goroutines 사이입니다. |
|
| refreshPeriodMinutes는 볼륨 메트릭을 새로 고치는 빈도(분)를 지정합니다. 생략하면 이는 의견이 없으며 플랫폼은 시간이 지남에 따라 변경될 수 있는 적절한 기본값을 선택할 수 있음을 의미합니다. 현재 기본값은 240입니다. 유효한 범위는 1 ~ 43200 분 (30 일)입니다. |
4.1.6. .spec.driverConfig.azure
- 설명
- Azure는 Azure CSI 드라이버를 구성하는 데 사용됩니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| DiskEncryptionSet은 기본 플랫폼 관리 키가 아닌 고객 관리 암호화 세트로 볼륨을 암호화하도록 클러스터 기본 스토리지 클래스를 설정합니다. |
4.1.7. .spec.driverConfig.azure.diskEncryptionSet
- 설명
- DiskEncryptionSet은 기본 플랫폼 관리 키가 아닌 고객 관리 암호화 세트로 볼륨을 암호화하도록 클러스터 기본 스토리지 클래스를 설정합니다.
- 유형
-
object
- 필수 항목
-
name
-
resourceGroup
-
subscriptionID
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 기본 스토리지 클래스에 설정할 디스크 암호화 세트의 이름입니다. 값은 알파 숫자 문자, 밑줄(_), 하이픈 및 최대 80자만으로 구성되어야 합니다. |
|
| ResourceGroup은 디스크 암호화 세트가 포함된 Azure 리소스 그룹을 정의합니다. 값은 alphanumberic 문자, 밑줄(_), 여백, 하이픈 및 마침표로만 구성되어야 합니다. 값은 마침표로 끝나지 않아야 하며 최대 90자 이상이어야 합니다. |
|
| subscriptionID는 디스크 암호화 세트가 포함된 Azure 서브스크립션을 정의합니다. 값은 다음 조건을 충족해야 합니다. 1. 128비트 번호여야 합니다. 2. 36자(32개 16진수 및 4개의 하이픈)여야 합니다. 3. 하이픈(-)으로 구분된 5개의 그룹으로 표시되어야 합니다. 4. 첫 번째 그룹은 8자 이상이어야 합니다. 5. 두 번째, 세 번째, 네 번째 그룹은 4자 이상이어야 합니다. 6. 다섯 번째 그룹은 12자 이상이어야 합니다. Example SubscrionID: f2007bbf-f802-4a47-9336-cf7c6b89b378 |
4.1.8. .spec.driverConfig.gcp
- 설명
- GCP는 GCP CSI 드라이버를 구성하는 데 사용됩니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| kmsKey는 GCP에서 관리하는 기본 키가 아닌 고객이 제공하는 암호화 키로 볼륨을 암호화하도록 클러스터 기본 스토리지 클래스를 설정합니다. |
4.1.9. .spec.driverConfig.gcp.kmsKey
- 설명
- kmsKey는 GCP에서 관리하는 기본 키가 아닌 고객이 제공하는 암호화 키로 볼륨을 암호화하도록 클러스터 기본 스토리지 클래스를 설정합니다.
- 유형
-
object
- 필수 항목
-
keyRing
-
name
-
projectID
-
속성 | 유형 | 설명 |
---|---|---|
|
| 인증 키는 KMS 키가 속한 KMS 키 링의 이름입니다. 값은 기존 KMS 키 링에 해당해야 하며 영숫자, 하이픈(-) 및 밑줄(_)만 구성되어야 하며 최대 63자여야 합니다. |
|
| 위치는 키 링이 존재하는 GCP 위치입니다. 값은 기존 GCP 위치 또는 "global"와 일치해야 합니다. 설정되지 않은 경우 기본값은 global입니다. |
|
| name은 디스크 암호화에 사용할 고객 관리 암호화 키의 이름입니다. 값은 기존 KMS 키에 해당해야 하며 영숫자, 하이픈(-) 및 밑줄(_)만 구성되어야 하며 최대 63자여야 합니다. |
|
| projectID는 KMS 키 링이 존재하는 프로젝트의 ID입니다. 6~30자, 숫자 또는 하이픈이어야 합니다. 문자로 시작해야 합니다. 후행 하이픈은 금지되어 있습니다. |
4.1.10. .spec.driverConfig.ibmcloud
- 설명
- IBM Cloud CSI 드라이버는 IBM Cloud CSI 드라이버를 구성하는 데 사용됩니다.
- 유형
-
object
- 필수 항목
-
encryptionKeyCRN
-
속성 | 유형 | 설명 |
---|---|---|
|
| EncryptionKeyCRN은 기본 스토리지 클래스에 대한 볼륨의 디스크 암호화에 사용할 고객 관리 루트 키의 IBM Cloud CRN입니다. |
4.1.11. .spec.driverConfig.vSphere
- 설명
- vSphere는 vsphere CSI 드라이버를 구성하는 데 사용됩니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| globalMaxSnapshotsPerBlockVolume은 모든 종류의 데이터 저장소의 볼륨에 적용되는 글로벌 구성 매개변수입니다. 생략하면 플랫폼은 시간이 지남에 따라 변경될 수 있는 기본값을 선택합니다. 현재 기본값은 3입니다. 이 매개 변수를 사용하여 스냅샷을 비활성화할 수 없습니다. 3 이상의 스냅샷 수를 늘리면 성능에 부정적인 영향을 미칠 수 있습니다. 자세한 내용은 https://kb.vmware.com/s/article/1025279 볼륨 스냅샷 설명서: https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/3.0/vmware-vsphere-csp-getting-started/GUID-E0B41C69-7EEB-450F-A73D-5FD2FF39E891.html를 참조하십시오. |
|
| granularMaxSnapshotsPerBlockVolumeInVSAN은 vSAN 데이터 저장소에서만 세분화된 구성 매개변수입니다. 설정되지 않은 경우 글로벌 제약 조건으로 대체되는 동안 설정된 경우 GlobalMaxSnapshotsPerBlockVolume을 덮어씁니다. 이 매개변수를 사용하여 VSAN의 스냅샷을 비활성화할 수 없습니다. |
|
| granularMaxSnapshotsPerBlockVolumeInVVOL은 가상 볼륨 데이터 저장소에서만 세분화된 구성 매개변수입니다. 설정되지 않은 경우 글로벌 제약 조건으로 대체되는 동안 설정된 경우 GlobalMaxSnapshotsPerBlockVolume을 덮어씁니다. 이 매개변수를 사용하여 VVOL의 스냅샷을 비활성화할 수 없습니다. |
|
| topologyCategories는 hostcluster 또는 datacenter와 같은 vcenter 리소스가 태그된 태그 범주를 나타냅니다. 클러스터 인프라 오브젝트에 토폴로지가 있는 경우 Infrastructure 오브젝트에 지정된 값이 사용되며 topologyCategories에 대한 수정 사항이 거부됩니다. |
4.1.12. .status
- 설명
- status에는 클러스터에서 관찰된 값이 포함되어 있습니다. 재정의할 수 없습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| conditions는 조건 및 상태 목록입니다. |
|
| OperatorCondition은 표준 조건 필드입니다. |
|
| 세대는 항목이 조정되어야 하거나 반응이 필요한 방식으로 변경된 시기를 결정하는 데 사용됩니다. |
|
| GenerationStatus는 지정된 리소스의 생성을 추적하여 강제 업데이트에 대한 결정을 내릴 수 있습니다. |
|
| observedGeneration은 귀하가 다루는 마지막 세대의 변경 사항입니다. |
|
| readyReplicas는 준비된 복제본 수와 원하는 상태를 나타냅니다. |
|
| 버전이 이 가용성이 적용되는 수준입니다. |
4.1.13. .status.conditions
- 설명
- conditions는 조건 및 상태 목록입니다.
- 유형
-
array
4.1.14. .status.conditions[]
- 설명
- OperatorCondition은 표준 조건 필드입니다.
- 유형
-
object
- 필수 항목
-
type
-
속성 | 유형 | 설명 |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
4.1.15. .status.generations
- 설명
- 세대는 항목이 조정되어야 하거나 반응이 필요한 방식으로 변경된 시기를 결정하는 데 사용됩니다.
- 유형
-
array
4.1.16. .status.generations[]
- 설명
- GenerationStatus는 지정된 리소스의 생성을 추적하여 강제 업데이트에 대한 결정을 내릴 수 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 그룹은 추적 중인 항목의 그룹입니다. |
|
| hash는 시크릿 및 configmaps와 같이 민감한 콘텐츠인 생성이 없는 리소스에 대해 설정된 선택적 필드입니다. |
|
| lastGeneration은 관련된 워크로드 컨트롤러의 마지막 생성입니다. |
|
| 추적 중인 항목의 이름입니다.Is the name of the item you are tracking |
|
| namespace is where you're tracking is where you're tracking is where you're tracking is where you're tracking |
|
| 리소스는 추적 중인 항목의 리소스 유형입니다. |