4.3. 지원 서비스 관리


이 섹션에서는 OpenShift Serverless Logic에 필요한 지원 서비스에 대한 개요를 제공합니다. 특히 OpenShift Serverless Logic Operator를 사용하여 Data Index 서비스 및 작업 서비스 지원 서비스를 구성하고 배포하는 데 중점을 둡니다.

일반적인 OpenShift Serverless Logic 설치에서는 워크플로우 실행을 성공적으로 수행하기 위해 두 서비스를 모두 배포해야 합니다. Data Index 서비스를 사용하면 효율적인 데이터 관리가 가능한 반면, 작업 서비스는 안정적인 작업 처리를 보장합니다.

4.3.1. 지원 서비스 및 워크플로우 통합

지정된 네임스페이스에 지원 서비스를 배포할 때 활성화되거나 비활성화된 배포 중에서 선택할 수 있습니다. 활성화된 배포에서는 OpenShift Serverless Logic Operator가 네임스페이스 내에서 preview 또는 gitops 프로필을 사용하여 워크플로우 배포를 자동으로 가로채고 서비스와 연결하도록 구성합니다.

예를 들어 Data Index 서비스가 활성화되면 상태 변경 이벤트를 전송하도록 워크플로가 자동으로 구성됩니다. 마찬가지로, 작업 서비스를 활성화하면 워크플로우에 시간 초과가 필요할 때마다 작업이 생성됩니다. OpenShift Serverless Logic Operator는 Data Index 서비스에 이벤트를 전송하도록 Job Service를 구성하여 서비스 간 원활한 통합을 가능하게 합니다.

OpenShift Serverless Logic Operator는 지원 서비스 배포뿐만 아니라 워크플로우 실행을 위해 필요한 다른 구성도 관리합니다. 이러한 모든 구성은 자동으로 처리됩니다. SonataFlowPlatform CR에서 지원 서비스 구성만 제공해야 합니다.

참고

지원 서비스 중 하나만 배포하거나 비활성화된 배포를 사용하는 것은 고급 사용 사례입니다. 표준 설치에서는 두 서비스를 모두 활성화하여 원활한 워크플로우 실행을 보장해야 합니다.

4.3.2. SonataFlowPlatform CR로 지원 서비스 배포

지원 서비스를 배포하려면 SonataFlowPlatform CR(사용자 정의 리소스)의 spec.services 섹션에서 dataIndexjobService 하위 필드를 구성합니다. 이 구성은 OpenShift Serverless Logic Operator가 SonataFlowPlatform CR을 적용할 때 각 서비스를 배포하도록 지시합니다.

서비스의 각 구성은 독립적으로 처리되므로 SonataFlowPlatform CR의 다른 구성과 함께 이러한 설정을 사용자 지정할 수 있습니다.

지원 서비스 배포를 위한 다음 스캐폴드 예제 구성을 참조하십시오.

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  services:
    dataIndex: 1
      enabled: true 2
      # Specific configurations for the Data Index Service
      # might be included here
    jobService: 3
      enabled: true 4
      # Specific configurations for the Job Service
      # might be included here
1
Data Index 서비스 구성 필드
2
설정 enabled: true 는 Data Index 서비스를 배포합니다. false 로 설정하거나 생략하면 배포가 비활성화됩니다. 기본값은 false입니다.
3
작업 서비스 구성 필드.
4
설정 enabled: true 는 작업 서비스를 배포합니다. false 로 설정하거나 생략하면 배포가 비활성화됩니다. 기본값은 false입니다.

4.3.3. 지원 서비스 범위

SonataFlowPlatform CR(사용자 정의 리소스)을 사용하면 특정 네임스페이스 내에서 지원 서비스를 배포할 수 있습니다. 즉, 자동으로 구성된 지원 서비스 및 워크플로우 통신은 배포된 플랫폼의 네임스페이스로 제한됩니다.

이 기능은 다양한 워크플로우 세트에 대한 별도의 지원 서비스 인스턴스가 필요한 경우 특히 유용합니다. 예를 들어 워크플로 및 지원 서비스와 별도로 애플리케이션을 배포하여 다른 배포와 독립적으로 유지할 수 있습니다.

4.3.4. 지원 서비스 지속성 구성

OpenShift Serverless Logic의 지원 서비스에 대한 지속성 구성은 환경의 필요에 따라 임시 또는 PostgreSQL일 수 있습니다. 임시 지속성은 개발 및 테스트에 적합하지만, PostgreSQL 지속성은 프로덕션 환경에 권장됩니다.

4.3.4.1. 임시 지속성 구성

임시 지속성은 각 서비스 전용인 포함된 PostgreSQL 데이터베이스를 사용합니다. OpenShift Serverless Logic Operator는 서비스를 다시 시작할 때마다 이 데이터베이스를 다시 생성하여 개발 및 테스트 목적으로만 적합합니다. 다음 SonataFlowPlatform CR 이외의 추가 구성은 필요하지 않습니다.

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  services:
    dataIndex:
      enabled: true
      # Specific configurations for the Data Index Service
      # might be included here
    jobService:
      enabled: true
      # Specific configurations for the Job Service
      # might be included here

4.3.4.2. PostgreSQL 지속성 구성

PostgreSQL 지속성을 위해 클러스터에 PostgreSQL 서버 인스턴스를 설정해야 합니다. 이 인스턴스의 관리는 OpenShift Serverless Logic Operator 제어와 독립적으로 유지됩니다. PostgreSQL 서버를 사용하여 지원 서비스를 연결하려면 적절한 데이터베이스 연결 매개 변수를 구성해야 합니다.

다음 예제를 사용하여 SonataFlowPlatform CR에서 PostgreSQL 지속성을 구성할 수 있습니다.

PostgreSQL 지속성 구성 예

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  services:
    dataIndex:
      enabled: true
      persistence:
        postgresql:
          serviceRef:
            name: postgres-example 1
            namespace: postgres-example-namespace 2
            databaseName: example-database 3
            databaseSchema: data-index-schema 4
            port: 1234 5
          secretRef:
            name: postgres-secrets-example 6
            userKey: POSTGRESQL_USER 7
            passwordKey: POSTGRESQL_PASSWORD 8
    jobService:
      enabled: true
      persistence:
        postgresql:
        # Specific database configuration for the Job Service
        # might be included here.

1
PostgreSQL 데이터베이스 서버에 연결할 서비스의 이름입니다.
2
선택 사항: PostgreSQL 서비스의 네임스페이스를 정의합니다. 기본값은 SonataFlowPlatform 네임스페이스입니다.
3
지원 서비스 데이터를 저장하기 위한 PostgreSQL 데이터베이스의 이름을 정의합니다.
4
선택 사항: 지원 서비스 데이터를 저장하기 위한 스키마를 지정합니다. 기본값은 SonataFlowPlatform 이름이며 -data-index-service 또는 -jobs-service 로 접미사가 지정됩니다. 예를 들어 sonataflow-platform-example-data-index-service.
5
선택 사항: PostgreSQL 서비스에 연결할 포트 번호입니다. 기본값은 5432 입니다.
6
데이터베이스 액세스를 위한 사용자 이름과 암호가 포함된 시크릿의 이름을 정의합니다.
7
데이터베이스와 연결할 사용자 이름을 포함하는 시크릿에서 키 이름을 정의합니다.
8
데이터베이스와 연결할 암호가 포함된 시크릿에 있는 키의 이름을 정의합니다.
참고

각 지속성 필드를 사용하여 각 서비스의 지속성을 독립적으로 구성할 수 있습니다.

다음 명령을 실행하여 PostgreSQL에 액세스할 시크릿을 생성합니다.

$ oc create secret generic <postgresql_secret_name> \
  --from-literal=POSTGRESQL_USER=<user> \
  --from-literal=POSTGRESQL_PASSWORD=<password> \
  -n <namespace>

4.3.4.3. 일반적인 PostgreSQL 지속성 구성

OpenShift Serverless Logic Operator는 지원 서비스를 spec.persistence 필드에 구성된 공통 PostgreSQL 서버에 자동으로 연결합니다.

규칙의 경우 다음 우선 순위가 적용됩니다.

  • 지원 서비스에 대한 특정 지속성을 구성하는 경우(예: services.dataIndex.persistence ) 해당 구성을 사용합니다.
  • 서비스에 대한 지속성을 구성하지 않으면 시스템은 현재 플랫폼의 공통 지속성 구성을 사용합니다.
참고

일반적인 PostgreSQL 구성을 사용하는 경우 각 서비스 스키마는 자동으로 SonataFlowPlatform 이름으로 설정되며, 접미사는 -data-index-service 또는 -jobs-service (예: sonataflow-platform-example-data-index-service )로 설정됩니다.

4.3.5. 시스템 구성 이벤트 지원 서비스

OpenShift Serverless Logic 설치의 경우 다음 유형의 이벤트가 생성됩니다.

  • 워크플로우 비즈니스 논리와 관련된 발신 및 수신 이벤트입니다.
  • 워크플로에서 데이터 인덱스 및 작업 서비스로 전송된 이벤트입니다.
  • 작업 서비스에서 데이터 인덱스 서비스로 전송된 이벤트입니다.

OpenShift Serverless Logic Operator는 Knative Eventing 시스템을 활용하여 이러한 이벤트와 서비스 간의 모든 이벤트 통신을 관리하여 효율적이고 안정적인 이벤트 처리를 보장합니다.

4.3.5.1. 플랫폼 범위 이벤트 시스템 구성

플랫폼 범위 이벤트 시스템을 구성하려면 SonataFlowPlatform CR의 spec.eventing.broker.ref 필드를 사용하여 Knative Eventing 브로커를 참조할 수 있습니다. 이 구성은 OpenShift Serverless Logic Operator가 지정된 브로커를 사용하여 이벤트를 생성하고 사용하기 위해 지원 서비스를 자동으로 연결하도록 지시합니다.

preview 또는 gitops 프로파일이 있고 사용자 정의 이벤트 시스템 구성이 없는 동일한 네임스페이스에 배포된 워크플로우는 지정된 브로커에 자동으로 연결됩니다.

중요

프로덕션 환경에서는 확장성 및 안정성 향상을 위해 Knative Kafka Broker와 같은 프로덕션 지원 브로커를 사용합니다.

다음 예제는 플랫폼 범위 이벤트 시스템에 대해 SonataFlowPlatform CR을 구성하는 방법을 보여줍니다.

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  eventing:
    broker:
      ref:
        name: example-broker 1
        namespace: example-broker-namespace 2
        apiVersion: eventing.knative.dev/v1
        kind: Broker
1
Knative Eventing Broker 이름을 지정합니다.
2
선택 사항: Knative Eventing 브로커의 네임스페이스를 정의합니다. 값을 지정하지 않으면 매개변수의 기본값은 SonataFlowPlatform 네임스페이스입니다. SonataFlowPlatform 과 동일한 네임스페이스에 브로커를 생성하는 것이 좋습니다.

4.3.5.2. 서비스 범위 이벤트 시스템 구성

서비스 범위 이벤트 시스템 구성을 사용하면 이벤트 시스템, 특히 데이터 인덱스 또는 작업 서비스를 세부적으로 제어할 수 있습니다.

참고

OpenShift Serverless Logic 설치의 경우 플랫폼 범위 이벤트 시스템 구성을 사용하는 것이 좋습니다. 서비스 범위 구성은 고급 사용 사례 전용입니다.

4.3.5.3. 데이터 인덱스 이벤트 시스템 구성

데이터 인덱스에 대한 서비스 범위 이벤트 시스템을 구성하려면 특정 Knative Eventing 브로커를 참조하려면 SonataFlowPlatform CR의 spec.services.dataIndex.source.ref 필드를 사용해야 합니다. 이 구성은 OpenShift Serverless Logic Operator가 해당 브로커의 SonataFlow 시스템 이벤트를 사용하도록 데이터 인덱스를 자동으로 연결하도록 지시합니다.

중요

프로덕션 환경에서는 확장성 및 안정성 향상을 위해 Knative Kafka Broker와 같은 프로덕션 지원 브로커를 사용합니다.

다음 예제에서는 Data Index 이벤트 시스템 구성을 표시합니다.

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
spec:
  services:
    dataIndex:
      source:
        ref:
          name: data-index-source-example-broker 1
          namespace: data-index-source-example-broker-namespace 2
          apiVersion: eventing.knative.dev/v1
          kind: Broker
1
Data Index에서 이벤트를 사용하는 Knative Eventing 브로커를 지정합니다.
2
선택 사항: Knative Eventing 브로커의 네임스페이스를 정의합니다. 값을 지정하지 않으면 매개변수의 기본값은 SonataFlowPlatform 네임스페이스입니다. SonataFlowPlatform 과 동일한 네임스페이스에 브로커를 생성하는 것이 좋습니다.

4.3.5.4. 작업 서비스 이벤트 시스템 구성

작업 서비스에 대한 서비스 범위 이벤트 시스템을 구성하려면 SonataFlowPlatform CR에서 spec.services.jobService.source.refspec.services.jobService.sink.ref 필드를 사용해야 합니다. 이러한 필드는 OpenShift Serverless Logic Operator가 제공된 구성을 기반으로 SonataFlow 시스템 이벤트를 사용하고 생성하도록 Job Service를 자동으로 연결하도록 지시합니다.

중요

프로덕션 환경에서는 확장성 및 안정성 향상을 위해 Knative Kafka Broker와 같은 프로덕션 지원 브로커를 사용합니다.

다음 예제에서는 작업 서비스 이벤트 시스템 구성을 표시합니다.

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
spec:
  services:
    jobService:
      source:
        ref:
          name: jobs-service-source-example-broker 1
          namespace: jobs-service-source-example-broker-namespace 2
          apiVersion: eventing.knative.dev/v1
          kind: Broker
      sink:
        ref:
          name: jobs-service-sink-example-broker 3
          namespace: jobs-service-sink-example-broker-namespace 4
          apiVersion: eventing.knative.dev/v1
          kind: Broker
1
작업 서비스에서 이벤트를 사용하는 Knative Eventing 브로커를 지정합니다.
2
선택 사항: Knative Eventing 브로커의 네임스페이스를 정의합니다. 값을 지정하지 않으면 매개변수의 기본값은 SonataFlowPlatform 네임스페이스입니다. SonataFlowPlatform 과 동일한 네임스페이스에 브로커를 생성하는 것이 좋습니다.
3
작업 서비스에서 이벤트를 생성하는 Knative Eventing 브로커를 지정합니다.
4
선택 사항: Knative Eventing 브로커의 네임스페이스를 정의합니다. 값을 지정하지 않으면 매개변수의 기본값은 SonataFlowPlatform 네임스페이스입니다. SonataFlowPlatform 과 동일한 네임스페이스에 브로커를 생성하는 것이 좋습니다.

4.3.5.5. 서비스 지원을 위한 클러스터 범위 이벤트 시스템 구성

클러스터 범위 지원 서비스를 배포하면 지원 서비스가 SonataFlowPlatform CR에 지정된 브로커에 자동으로 연결됩니다.

4.3.5.6. 서비스 지원을 위한 Eventing 시스템 구성 우선순위 규칙

OpenShift Serverless Logic Operator는 지원 서비스에 대한 이벤트 시스템을 구성하기 위해 정의된 우선순위 순서를 따릅니다.

Eventing 시스템 구성 우선순위 규칙은 다음과 같습니다.

  1. 지원 서비스에 자체 이벤트 시스템 구성이 있는 경우 Data Index 이벤트 시스템 또는 작업 서비스 이벤트 시스템 구성을 사용하는 경우 서비스 구성이 우선합니다.
  2. 지원 서비스를 포함하는 SonataFlowPlatform CR이 플랫폼 범위 이벤트 시스템으로 구성된 경우 해당 구성이 우선합니다.
  3. 현재 클러스터가 클러스터 범위 이벤트 시스템으로 구성된 경우 해당 구성이 우선합니다.
  4. 이전 구성이 없는 경우 지원 서비스는 직접 HTTP 호출을 통해 이벤트를 제공합니다.

4.3.5.7. Eventing 시스템 연결 구성

OpenShift Serverless Logic Operator는 Knative Eventing, SinkBindings 를 자동으로 생성하고 지원 서비스를 이벤트 시스템과 연결하는 트리거를 수행합니다. 이러한 오브젝트는 지원 서비스를 통해 이벤트의 프로덕션 및 사용을 가능하게 합니다.

다음 예제는 SonataFlowPlatform CR에 대해 생성된 Knative 네이티브 이벤트 오브젝트를 표시합니다.

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  eventing:
    broker:
      ref:
        name: example-broker 1
        apiVersion: eventing.knative.dev/v1
        kind: Broker
  services:
    dataIndex: 2
      enabled: true
    jobService: 3
      enabled: true
1
재정의하지 않는 한 데이터 인덱스, 작업 서비스 및 워크플로우에서 사용합니다.
2
데이터 인덱스 임시 배포는 Data Index 서비스를 구성합니다.
3
작업 서비스 임시 배포, 작업 서비스를 구성합니다.

다음 예제는 SonataFlowPlatform CR과 함께 사용하도록 Knative Kafka Broker를 구성하는 방법을 보여줍니다.

SonataFlowPlatform CR에서 사용하는 Knative Kafka Broker 예제

apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
  annotations:
    eventing.knative.dev/broker.class: Kafka 1
  name: example-broker
  namespace: example-namespace
spec:
  config:
    apiVersion: v1
    kind: ConfigMap
    name: kafka-broker-config
    namespace: knative-eventing

1
Kafka 클래스를 사용하여 Kafka Knative 브로커를 생성합니다.

다음 명령은 Data Index 및 Job Service 이벤트에 대해 설정된 트리거 목록을 표시하여 이벤트에 서브스크립션하는 서비스를 표시합니다.

$ oc get triggers -n example-namespace

출력 예

NAME                                                        BROKER           SINK                                                       AGE   CONDITIONS   READY   REASON
data-index-jobs-fbf285df-c0a4-4545-b77a-c232ec2890e2        example-broker   service:sonataflow-platform-example-data-index-service     106s  7 OK / 7    True    -
data-index-process-definition-e48b4e4bf73e22b90ecf7e093ff6b1eaf   example-broker   service:sonataflow-platform-example-data-index-service     106s  7 OK / 7    True    -
data-index-process-error-fbf285df-c0a4-4545-b77a-c232ec2890e2   example-broker   service:sonataflow-platform-example-data-index-service     106s  7 OK / 7    True    -
data-index-process-instance-mul35f055c67a626f51bb8d2752606a6b54   example-broker   service:sonataflow-platform-example-data-index-service     106s  7 OK / 7    True    -
data-index-process-node-fbf285df-c0a4-4545-b77a-c232ec2890e2      example-broker   service:sonataflow-platform-example-data-index-service     106s  7 OK / 7    True    -
data-index-process-state-fbf285df-c0a4-4545-b77a-c232ec2890e2     example-broker   service:sonataflow-platform-example-data-index-service     106s  7 OK / 7    True    -
data-index-process-variable-ac727d6051750888dedb72f697737c0dfbf   example-broker   service:sonataflow-platform-example-data-index-service     106s  7 OK / 7    True    -
jobs-service-create-job-fbf285df-c0a4-4545-b77a-c232ec2890e2    example-broker   service:sonataflow-platform-example-jobs-service         106s  7 OK / 7    True    -
jobs-service-delete-job-fbf285df-c0a4-4545-b77a-c232ec2890e2    example-broker   service:sonataflow-platform-example-jobs-service         106s  7 OK / 7    True    -

작업 서비스에 대한 SinkBinding 리소스를 보려면 다음 명령을 사용합니다.

$ oc get sources -n example-namespace

출력 예

NAME                                          TYPE          RESOURCE                           SINK                    READY
sonataflow-platform-example-jobs-service-sb   SinkBinding   sinkbindings.sources.knative.dev   broker:example-broker   True

4.3.6. 고급 지원 서비스 구성

지원 서비스에 대한 고급 구성을 적용해야 하는 시나리오에서는 SonataFlowPlatform CR(사용자 정의 리소스)의 podTemplate 필드를 사용합니다. 이 필드를 사용하면 복제본 수, 환경 변수, 컨테이너 이미지 및 초기화 옵션과 같은 구성을 지정하여 서비스 Pod 배포를 사용자 지정할 수 있습니다.

다음 예제를 사용하여 서비스에 대한 고급 설정을 구성할 수 있습니다.

Data Index 서비스에 대한 고급 구성 예

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowPlatform
metadata:
  name: sonataflow-platform-example
  namespace: example-namespace
spec:
  services:
    # This can be either 'dataIndex' or 'jobService'
    dataIndex:
      enabled: true
      podTemplate:
        replicas: 2 1
        container: 2
          env: 3
            - name: <any_advanced_config_property>
              value: <any_value>
          image: 4
        initContainers: 5

참고

요구 사항에 따라 'services' 필드를 'dataIndex' 또는 'jobService'로 설정할 수 있습니다. 나머지 구성은 동일하게 유지됩니다.

1
복제본 수를 정의합니다. 기본값은 1 입니다. jobService 의 경우 이 값은 싱글톤 서비스로 작동하기 때문에 항상 1 로 덮어씁니다.
2
서비스를 실행하는 컨테이너에 대한 특정 구성이 있습니다.
3
환경 변수를 지정하여 서비스 속성을 미세 조정할 수 있습니다.
4
이미지를 업데이트하거나 사용자 지정해야 하는 경우 유용한 서비스의 컨테이너 이미지를 구성합니다.
5
기본 컨테이너를 시작하기 전에 사전 요구 사항을 설정하는 데 유용한 Pod의 init 컨테이너를 구성합니다.
참고

podTemplate 필드는 각 지원 서비스의 배포를 조정할 수 있는 유연성을 제공합니다. 표준 PodSpec API를 따르므로 이러한 필드에 동일한 API 검증 규칙이 적용됩니다.

4.3.7. 클러스터 범위 지원 서비스

SonataFlowClusterPlatform CR(사용자 정의 리소스)을 사용하여 워크플로우에서 사용할 수 있는 클러스터 전체 지원 서비스 세트를 정의할 수 있습니다. 기존 네임스페이스별 SonataFlowPlatform CR을 참조하여 클러스터 전체에서 이러한 서비스 사용을 확장할 수 있습니다.

모든 네임스페이스에 배포된 워크플로우가 example-namespace 와 같이 특정 네임스페이스에 배포된 지원 서비스를 활용할 수 있도록 하는 기본 구성의 다음 예제를 사용할 수 있습니다.

SonataFlowClusterPlatform CR의 예

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlowClusterPlatform
metadata:
  name: cluster-platform
spec:
  platformRef:
    name: sonataflow-platform-example 1
    namespace: example-namespace 2

1
지원 서비스를 관리하는 이미 설치된 SonataFlowPlatform CR의 이름을 지정합니다.
2
지원 서비스를 관리하는 SonataFlowPlatform CR의 네임스페이스를 지정합니다.
참고

SonataFlowPlatform.spec.services 에서 해당 네임스페이스를 구성하여 모든 네임스페이스에서 이러한 클러스터 전체 서비스를 덮어쓸 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.