2.27. 서비스 메시 컨트롤 플레인 구성 참조
기본 ServiceMeshControlPlane
(SMCP) 리소스를 수정하거나 완전히 사용자 정의 SMCP 리소스를 생성하여 Red Hat OpenShift Service Mesh를 사용자 지정할 수 있습니다. 이 참조 섹션에는 SMCP 리소스에 사용할 수 있는 구성 옵션이 나와 있습니다.
2.27.1. 서비스 메시 컨트롤 플레인 매개변수
다음 표에는 ServiceMeshControlPlane
리소스의 최상위 매개변수가 나열되어 있습니다.
이름 | 설명 | 유형 |
---|---|---|
|
APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. |
|
| kind는 이 오브젝트가 나타내는 REST 리소스를 나타내는 문자열 값입니다. |
|
|
이 | string |
|
이 | 자세한 내용은 표 2를 참조하십시오. |
|
이 | 자세한 내용은 표 3을 참조하십시오. |
다음 표에는 ServiceMeshControlPlane
리소스의 사양이 나열되어 있습니다. 이러한 매개변수를 변경하면 Red Hat OpenShift Service Mesh 구성 요소가 구성됩니다.
이름 | 설명 | 구성 가능한 매개변수 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 해당 없음 |
|
|
|
|
|
|
|
| string |
ControlPlaneStatus
는 서비스 메시의 현재 상태를 나타냅니다.
이름 | 설명 | 유형 |
---|---|---|
|
| 구성 불가능 |
|
오브젝트의 현재 상태에 대해 사용 가능한 최신 관찰을 나타냅니다. | string |
| 배포된 각 Service Mesh Control Plane 구성 요소의 상태를 표시합니다. | string |
| 모든 프로필이 적용된 후 구성 옵션의 결과 사양입니다. |
|
| 차트를 생성하는 데 사용되는 결과 values.yaml입니다. |
|
| 이 리소스를 위해 마지막으로 처리된 차트의 버전입니다. | string |
|
가장 최근 조정 중에 컨트롤러가 관찰한 생성입니다. 상태의 정보는 이 특정 오브젝트 생성과 관련이 있습니다. | 정수 |
| 이 리소스를 마지막으로 처리하는 Operator의 버전입니다. | string |
| 구성 요소 및 소유 리소스의 준비 상태입니다. | string |
이 예제 ServiceMeshControlPlane
정의에는 지원되는 모든 매개변수가 포함되어 있습니다.
ServiceMeshControlPlane
리소스 예
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic spec: version: v2.6 proxy: runtime: container: resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 128Mi tracing: type: Jaeger gateways: ingress: # istio-ingressgateway service: type: ClusterIP ports: - name: status-port port: 15020 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshExpansionPorts: [] egress: # istio-egressgateway service: type: ClusterIP ports: - name: status-port port: 15020 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 additionalIngress: some-other-ingress-gateway: {} additionalEgress: some-other-egress-gateway: {} policy: type: Mixer mixer: # only applies if policy.type: Mixer enableChecks: true failOpen: false telemetry: type: Istiod # or Mixer mixer: # only applies if telemetry.type: Mixer, for v1 telemetry sessionAffinity: false batching: maxEntries: 100 maxTime: 1s adapters: kubernetesenv: true stdio: enabled: true outputAsJSON: true addons: grafana: enabled: true install: config: env: {} envSecrets: {} persistence: enabled: true storageClassName: "" accessMode: ReadWriteOnce capacity: requests: storage: 5Gi service: ingress: contextPath: /grafana tls: termination: reencrypt kiali: name: kiali enabled: true install: # install kiali CR if not present dashboard: viewOnly: false enableGrafana: true enableTracing: true enablePrometheus: true service: ingress: contextPath: /kiali jaeger: name: jaeger install: storage: type: Elasticsearch # or Memory memory: maxTraces: 100000 elasticsearch: nodeCount: 3 storage: {} redundancyPolicy: SingleRedundancy indexCleaner: {} ingress: {} # jaeger ingress configuration runtime: components: pilot: deployment: replicas: 2 pod: affinity: {} container: resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 128Mi grafana: deployment: {} pod: {} kiali: deployment: {} pod: {}
2.27.2. spec 매개변수
2.27.2.1. 일반 매개변수
다음은 ServiceMeshControlPlane
오브젝트에 대한 spec.general
매개변수와 적절한 값과 함께 사용 가능한 매개변수에 대한 설명을 보여주는 예입니다.
일반 매개변수 예
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic spec: general: logging: componentLevels: {} # misc: error logAsJSON: false validationMessages: true
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
logging: | 을 사용하여 서비스 메시 컨트롤 플레인 구성 요소에 대한 로깅을 구성합니다. | 해당 없음 | |
logging: componentLevels: | 을 사용하여 구성 요소 로깅 수준을 지정합니다. |
가능한 값: | 해당 없음 |
logging: logAsJSON: | 를 사용하여 JSON 로깅을 활성화하거나 비활성화합니다. |
| 해당 없음 |
validationMessages: | 를 사용하여 istio.io 리소스의 상태 필드에 대한 검증 메시지를 활성화하거나 비활성화합니다. 이는 리소스의 구성 오류를 감지하는 데 유용할 수 있습니다. |
| 해당 없음 |
2.27.2.2. 프로필 매개변수
ServiceMeshControlPlane
오브젝트 프로필을 사용하여 재사용 가능한 구성을 생성할 수 있습니다. 프로필
설정을 구성하지 않으면 Red Hat OpenShift Service Mesh는 기본 프로필을 사용합니다.
다음은 ServiceMeshControlPlane
오브젝트의 spec.profiles
매개변수를 보여주는 예입니다.
프로필 매개변수 예
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic spec: profiles: - YourProfileName
프로필 생성에 대한 자세한 내용은 컨트롤 플레인 프로필 생성 을 참조하십시오.
보안 구성의 자세한 예제는 mTLS(mutual Transport Layer Security) 를 참조하십시오.
2.27.2.3. techPreview 매개변수
spec.techPreview
매개변수를 사용하면 기술 프리뷰에 있는 기능에 조기 액세스할 수 있습니다.
기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
2.27.2.4. 추적 매개변수
다음 예제에서는 ServiceMeshControlPlane
오브젝트에 대한 spec.tracing
매개변수와 적절한 값과 함께 사용 가능한 매개변수에 대한 설명을 보여줍니다.
추적 매개변수 예
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic spec: version: v2.6 tracing: sampling: 100 type: Jaeger
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
tracing: sampling: | 샘플링 비율은 Envoy 프록시가 추적을 생성하는 빈도를 결정합니다. 샘플링 속도를 사용하여 추적 시스템에 보고되는 요청의 백분율을 제어합니다. |
0.01%(0~ 100%)를 나타내는 0에서 10000 사이의 정수 값입니다. 예를 들어 값을 |
|
tracing: type: |
현재 지원되는 유일한 추적 유형은 |
|
|
2.27.2.5. 버전 매개변수
Red Hat OpenShift Service Mesh Operator는 ServiceMeshControlPlane
의 다양한 버전의 설치를 지원합니다. version 매개변수를 사용하여 설치할 Service Mesh Control Plane 버전을 지정합니다. SMCP를 생성할 때 version 매개변수를 지정하지 않으면 Operator는 값을 최신 버전 (2.6)으로 설정합니다. 기존 ServiceMeshControlPlane
오브젝트는 Operator를 업그레이드하는 동안 버전 설정을 유지합니다.
2.27.2.6. 3scale 구성
다음 표는 ServiceMeshControlPlane
리소스의 3scale Istio 어댑터에 대한 매개변수를 설명합니다
3scale 매개변수 예
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic spec: addons: 3Scale: enabled: false PARAM_THREESCALE_LISTEN_ADDR: 3333 PARAM_THREESCALE_LOG_LEVEL: info PARAM_THREESCALE_LOG_JSON: true PARAM_THREESCALE_LOG_GRPC: false PARAM_THREESCALE_REPORT_METRICS: true PARAM_THREESCALE_METRICS_PORT: 8080 PARAM_THREESCALE_CACHE_TTL_SECONDS: 300 PARAM_THREESCALE_CACHE_REFRESH_SECONDS: 180 PARAM_THREESCALE_CACHE_ENTRIES_MAX: 1000 PARAM_THREESCALE_CACHE_REFRESH_RETRIES: 1 PARAM_THREESCALE_ALLOW_INSECURE_CONN: false PARAM_THREESCALE_CLIENT_TIMEOUT_SECONDS: 10 PARAM_THREESCALE_GRPC_CONN_MAX_SECONDS: 60 PARAM_USE_CACHED_BACKEND: false PARAM_BACKEND_CACHE_FLUSH_INTERVAL_SECONDS: 15 PARAM_BACKEND_CACHE_POLICY_FAIL_CLOSED: true # ...
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
| 3scale 어댑터 사용 여부 |
|
|
| gRPC 서버의 수신 주소를 설정 | 유효한 포트 번호 |
|
| 최소 로그 출력 수준을 설정합니다. |
|
|
| 로그 형식이 JSON인지 여부를 제어 |
|
|
| 로그에 gRPC 정보가 포함되었는지 여부를 제어 |
|
|
| 3scale 시스템 및 백엔드 지표가 수집되어 Prometheus에 보고되는지 제어 |
|
|
|
3scale | 유효한 포트 번호 |
|
| 캐시에서 만료된 항목을 제거하기 전에 대기하는 시간(초) | 시간(초) |
|
| 캐시 요소를 새로 고침하려고 할 때 만료되기 전 시간 | 시간(초) |
|
|
언제든지 캐시에 저장할 수 있는 항목의 최대 수. 캐싱을 비활성화하려면 | 유효한 번호 |
|
| 캐시 업데이트 루프 중에 연결할 수 없는 호스트가 재시도되는 횟수 | 유효한 번호 |
|
|
|
|
|
| 3scale System 및 백엔드에 대한 요청을 종료하기 전 대기하는 시간(초)을 설정합니다. | 시간(초) |
|
| 연결이 닫히기 전에 연결할 수 있는 최대 시간(초)(+/-10% jitter)을 설정합니다. | 시간(초) | 60 |
| true인 경우, 권한 부여 요청에 대해 메모리 내 apisonator 캐시를 생성합니다. |
|
|
| 백엔드 캐시가 활성화된 경우 3scale에 대해 캐시를 플러싱하는 간격(초)을 설정합니다. | 시간(초) | 15 |
| 백엔드 캐시가 권한 부여 데이터를 검색할 수 없을 때마다 요청을 거부(닫기)할지, 허용할지(열기) 여부 |
|
|
2.27.3. status 매개변수
status
매개변수는 서비스 메시의 현재 상태를 설명합니다. 이 정보는 Operator에 의해 생성되며 읽기 전용입니다.
이름 | 설명 | 유형 |
---|---|---|
|
가장 최근 조정 중에 컨트롤러가 관찰한 생성입니다. 상태의 정보는 이 특정 오브젝트 생성과 관련이 있습니다. | integer |
|
| 구성 불가능 |
| 구성 요소 및 보유 리소스의 준비 상태입니다. | string |
| 이 리소스를 마지막으로 처리하는 Operator의 버전입니다. | string |
| 배포된 각 Service Mesh Control Plane 구성 요소의 상태를 표시합니다. | string |
| 모든 프로필이 적용된 후 구성 옵션의 결과 사양입니다. |
|
|
오브젝트의 현재 상태에 대해 사용 가능한 최신 관찰을 나타냅니다. | string |
| 이 리소스를 위해 마지막으로 처리된 차트의 버전입니다. | string |
|
차트를 생성하는 데 사용된 결과 |
|