2장. APIServer [config.openshift.io/v1]
- 설명
- apiserver에는 시스템의 모든 API 서버에서 공유하는 구성(예: 인증서 제공, 클라이언트 CA 및 CORS 도메인 제공)이 있습니다. 특히 kube-apiserver 및 openshift-apiserver가 있습니다. 인스턴스의 표준 이름은 'cluster'입니다. 호환성 수준 1: 최소 12 개월 또는 3 개의 마이너 릴리스 (더 긴 버전) 동안 주요 릴리스 내에서 사용할 수 있습니다.
- 유형
-
object
- 필수 항목
-
spec
-
2.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에는 클러스터에서 관찰된 값이 포함되어 있습니다. 재정의할 수 없습니다. |
2.1.1. .spec
- 설명
- spec에는 구성에 대한 사용자 설정 가능 값이 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| additionalCORSAllowedOrigins는 API 서버가 CORS 헤더를 사용하여 액세스할 수 있는 호스트를 설명하는 추가 사용자 정의 정규식을 나열합니다. JavaScript 애플리케이션에서 API 및 통합 OAuth 서버에 액세스하려면 이 작업이 필요할 수 있습니다. 값은 Golang 정규식 언어에 해당하는 정규식입니다. |
|
| audit은 클러스터의 모든 OpenShift 제공 API 서버에 적용할 감사 구성에 대한 설정을 지정합니다. |
|
| ClientCA는 Operator 관리 서명자 외에도 들어오는 클라이언트 인증서로 인식될 서명자의 인증서 번들이 포함된 ConfigMap을 참조합니다. 비어 있는 경우 운영자 관리 서명자만 유효합니다. 일반적으로 자체 PKI가 있는 경우에만 클라이언트 인증서를 준수해야 합니다. ConfigMap은 openshift-config 네임스페이스에 있어야 하며 - ConfigMap.Data["ca-bundle.crt"] - CA 번들의 필수 필드를 포함해야 합니다. |
|
| 암호화를 사용하면 데이터 저장소 계층에서 리소스의 암호화를 구성할 수 있습니다. |
|
| servingCert는 보안 트래픽을 제공하기 위한 TLS 인증서 정보입니다. 지정하지 않으면 Operator 관리 인증서가 보안 트래픽을 제공하는 데 사용됩니다. |
|
| tlsSecurityProfile은 외부에 노출된 서버의 TLS 연결 설정을 지정합니다. 설정되지 않은 경우 기본값(릴리스 간에 변경될 수 있음)이 선택됩니다. Old, Intermediate 및 Custom 프로파일만 지원되며 사용 가능한 최대 minTLSVersion은 VersionTLS12입니다. |
2.1.2. .spec.audit
- 설명
- audit은 클러스터의 모든 OpenShift 제공 API 서버에 적용할 감사 구성에 대한 설정을 지정합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| customRules는 그룹당 프로필을 지정합니다. 이러한 프로필이 적용되는 경우 최상위 프로필 필드보다 우선합니다. 이러한 평가는 위에서 아래로 평가되며 일치하는 첫 번째 항목이 적용됩니다. |
|
| AuditCustomRule은 최상위 프로필보다 우선하는 감사 프로필에 대한 사용자 정의 규칙을 설명합니다. |
|
|
profile은 클러스터의 OpenShift 제공 API 서버(kube-apiserver, openshift-apiserver 및 oauth-apiserver)에 전송된 모든 요청에 적용할 상위 수준 감사 프로필의 이름을 지정하고 customRules 중 하나 이상과 일치하는 요청을 제외합니다. 다음 프로필이 제공됩니다. - Default: events를 제외하고 MetaData 수준 로깅을 의미하며(모두 기록되지 않음), oauthaccesstokens 및 oauthauthorizetokens(RequestBody 수준에서 모두 기록됨). - WriteRequestBody: 'Default'와 같이 기록 요청 및 응답 HTTP 페이로드(생성, 업데이트, 업데이트)를 의미합니다. patch). - AllRequestBodies: like 'WriteRequestBodies', but also logs request and response HTTP payload for read requests (get, list). - None: no requests are logged at all, not even oauthaccesstokens and oauthauthorizetokens. 경고: 문제를 해결할 때 유용할 수 있는 데이터를 로깅하지 않는 한 |
2.1.3. .spec.audit.customRules
- 설명
- customRules는 그룹당 프로필을 지정합니다. 이러한 프로필이 적용되는 경우 최상위 프로필 필드보다 우선합니다. 이러한 평가는 위에서 아래로 평가되며 일치하는 첫 번째 항목이 적용됩니다.
- 유형
-
array
2.1.4. .spec.audit.customRules[]
- 설명
- AuditCustomRule은 최상위 프로필보다 우선하는 감사 프로필에 대한 사용자 정의 규칙을 설명합니다.
- 유형
-
object
- 필수 항목
-
group
-
profile
-
속성 | 유형 | 설명 |
---|---|---|
|
| group은 이 프로필을 적용하려면 요청 사용자가 멤버여야 하는 그룹의 이름입니다. |
|
| profile은 클러스터의 모든 OpenShift 제공 API 서버에 배포할 원하는 감사 정책 구성의 이름을 지정합니다. 다음 프로필이 제공됩니다. - Default: 기존 기본 정책입니다. - WriteRequestBodies: 'Default'와 같이 'Default'와 같이 쓰기 요청(생성, 업데이트, 패치)에 대한 요청 및 응답 HTTP 페이로드(예: 'WriteRequestBodies') - AllRequestBodies:예: 'WriteRequestBodies', 로그 요청 및 응답 HTTP 페이로드(get, list). - None: 없음 설정되지 않은 경우 'Default' 프로필이 기본값으로 사용됩니다. |
2.1.5. .spec.clientCA
- 설명
- ClientCA는 Operator 관리 서명자 외에도 들어오는 클라이언트 인증서로 인식될 서명자의 인증서 번들이 포함된 ConfigMap을 참조합니다. 비어 있는 경우 운영자 관리 서명자만 유효합니다. 일반적으로 자체 PKI가 있는 경우에만 클라이언트 인증서를 준수해야 합니다. ConfigMap은 openshift-config 네임스페이스에 있어야 하며 - ConfigMap.Data["ca-bundle.crt"] - CA 번들의 필수 필드를 포함해야 합니다.
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 참조된 구성 맵의 metadata.name입니다. |
2.1.6. .spec.encryption
- 설명
- 암호화를 사용하면 데이터 저장소 계층에서 리소스의 암호화를 구성할 수 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| type은 데이터 저장소 계층에서 리소스를 암호화하는 데 사용해야 하는 암호화 유형을 정의합니다. 이 필드가 설정되지 않은 경우(즉, 빈 문자열로 설정된 경우) ID가 부정확합니다. 설정되지 않은 동작이 시간이 지남에 따라 변경될 수 있습니다. 암호화가 기본적으로 활성화되어 있어도 설정되지 않은 의미는 모범 사례 변경에 따라 다른 암호화 유형으로 변경될 수 있습니다. 암호화가 활성화되면 플랫폼과 함께 제공된 모든 중요한 리소스가 암호화됩니다. 이 중요한 리소스 목록은 시간이 지남에 따라 변경될 수 있습니다. 현재 권한 있는 목록은 1입니다. 보안 2. configmaps 3. routes.route.openshift.io 4. oauthaccesstokens.oauth.openshift.io 5. oauthauthorizetokens.oauth.openshift.io |
2.1.7. .spec.servingCerts
- 설명
- servingCert는 보안 트래픽을 제공하기 위한 TLS 인증서 정보입니다. 지정하지 않으면 Operator 관리 인증서가 보안 트래픽을 제공하는 데 사용됩니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| namedCertificates는 특정 호스트 이름에 보안 트래픽을 제공하기 위한 TLS 인증서 정보가 포함된 시크릿을 참조합니다. 이름이 지정된 인증서가 제공되지 않거나 이름이 지정된 인증서가 클라이언트에서 이해한 대로 서버 이름과 일치하지 않으면 defaultServingCertificate가 사용됩니다. |
|
| APIServerNamedServingCert는 클라이언트에서 이해할 수 있는 서버 DNS 이름을 인증서에 매핑합니다. |
2.1.8. .spec.servingCerts.namedCertificates
- 설명
- namedCertificates는 특정 호스트 이름에 보안 트래픽을 제공하기 위한 TLS 인증서 정보가 포함된 시크릿을 참조합니다. 이름이 지정된 인증서가 제공되지 않거나 이름이 지정된 인증서가 클라이언트에서 이해한 대로 서버 이름과 일치하지 않으면 defaultServingCertificate가 사용됩니다.
- 유형
-
array
2.1.9. .spec.servingCerts.namedCertificates[]
- 설명
- APIServerNamedServingCert는 클라이언트에서 이해할 수 있는 서버 DNS 이름을 인증서에 매핑합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 이름은 이 인증서를 사용하여 보안 트래픽을 제공해야 하는 명시적 DNS 이름(허용 와일드카드)의 선택적 목록입니다. 이름을 제공하지 않으면 암시적 이름이 인증서에서 추출됩니다. 정확한 이름은 와일드카드 이름을 통해 추적됩니다. 여기에 정의된 명시적 이름은 추출된 암시적 이름보다 충돌합니다. |
|
| servingCertificate는 보안 트래픽을 제공하기 위한 TLS 인증서 정보가 포함된 kubernetes.io/tls 유형 시크릿을 참조합니다. 시크릿은 openshift-config 네임스페이스에 있어야 하며 다음과 같은 필수 필드를 포함해야 합니다. - Secret.Data["tls.key"] - TLS 개인 키. - Secret.Data["tls.crt"] - TLS 인증서. |
2.1.10. .spec.servingCerts.namedCertificates[].servingCertificate
- 설명
- servingCertificate는 보안 트래픽을 제공하기 위한 TLS 인증서 정보가 포함된 kubernetes.io/tls 유형 시크릿을 참조합니다. 시크릿은 openshift-config 네임스페이스에 있어야 하며 다음과 같은 필수 필드를 포함해야 합니다. - Secret.Data["tls.key"] - TLS 개인 키. - Secret.Data["tls.crt"] - TLS 인증서.
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 참조된 보안의 metadata.name입니다. |
2.1.11. .spec.tlsSecurityProfile
- 설명
- tlsSecurityProfile은 외부에 노출된 서버의 TLS 연결 설정을 지정합니다. 설정되지 않은 경우 기본값(릴리스 간에 변경될 수 있음)이 선택됩니다. Old, Intermediate 및 Custom 프로파일만 지원되며 사용 가능한 최대 minTLSVersion은 VersionTLS12입니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
| `` | Custom은 사용자 정의 TLS 보안 프로필입니다. 잘못된 구성으로 사용자 지정 프로필을 사용하는 것은 치명적일 수 있습니다. 사용자 정의 프로파일의 예는 다음과 같습니다: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 |
| `` | Intermediate는 다음을 기반으로 하는 TLS 보안 프로필입니다. https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 (yaml): 암호화: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: 버전TLS12 |
| `` | modern는 https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility 기반 TLS 보안 프로필입니다. (yaml): 암호: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 |
| `` | Old는 다음을 기반으로 하는 TLS 보안 프로필입니다. https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility (yaml): 암호화: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-RSA-aes256-GCM-sha384 - ECDHE-ECDSA-chaCHA20-POLY1305 - ECDHE-RSA-chaCHA20-POLY1305 - DHE-RSA-aes128-GCM-sha256 - DHE-RSA-aes256-GCM-sha384 - DHE-RSA-chaCHA20-POLY1305 - ECDHE-ECDSA-aes128-sha256 - ECDHE-RSA-aes128-sha256 - ECDHE-ECDSA-SHA - ECDHE-RSA-aes128-aes128-aes128-aes256-sha384 - ECDHE-RSA-aes256-sha384 - ECDHE-ECDSA-aes256-ECDSA-aes256-RSA-aes-SHA-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES256-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES128-SHA - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: 버전TLS10 |
|
| type은 Old, Intermediate, Modern 또는 Custom 중 하나입니다. Custom은 개별 TLS 보안 프로파일 매개변수를 지정하는 기능을 제공합니다. 이전, Intermediate 및 Modern는 다음을 기반으로 하는 TLS 보안 프로필입니다. https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations 프로필은 의도 기반이므로 새 암호가 개발되고 기존 암호가 안전하지 않은 것으로 확인되면 시간이 지남에 따라 변경될 수 있습니다. 프로세스에서 사용할 수 있는 암호에 따라 목록이 줄어들 수 있습니다. Modern 프로파일은 아직 공통 소프트웨어 라이브러리에서 잘 채택되지 않았기 때문에 현재 지원되지 않습니다. |
2.1.12. .status
- 설명
- status에는 클러스터에서 관찰된 값이 포함되어 있습니다. 재정의할 수 없습니다.
- 유형
-
object