공유 리소스 작업


builds for Red Hat OpenShift 1.2

공유 리소스 CSI Driver Operator 사용

Red Hat OpenShift Documentation Team

초록

이 문서에서는 공유 리소스 CSI 드라이버 사용에 대한 절차 예제를 제공합니다.

1장. 공유 리소스 CSI Driver Operator

클러스터 관리자는 볼륨 유형을 csi 로 사용하는 Kubernetes 오브젝트에서 CSI(Share Resource Container Storage Interface) 드라이버를 사용하여 Secret 또는 ConfigMap 오브젝트의 콘텐츠가 포함된 인라인 임시 볼륨을 프로비저닝할 수 있습니다. 이렇게 하면 볼륨 마운트를 노출하는 Pod 및 기타 Kubernetes 유형이 OpenShift Container Platform 빌드에서 클러스터의 모든 네임스페이스에서 해당 오브젝트의 콘텐츠를 안전하게 사용할 수 있습니다. 이를 위해 현재 두 가지 유형의 공유 리소스가 있습니다.

  • Secret 오브젝트에 대한 SharedSecret 사용자 정의 리소스
  • ConfigMap 오브젝트에 대한 SharedConfigMap 사용자 정의 리소스

1.1. CSI 정보

스토리지 벤더는 일반적으로 Kubernetes의 일부로 스토리지 드라이버를 제공합니다. CSI(Container Storage Interface) 구현을 통해 타사 공급자는 코어 Kubernetes 코드를 변경하지 않고 표준 인터페이스를 사용하여 스토리지 플러그인을 제공할 수 있습니다. CSI Operator는 in-tree 볼륨 플러그인에서 사용할 수 없는 볼륨 스냅샷과 같은 사용자 스토리지 옵션을 빌드합니다.

1.2. 네임스페이스에서 보안 공유

클러스터의 네임스페이스에서 보안을 공유하려면 Secret 오브젝트에 대한 SharedSecret CR(사용자 정의 리소스) 인스턴스를 생성합니다.

사전 요구 사항

  • 다른 네임스페이스에서 공유할 Secret 오브젝트를 생성했습니다.
  • 다음 작업을 수행할 수 있는 권한이 있어야 합니다.

    • 클러스터에 가입하고 Insights Operator를 통해 인타이틀먼트 키를 동기화해야 합니다.
    • 클러스터 범위 수준에서 sharedsecrets.sharedresource.openshift.io CRD(사용자 정의 리소스 정의)의 인스턴스를 생성했습니다.
    • SharedConfigMap CR 에 대한 ClusterRole 오브젝트를 생성하셨습니다.
    • 공유 리소스 CSI 드라이버에 대한 RoleRoleBinding 오브젝트를 생성하셨습니다.
    • 사용자를 제어하기 위해 클러스터의 네임스페이스에서 관리되는 역할 및 역할 바인딩입니다.
    • Pod에서 지정한 서비스 계정이 사용하려는 Secret 또는 Configmap CR을 참조하는 CSI(Container Storage Interface) 볼륨을 마운트할 수 있는지 여부를 제어하는 관리 역할 및 역할 바인딩입니다.
    • 공유할 시크릿이 포함된 네임스페이스에 액세스할 수 있습니다.

프로세스

  1. 다음 예제 구성을 사용하여 클러스터의 네임스페이스에서 참조된 보안을 공유할 Shared Secret 인스턴스를 생성합니다.

    apiVersion: sharedresource.openshift.io/v1alpha1
    kind: SharedSecret
    metadata:
      name: shared-test-secret 
    1
    
    spec:
      secretRef:
        name: test-secret
        namespace: <name_of_the_source_namespace>
    Copy to Clipboard Toggle word wrap
    1
    SharedSecret CR의 이름을 정의합니다.
  2. 다음 예제 구성을 사용하여 참조된 공유 리소스를 사용할 수 있는 RBAC 권한을 부여하는 ClusterRole 오브젝트를 생성합니다.

    . apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: use-shared-test-secret 
    1
    
    rules:
      - apiGroups:
          - sharedresource.openshift.io
        resources:
          - sharedsecrets
        resourceNames:
          - shared-test-secret
        verbs:
          - use
    Copy to Clipboard Toggle word wrap
    1
    ClusterRole CR의 이름을 정의합니다.
  3. Shared Resources CSI 드라이버에 SharedSecret 오브젝트에 액세스할 수 있는 권한을 부여하는 RoleRoleBinding 오브젝트를 생성합니다.

    Role 오브젝트의 예

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: share-etc-pki-entitlement 
    1
    
      namespace: openshift-config-managed
    rules:
      - apiGroups:
          - ""
        resources:
          - secrets
        resourceNames:
          - etc-pki-entitlement
        verbs:
          - get
          - list
          - watch
    Copy to Clipboard Toggle word wrap

    1
    Role CR의 이름을 정의합니다.

    RoleBinding 오브젝트의 예

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: share-etc-pki-entitlement 
    1
    
      namespace: openshift-config-managed
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: share-etc-pki-entitlement 
    2
    
    subjects:
      - kind: ServiceAccount
        name: csi-driver-shared-resource 
    3
    
        namespace: openshift-builds
    Copy to Clipboard Toggle word wrap

    1
    RoleBinding CR의 이름을 정의합니다.
    2
    Role CR의 이름을 정의합니다.
    3
    ServiceAccount CR의 이름을 정의합니다.

1.3. Pod에서 SharedSecret 인스턴스 사용

Pod에서 SharedSecret CR(사용자 정의 리소스)에 액세스하려면 서비스 계정에 대한 RBAC(역할 기반 액세스 제어) 권한을 부여합니다.

사전 요구 사항

  • 클러스터의 네임스페이스에서 공유할 구성 맵에 대해 SharedConfigMap CR 인스턴스를 생성했습니다.
  • 다음 작업을 수행할 수 있는 권한이 있어야 합니다.

    • oc get sharedconfigmaps 명령을 입력하여 SharedConfigMap CR 인스턴스 목록을 가져옵니다.
    • 서비스 계정이 SharedSecret CR을 사용하도록 허용된 경우 oc adm policy who-can use <sharedsecret_identifier > 명령을 실행하여 네임스페이스에 서비스 계정이 나열되어 있는지 확인합니다.
    • Pod의 서비스 계정이 csi 볼륨을 사용할 수 있는지 확인합니다. Pod를 사용자로 생성한 경우 csi 볼륨을 사용할 수 있는지 확인합니다.
참고

마지막 두 사전 요구 사항을 완료할 수 없는 경우 클러스터 관리자가 필요한 RBAC(역할 기반 액세스 제어)를 설정하여 서비스 계정에서 SharedConfigMap CR을 사용할 수 있도록 할 수 있습니다.

프로세스

  1. 역할과 연결된 RoleBinding 오브젝트를 생성하고 공유 리소스를 사용할 수 있는 서비스 계정에 권한을 부여합니다. 다음 예제 구성을 참조하십시오.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: use-shared-secret 
    1
    
      namespace: app-namespace
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: use-shared-secret
    subjects:
      - kind: ServiceAccount
        name: <service_account_name> 
    2
    Copy to Clipboard Toggle word wrap
    1
    RoleBinding CR의 이름을 정의합니다.
    2
    애플리케이션의 서비스 계정 이름을 지정합니다.
  2. 공유 리소스 csi 드라이버를 Pod 또는 csi 볼륨을 허용하는 기타 리소스에 마운트합니다. 다음 예제 구성을 참조하십시오.

    apiVersion: v1
    kind: Pod
    metadata:
      name: example-shared-secret
      namespace: <app_namespace> 
    1
    
    spec:
      ...
      serviceAccountName: default
      volumes:
        - name: shared-secret
          csi:
            readOnly: true
            driver: csi.sharedresource.openshift.io
            volumeAttributes:
              sharedSecret: shared-test-secret 
    2
    Copy to Clipboard Toggle word wrap
    1
    <app_namespace>를 애플리케이션의 네임스페이스 이름으로 바꿉니다.
    2
    SharedSecret CR의 이름과 동일해야 하는 sharedSecret 속성의 값을 정의합니다.

1.4. 네임스페이스에서 구성 맵 공유

클러스터의 네임스페이스 간에 구성 맵을 공유하려면 SharedConfigMap CR(사용자 정의 리소스) 인스턴스를 생성합니다.

사전 요구 사항

다음 작업을 수행할 수 있는 권한이 있어야 합니다.

  • 클러스터 범위 수준에서 sharedconfigmaps.sharedresource.openshift.io CRD(사용자 정의 리소스 정의)를 생성합니다.
  • SharedConfigMap CR에 대한 ClusterRole 오브젝트를 생성합니다.
  • CSI(Share Resource Container Storage Interface) 드라이버에 대한 역할 및 역할 바인딩을 생성합니다.
  • 클러스터의 네임스페이스에서 역할 및 역할 바인딩을 관리하여 해당 인스턴스를 가져오고, 나열하고, 조사할 수 있는 사용자를 제어합니다.
  • 클러스터의 네임스페이스에서 역할 및 역할 바인딩을 관리하여 CSI 볼륨을 마운트하는 Pod에서 해당 인스턴스를 사용할 수 있는 서비스 계정을 제어합니다.
  • 공유할 시크릿이 포함된 네임스페이스에 액세스합니다.

프로세스

  1. 클러스터의 네임스페이스에서 공유할 구성 맵에 대한 SharedConfigMap CR 인스턴스를 생성합니다. 다음 예제 구성을 참조하십시오.

    apiVersion: sharedresource.openshift.io/v1alpha1
    kind: SharedConfigMap
    metadata:
      name: share-test-config 
    1
    
    spec:
      configMapRef:
        name: shared-config
        namespace: <name_of_the_source_namespace> 
    2
    Copy to Clipboard Toggle word wrap
    1
    SharedConfigMap CR의 이름을 정의합니다.
    2
    & lt;name_of_the_source_namespace& gt;를 소스 네임스페이스 이름으로 바꿉니다.
  2. 다음 예제 구성을 사용하여 참조된 공유 리소스를 사용할 수 있는 RBAC(역할 기반 액세스 제어) 권한을 부여하는 ClusterRole CR 인스턴스를 생성합니다.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: <cluster_role_name> 
    1
    
    rules:
      - apiGroups:
          - sharedresource.openshift.io
        resources:
          - sharedconfigmaps
        resourceNames:
          - share-test-config 
    2
    
        verbs:
          - use
    Copy to Clipboard Toggle word wrap
    1
    <cluster_role_name>을 클러스터 역할의 이름으로 바꿉니다.
    2
    SharedSecret CR의 이름을 정의합니다.
  3. RoleRoleBinding 오브젝트를 생성하여 CSI 드라이버 권한을 구성 맵에 액세스할 수 있는 권한을 부여합니다.

    Role 오브젝트의 예

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: shared-test-config
      namespace: test-share-source 
    1
    
    rules:
      - apiGroups: [""]
        resources: ["configmaps"]
        resourceNames: ["shared-config"]
        verbs: ["get", "list", "watch"]
    Copy to Clipboard Toggle word wrap

    1
    소스 네임스페이스의 이름을 정의합니다.

    RoleBinding 오브젝트의 예

     apiVersion: rbac.authorization.k8s.io/v1
     kind: RoleBinding
     metadata:
       name: shared-test-config
       namespace: test-share-source 
    1
    
     roleRef:
       apiGroup: rbac.authorization.k8s.io
       kind: Role
       name: shared-test-config
     subjects: 
    2
    
       - kind: ServiceAccount
         name: csi-driver-shared-resource
         namespace: openshift-builds
    Copy to Clipboard Toggle word wrap

    1
    소스 네임스페이스의 이름을 정의합니다.
    2
    Shared Resource CSI 드라이버 DaemonSet의 서비스 계정 목록을 정의합니다. OpenShift 빌드와 함께 배포되는 경우 서비스 계정 이름은 csi-driver-shared-resource 이며, 네임스페이스는 OpenShift Operator의 빌드가 배포되는 것과 동일합니다.

1.5. Pod에서 SharedConfigMap 인스턴스 사용

Pod에서 SharedConfigMap CR(사용자 정의 리소스) 인스턴스에 액세스하려면 해당 SharedConfigMap CR 인스턴스를 사용할 수 있는 지정된 서비스 계정 역할 기반 액세스 제어(RBAC) 권한을 부여합니다.

사전 요구 사항

  • 클러스터의 네임스페이스에서 공유할 구성 맵에 대해 SharedConfigMap CR 인스턴스를 생성했습니다.
  • 다음 작업을 수행할 수 있는 권한이 있어야 합니다.

    • oc get sharedconfigmaps 명령을 입력하여 SharedConfigMap CR 인스턴스 목록을 가져옵니다.
    • 서비스 계정이 SharedSecret CR을 사용하도록 허용된 경우 oc adm policy who-can use <sharedsecret_identifier > 명령을 실행하여 네임스페이스에 서비스 계정이 나열되어 있는지 확인합니다.
    • Pod의 서비스 계정이 csi 볼륨을 사용할 수 있는지 확인합니다. Pod를 사용자로 생성한 경우 csi 볼륨을 사용할 수 있는지 확인합니다.
참고

마지막 두 사전 요구 사항을 완료할 수 없는 경우 클러스터 관리자가 필요한 RBAC(역할 기반 액세스 제어)를 설정하여 서비스 계정에서 SharedConfigMap CR을 사용할 수 있도록 할 수 있습니다.

프로세스

  1. 역할과 연결된 RoleBinding 오브젝트를 생성하고 공유 리소스를 사용할 수 있는 서비스 계정에 권한을 부여합니다. 다음 예제 구성을 참조하십시오.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: use-shared-config
      namespace: <app_namespace> 
    1
    
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: use-shared-config
    subjects:
      - kind: ServiceAccount
        name: <service_account_name> 
    2
    Copy to Clipboard Toggle word wrap
    1
    <app_namespace>를 애플리케이션의 네임스페이스 이름으로 바꿉니다.
    2
    애플리케이션의 서비스 계정 이름을 지정합니다.
  2. 공유 리소스 csi 드라이버를 Pod 또는 csi 볼륨을 허용하는 기타 리소스에 마운트합니다. 다음 예제 구성을 참조하십시오.

    apiVersion: v1
    kind: Pod
    metadata:
      name: example-shared-config
      namespace: <app_namespace> 
    1
    
    spec:
      ...
      serviceAccountName: default
      volumes:
        - name: shared-config
          csi:
            readOnly: true
            driver: csi.sharedresource.openshift.io
            volumeAttributes:
              sharedConfigMap: share-test-config 
    2
    Copy to Clipboard Toggle word wrap
    1
    <app_namespace>를 애플리케이션의 네임스페이스 이름으로 바꿉니다.
    2
    sharedConfigMap 오브젝트의 이름을 정의합니다.

1.6. volumeAttributes의 유효성을 검사하는 조건

단일 볼륨의 volumeAttributes 필드에서 sharedSecret 또는 sharedConfigMap 특성을 SharedSecret 또는 SharedConfigMap 인스턴스 값으로 설정해야 합니다. 그러지 않으면 Pod를 시작하는 동안 볼륨이 프로비저닝되면 검증 검사에서 kubelet에 오류를 반환합니다. Pod의 공유 리소스 볼륨을 프로비저닝하려면 다음 조건을 검토합니다.

  • sharedSecretsharedConfigMap 속성에 대한 값을 지정해야 합니다.
  • sharedSecretsharedConfigMap 속성 값이 CR(사용자 정의 리소스)의 이름과 일치해야 합니다.

1.7. OpenShift 서브스크립션 인타이틀먼트를 사용하여 이미지 빌드

공유 리소스, Insights Operator 및 Red Hat OpenShift 빌드 빌드 간의 통합을 통해 Red Hat OpenShift 빌드 빌드에서 RHEL(Red Hat 서브스크립션)을 더 쉽게 사용할 수 있습니다.

OpenShift Container Platform 4.10 이상에서는 Red Hat OpenShift용 빌드에서 공유 리소스 및 Insights Operator에서 제공하는 간단한 콘텐츠 액세스 기능을 참조하여 RHEL(Red Hat 서브스크립션)을 사용할 수 있습니다.

  • 간단한 콘텐츠 액세스 기능은 서브스크립션 인증 정보를 잘 알려진 Secret 오브젝트로 가져옵니다.
  • 클러스터 관리자는 Secret 오브젝트를 사용하여 SharedSecret CR(사용자 정의 리소스)을 생성하고 프로젝트 또는 네임스페이스에 권한을 부여합니다. 클러스터 관리자는 builder 서비스 계정에 SharedSecret CR을 사용할 수 있는 권한을 제공합니다.
  • 해당 프로젝트 또는 네임스페이스 내에서 실행되는 빌드는 SharedSecret CR 인스턴스 및 해당 RHEL 콘텐츠를 참조하는 CSI(Container Storage Interface) 볼륨을 마운트할 수 있습니다.

1.8. SharedSecret 오브젝트를 사용하여 빌드 실행

SharedSecret 오브젝트를 사용하여 빌드에서 클러스터의 RHEL 인타이틀먼트 키에 안전하게 액세스할 수 있습니다. SharedSecret 오브젝트를 사용하면 네임스페이스에서 보안을 공유하고 동기화할 수 있습니다.

사전 요구 사항

  • 다음 작업을 수행할 수 있는 권한이 있어야 합니다.

    • 빌드 구성을 생성하고 빌드를 시작합니다.
    • SharedSecret 오브젝트를 생성합니다.
    • oc get sharedsecrets 명령을 입력하고 비어 있지 않은 목록을 다시 가져와서 사용할 수 있는 SharedSecret CR(사용자 정의 리소스) 인스턴스를 검색합니다.
    • 서비스 계정이 SharedSecret CR을 사용하도록 허용된 경우 oc adm policy who-can use <sharedsecret_identifier > 명령을 실행하여 네임스페이스에 서비스 계정이 나열되어 있는지 확인합니다.
참고

마지막 두 사전 요구 사항을 완료할 수 없는 경우 클러스터 관리자가 필요한 역할 기반 액세스 제어(RBAC)를 설정하여 서비스 계정에 SharedSecret CR을 사용할 수 있도록 할 수 있습니다.

프로세스

  1. 다음 명령을 실행하여 클러스터의 인타이틀먼트 시크릿을 사용하여 SharedSecret 오브젝트 인스턴스를 생성합니다.

    $ oc apply -f -<<EOF
    apiVersion: sharedresource.openshift.io/v1alpha1
    kind: SharedSecret
    metadata:
      name: etc-pki-entitlement
    spec:
      secretRef:
        name: etc-pki-entitlement
        namespace: openshift-config-managed
    EOF
    Copy to Clipboard Toggle word wrap
  2. 다음 예제 구성을 사용하여 SharedSecret 오브젝트에 액세스할 수 있는 권한을 부여할 ClusterRole 오브젝트를 생성합니다.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: use-share-etc-pki-entitlement 
    1
    
    rules:
      - apiGroups:
          - sharedresource.openshift.io
        resources:
          - sharedsecrets
        resourceNames:
          - etc-pki-entitlement
        verbs:
          - use
    Copy to Clipboard Toggle word wrap
    1
    ClusterRole CR의 이름을 정의합니다.
  3. Shared Resources CSI 드라이버에 SharedSecret 오브젝트에 액세스할 수 있는 권한을 부여하는 RoleRoleBinding 오브젝트를 생성합니다.

    Role 오브젝트의 예

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: share-etc-pki-entitlement 
    1
    
      namespace: openshift-config-managed
    rules:
      - apiGroups:
          - ""
        resources:
          - secrets
        resourceNames:
          - etc-pki-entitlement
        verbs:
          - get
          - list
          - watch
    Copy to Clipboard Toggle word wrap

    1
    Role CR의 이름을 정의합니다.

    RoleBinding 오브젝트의 예

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: share-etc-pki-entitlement 
    1
    
      namespace: openshift-config-managed
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: share-etc-pki-entitlement
    subjects:
      - kind: ServiceAccount
        name: csi-driver-shared-resource
        namespace: openshift-builds 
    2
    Copy to Clipboard Toggle word wrap

    1
    RoleBinding CR의 이름을 정의합니다.
    2
    openshift-builds 가 설치된 네임스페이스의 이름을 정의합니다.
  4. 빌드가 실행되는 네임스페이스에서 builderpipeline 서비스 계정에 대한 RoleBinding 오브젝트를 생성합니다.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: use-share-etc-pki-entitlement 
    1
    
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: use-share-etc-pki-entitlement
    subjects:
      - kind: ServiceAccount
        name: pipeline
      - kind: ServiceAccount
        name: builder
    Copy to Clipboard Toggle word wrap
    1
    builderpipeline 서비스 계정에 대한 RoleBinding CR의 이름을 정의합니다.
    참고

    SharedSecret 오브젝트를 사용하는 서비스 계정은 OpenShift 컨트롤러에서 생성 및 관리합니다.

  5. buildah 빌드 전략을 사용하여 SharedSecret 오브젝트를 마운트합니다. 다음 예제를 참조하십시오.

    $ oc apply -f -<<EOF
    apiVersion: shipwright.io/v1beta1
    kind: Build
    metadata:
      name: buildah-rhel
    spec:
      source:
        type: Git
          git:
          url: https://github.com/redhat-openshift-builds/samples
        contextDir: buildah-build
      strategy:
        name: buildah
        kind: ClusterBuildStrategy
      paramValues:
      - name: dockerfile
        value: DockerFile
      volumes:
      - csi:
          driver: csi.sharedresource.openshift.io
          readOnly: true 
    1
    
          volumeAttributes:
            sharedSecret:  <sharedsecret_object_name> 
    2
    
        name: etc-pki-entitlement
      output:
        image: <output_image_location> 
    3
    
    EOF
    Copy to Clipboard Toggle word wrap
1
빌드에 공유 리소스를 마운트하려면 readOnlytrue 로 설정해야 합니다.
2
빌드에 포함할 SharedSecret 오브젝트의 이름을 지정합니다.
3
빌드된 이미지를 내보낼 위치를 지정합니다.

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat