Red Hat Developer Hub용 Ansible 플러그인 설치


Red Hat Ansible Automation Platform 2.5

Red Hat Developer Hub용 Ansible 플러그인 설치 및 구성

Red Hat Customer Content Services

초록

이 가이드에서는 사용자가 Ansible에 대해 알아보고 선별된 컬렉션을 탐색하고 자동화 프로젝트를 개발할 수 있도록 Red Hat Developer Hub용 Ansible 플러그인을 설치 및 구성하는 방법을 설명합니다.

머리말

Red Hat Ansible Automation Platform에 관심을 가져 주셔서 감사합니다. Ansible Automation Platform은 Ansible 기반 환경에 제어, 지식, 위임을 추가하여 팀이 복잡한 다중 계층 배포를 관리하는 데 도움이 되는 상용 서비스입니다.

이 가이드에서는 Red Hat Developer Hub용 Ansible 플러그인을 설치하는 방법을 설명합니다. 이 문서는 최신 Ansible Automation Platform 릴리스에 대한 정보를 포함하도록 업데이트되었습니다.

Red Hat 문서에 관한 피드백 제공

이 문서를 개선하기 위한 제안이 있거나 오류를 찾을 수 있는 경우 https://access.redhat.com 에서 기술 지원에 문의하여 요청을 열 수 있습니다.

1장. Red Hat Developer Hub용 Ansible 플러그인

1.1. Red Hat Developer Hub

RHDH(Red Hat Developer Hub)는 개발자 포털 빌드를 위해 설계된 오픈 개발자 플랫폼입니다.

1.2. Red Hat Developer Hub용 Ansible 플러그인

Red Hat Developer Hub용 Ansible 플러그인은 Ansible 우선 Red Hat Developer Hub 사용자 환경을 제공하여 모든 기술 수준의 Ansible 사용자를 위한 자동화 환경을 단순화합니다. Ansible 플러그인은 선별된 콘텐츠 및 기능을 제공하여 Ansible learner 온보딩을 가속화하고 조직 전체에서 Ansible 사용 사례 채택을 간소화합니다.

Ansible 플러그인은 다음을 제공합니다.

  • 사용자 지정 홈 페이지 및 Ansible 사용자에게 맞는 탐색입니다.
  • Ansible을 처음 접하는 사용자를 돕기 위해 선별된 Ansible 학습 경로.
  • 모범 사례를 따르는 Ansible 플레이북 및 컬렉션 프로젝트를 생성하기 위한 소프트웨어 템플릿입니다.
  • 의견이 지정된 구성이 포함된 지원되는 개발 환경 및 툴에 대한 링크입니다.

1.3. 아키텍처

Red Hat Developer Hub 아키텍처용 Ansible 플러그인

2장. OpenShift Container Platform에 Helm 차트를 사용하여 Ansible 플러그인 설치

다음 절차에서는 Helm 차트를 사용하여 Red Hat OpenShift Container Platform의 Red Hat Developer Hub 인스턴스에 Ansible 플러그인을 설치하는 방법을 설명합니다.

워크플로우는 다음과 같습니다.

  1. Ansible 플러그인 파일을 다운로드합니다.
  2. OpenShift 클러스터에 플러그인 레지스트리를 생성하여 Ansible 플러그인을 호스팅합니다.
  3. Helm 차트에 플러그인을 추가합니다.
  4. 사용자 정의 ConfigMap을 생성합니다.
  5. Helm 차트에 사용자 정의 ConfigMap을 추가합니다.
  6. 필수 및 선택적 구성 절차에 따라 사용자 정의 ConfigMap 및 Helm 차트를 편집합니다.

    참고

    구성을 업데이트할 때마다 Helm 및 ConfigMap에 대한 변경 사항을 저장할 수 있습니다. 단일 세션에서 이러한 파일에 대한 모든 변경을 수행할 필요는 없습니다.

2.1. 사전 요구 사항

  • Red Hat OpenShift Container Platform에 Red Hat Developer Hub가 설치되어 있습니다.

  • Red Hat Ansible Automation Platform에 유효한 서브스크립션입니다.
  • 애플리케이션을 생성하기 위해 프로젝트 내에 적절한 권한이 있는 OpenShift Container Platform 인스턴스입니다.
  • Red Hat Developer Hub 인스턴스는 자동화 컨트롤러 API를 쿼리할 수 있습니다.
  • 선택 사항: 통합 학습 경로를 사용하려면 developers.redhat.com에 대한 아웃바운드 액세스 권한이 있어야 합니다.

2.3. Ansible 플러그인 파일 다운로드

  1. Red Hat Ansible Automation Platform 제품 소프트웨어 다운로드 페이지에서 플러그인의 최신 .tar 파일을 다운로드합니다. 파일 이름의 형식은 ansible-backstage-rhaap-bundle-x.y.z.tar.gz 입니다. Ansible 플러그인 릴리스 버전을 대체합니다(예: x.y.z ).
  2. 로컬 시스템에 디렉터리를 생성하여 .tar 파일을 저장합니다.

    $ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
  3. 디렉터리 경로를 나타내는 환경 변수($DYNAMIC_PLUGIN_ROOT_DIR)를 설정합니다.

    $ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
  4. ansible-backstage-rhaap-bundle-<version-number>.tar.gz 콘텐츠를 $DYNAMIC_PLUGIN_ROOT_DIR 로 추출합니다.

    $ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR

    Ansible 플러그인 릴리스 버전을 대체합니다(예: x.y.z ).

검증

ls 를 실행하여 추출된 파일이 $DYNAMIC_PLUGIN_ROOT_DIR 디렉터리에 있는지 확인합니다.

$ ls $DYNAMIC_PLUGIN_ROOT_DIR
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity

.integrity 파일 유형의 파일에는 plugin SHA 값이 포함되어 있습니다. SHA 값은 플러그인 구성 중에 사용됩니다.

2.4. Ansible 플러그인의 레지스트리 생성

Ansible 플러그인을 호스팅하고 RHDH(Red Hat Developer Hub)에 설치할 수 있도록 OpenShift 클러스터에 레지스트리를 설정합니다.

프로세스

  1. 인증 정보를 사용하여 OpenShift Container Platform 인스턴스에 로그인하여 새 애플리케이션을 생성합니다.
  2. Red Hat Developer Hub OpenShift 프로젝트를 엽니다.

    $ oc project <YOUR_DEVELOPER_HUB_PROJECT>
  3. 다음 명령을 실행하여 OpenShift 클러스터에서 플러그인 레지스트리 빌드를 생성합니다.

    $ oc new-build httpd --name=plugin-registry --binary
    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
    $ oc new-app --image-stream=plugin-registry

검증

plugin-registry가 성공적으로 배포되었는지 확인하려면 OpenShift 웹 콘솔의 Red Hat Developer Hub 애플리케이션의 개발자 화면에서 토폴로지 보기를 엽니다.

  1. 플러그인 레지스트리를 클릭하여 로그를 확인합니다.

    개발자 화면

    (1) 개발자 허브 인스턴스

    (2) 플러그인 레지스트리

  2. 터미널 탭을 클릭하고 컨테이너에 로그인합니다.
  3. 터미널에서 ls 를 실행하여 .tar 파일이 플러그인 레지스트리에 있는지 확인합니다.

    ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
    ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
    ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz

    버전 번호와 파일 이름은 다를 수 있습니다.

2.5. 필수 구성

2.5.1. Ansible 플러그인 구성 추가

  1. OpenShift Developer UI에서 Helmdeveloper-hubActionsUpgradeYaml view 로 이동합니다.
  2. Helm 차트 구성을 업데이트하여 Red Hat Developer Hub 인스턴스에 동적 플러그인을 추가합니다. YAML 파일의 plugins 섹션에서 활성화할 동적 플러그인을 추가합니다.

    global:
      ...
        plugins:
          - disabled: false
            integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap-dynamic plugin>
            package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
            pluginConfig:
              dynamicPlugins:
                frontend:
                  ansible.plugin-backstage-rhaap:
                    appIcons:
                      - importName: AnsibleLogo
                        name: AnsibleLogo
                    dynamicRoutes:
                      - importName: AnsiblePage
                        menuItem:
                          icon: AnsibleLogo
                          text: Ansible
                        path: /ansible
          - disabled: false
            integrity: <SHA512 Integrity key for ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic plugin>
            package: >-
              http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
          - disabled: false
            integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap-backend-dynamic plugin>
            package: >-
              http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-backstage-rhaap-backend: null
  3. package 섹션에서 플러그인 파일 이름의 x.y.z 를 Ansible 플러그인의 올바른 버전 번호로 바꿉니다.
  4. 각 Ansible 플러그인에 대해 해당 .integrity 파일 콘텐츠를 사용하여 무결성 값을 업데이트합니다.
  5. 업그레이드 를 클릭합니다.

    개발자 허브 포드가 다시 시작되고 플러그인이 설치됩니다.

검증

플러그인이 설치되었는지 확인하려면 install-dynamic-plugin 컨테이너 로그를 열고 Ansible 플러그인이 Red Hat Developer Hub에 표시되는지 확인합니다.

  1. OpenShift 웹 콘솔에서 Red Hat Developer Hub 애플리케이션의 개발자 화면을 엽니다.
  2. 토폴로지 보기를 선택합니다.
  3. Red Hat Developer Hub 배포 Pod를 선택하여 정보 창을 엽니다.
  4. 정보 창의 리소스 탭을 선택합니다.
  5. 포드 섹션에서 로그 보기를 클릭하여 포드 세부 정보 페이지를 엽니다.
  6. Pod 세부 정보 페이지에서 로그 탭을 선택합니다.
  7. 컨테이너 드롭다운 목록에서 install-dynamic-plugins 를 선택하여 컨테이너 로그를 확인합니다.
  8. install-dynamic-plugin 컨테이너 로그에서 Ansible 플러그인을 검색합니다.

    로그의 다음 예제는 플러그인 중 하나에 대해 성공적으로 설치되었음을 나타냅니다.

    => Successfully installed dynamic plugin http://plugin-registry-1:8080/ansible-plugin-backstage-rhaap-dynamic-1.1.0.tgz

    다음 이미지는 Pod 세부 정보 페이지에 있는 컨테이너 로그를 보여줍니다. 버전 번호와 파일 이름은 다를 수 있습니다.

    install-dynamic-plugin의 컨테이너 로그

2.5.2. Ansible Development Tools 사이드카 컨테이너 추가

플러그인을 로드한 후 Red Hat Developer Hub Pod에서 사이드카 컨테이너로 Ansible 개발 컨테이너(ansible-devtools-server)를 추가합니다.

2.5.2.1. Red Hat Developer Hub Helm 구성에 풀 시크릿 추가

사전 요구 사항

Ansible 개발 컨테이너 다운로드에는 Red Hat Customer Portal 계정 및 Red Hat Service Registry 계정이 필요합니다.

프로세스

  1. 필요한 경우 새 Red Hat Registry 서비스 계정을 생성합니다.
  2. 계정 이름 열에서 토큰 이름을 클릭합니다.
  3. OpenShift Secret 탭을 선택하고 지침에 따라 Red Hat Developer Hub OpenShift 프로젝트에 풀 시크릿을 추가합니다.
  4. Red Hat Developer Hub Helm 구성에 새 보안을 추가하고 < your-redhat-registry-pull-secret >을 Red Hat Registry 서비스 계정 웹 사이트에서 생성한 시크릿 이름으로 교체합니다.

    upstream:
      backstage:
        ...
        image:
          ...
          pullSecrets:
            - <your-redhat-registry-pull-secret>
        ...

자세한 내용은 Red Hat Container Registry 설명서를 참조하십시오.

2.5.2.2. Ansible Developer Tools 컨테이너 추가

추가 컨테이너를 추가하려면 Helm 차트 구성을 업데이트해야 합니다.

프로세스

  1. OpenShift UI에 로그인합니다.
  2. Helmdeveloper-hubActionsupgradeYaml view 로 이동하여 Helm 차트를 엽니다.
  3. YAML 파일에서 extraContainers 섹션을 업데이트합니다.

    다음 코드를 추가합니다.

    upstream:
      backstage:
        ...
        extraContainers:
          - command:
              - adt
              - server
            image: >-
              registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest
            imagePullPolicy: IfNotPresent
            name: ansible-devtools-server
            ports:
              - containerPort: 8000
        ...
    참고

    이미지 가져오기 정책은 imagePullPolicy: IfNotPresent 입니다. 이미지는 노드에 아직 없는 경우에만 가져옵니다. imagePullPolicy로 업데이트: 항상 최신 이미지를 사용하려는 경우 이를 업데이트합니다.

  4. 업그레이드 를 클릭합니다.

검증

컨테이너가 실행 중인지 확인하려면 컨테이너 로그를 확인합니다.

컨테이너 로그 보기

2.5.3. 사용자 정의 ConfigMap 추가

OpenShift Container Platform 노드 가이드의 구성 맵 섹션 생성 및 사용 절차에 따라 Red Hat Developer Hub ConfigMap을 생성합니다. 다음 예제에서는 app-config-rhdh 라는 사용자 정의 ConfigMap을 사용합니다.

사용자 정의 ConfigMap을 편집하려면 OpenShift UI에 로그인하고 Select Project ( developerHubProj )ConfigMaps{developer-hub}-app-configEditConfigMapsapp-config-rhdh 로 이동합니다.

2.5.4. Ansible Dev Tools Server 구성

제공된 소프트웨어 템플릿을 사용하여 새 프로젝트를 프로비저닝하려면 Ansible 플러그인에 creatorService URL이 필요합니다.

프로세스

  1. 사용자 정의 ConfigMap 추가에서 생성한 사용자 정의 Red Hat Developer Hub 구성 맵인 app-config-rhdh 편집합니다.
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    ...
    data:
      app-config-rhdh.yaml: |-
        ansible:
          creatorService:
            baseUrl: 127.0.0.1
            port: '8000'
    ...

2.5.5. Ansible Automation Platform 구성 세부 정보

Ansible 플러그인은 토큰을 사용하여 컨트롤러 API로 Ansible Automation Platform 서브스크립션 상태를 쿼리합니다.

참고

Ansible 플러그인은 Ansible Automation Platform 서브스크립션 상태에 관계없이 계속 작동합니다.

프로세스

  1. 액세스 관리 및 인증의 애플리케이션 섹션에 따라 자동화 컨트롤러에서 "읽기" 범위를 사용하여 개인 액세스 토큰(PAT)을 생성합니다.
  2. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  3. Ansible Automation Platform 세부 정보를 app-config-rhdh.yaml 에 추가합니다.

    1. 자동화 컨트롤러 URL을 사용하여 baseURL 키를 설정합니다.
    2. 1 단계에서 생성한 토큰 값으로 토큰 키를 설정합니다.
    3. checkSSL 키를 true 또는 false 로 설정합니다.

      checkSSLtrue 로 설정된 경우 Ansible 플러그인은 SSL 인증서가 유효한지 확인합니다.

      data:
        app-config-rhdh.yaml: |
          ...
          ansible:
          ...
            rhaap:
              baseUrl: '<https://MyControllerUrl>'
              token: '<AAP Personal Access Token>'
              checkSSL: true
참고

고객님은 Red Hat Developer Hub 설치를 외부 및 무단 액세스로부터 보호할 책임이 있습니다. 다른 시크릿과 마찬가지로 백엔드 인증 키를 관리합니다. 강력한 암호 요구 사항을 충족하고 구성 파일에 노출하지 말고 환경 변수로 구성 파일에만 삽입합니다.

2.5.6. showCaseLocation구성

사용자 정의 구성 맵에서 showCaseLocation 을 구성해야 합니다.

프로세스

  1. 사용자 정의 ConfigMap 추가에서 생성한 사용자 정의 Red Hat Developer Hub 구성 맵인 app-config-rhdh 편집합니다.
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    ...
    data:
      app-config-rhdh.yaml: |-
        ansible:
          rhaap:
          ...
            showCaseLocation:
              type: file
              target: '/tmp/aap-showcases/'
    ...

2.5.7. Ansible 플러그인 소프트웨어 템플릿 추가

Red Hat Ansible은 Red Hat Developer Hub에 대한 소프트웨어 템플릿을 제공하여 Ansible 모범 사례를 기반으로 새 플레이북 및 컬렉션 프로젝트를 프로비저닝합니다.

프로세스

  1. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.
data:
  app-config-rhdh.yaml: |
    catalog:
      ...
      locations:
        ...
        - type: url
          target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
          rules:
            - allow: [Template]

자세한 내용은 Red Hat Developer Hub 관리 가이드의 템플릿 관리 섹션을 참조하십시오.

2.5.8. 역할 기반 액세스 제어 구성

Red Hat Developer Hub는 RBAC(역할 기반 액세스 제어) 기능을 제공합니다. 그러면 Ansible 플러그인 콘텐츠에 RBAC를 적용할 수 있습니다.

다음 역할을 할당합니다.

  • admin:superUsers 그룹의 멤버는 Ansible 플러그인의 생성 탭에서 템플릿을 선택하여 플레이북 및 컬렉션 프로젝트를 생성할 수 있습니다.
  • admin:users 그룹의 멤버는 Ansible 플러그인의 생성 탭에서 템플릿을 볼 수 있습니다.

다음 예제에서는 Red Hat Developer Hub에 RBAC를 추가합니다.

data:
  app-config-rhdh.yaml: |
    plugins:
    ...
    permission:
      enabled: true
      rbac:
        admin:
          users:
            - name: user:default/<user-scm-ida>
          superUsers:
            - name: user:default/<user-admin-idb>

권한 정책 및 RBAC 관리에 대한 자세한 내용은 Red Hat Developer Hub의 권한 부여 가이드를 참조하십시오.

2.6. Ansible 플러그인에 대한 선택적 구성

2.6.1. Red Hat Developer Hub 인증 활성화

RHDH(Red Hat Developer Hub)는 여러 SCM(소스 제어 관리) 시스템에 대한 통합을 제공합니다. 이는 플러그인에서 리포지토리를 생성하는 데 필요합니다.

Red Hat Developer Hub 관리 가이드Red Hat Developer Hub에서 인증 활성화 장을 참조하십시오.

2.6.2. Ansible 플러그인 선택적 통합 구성

Ansible 플러그인은 Ansible Automation Platform 및 기타 선택적 Red Hat 제품과의 통합을 제공합니다.

사용자 정의 ConfigMap을 편집하려면 OpenShift UI에 로그인하고 Select Project ( developerHubProj )ConfigMaps{developer-hub}- app-config-rhdh 로 이동합니다.

2.6.2.1. OpenShift Dev Spaces 구성

OpenShift Dev Spaces가 Ansible 플러그인에 대해 구성된 경우 사용자는 Red Hat Developer Hub의 카탈로그 항목 보기에서 링크를 클릭하고 Dev Spaces를 사용하여 프로비저닝된 Ansible Git 프로젝트를 편집할 수 있습니다.

참고

OpenShift Dev Spaces는 별도의 제품이며 선택 사항입니다. 플러그인이 없으면 작동합니다.

별도의 Red Hat 제품이며 Ansible Automation Platform 또는 Red Hat Developer Hub 서브스크립션에 포함되어 있지 않습니다.

OpenShift Dev Spaces 링크가 Ansible 플러그인에 구성되지 않은 경우 Ansible 플러그인 시작 페이지의 DEVELOP 섹션에 있는 OpenShift Dev Spaces 대시보드 링크로 이동하면 사용자를 Ansible 개발 툴 홈 페이지로 리디렉션합니다.

사전 요구 사항

프로세스

  1. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.

    data:
      app-config-rhdh.yaml: |-
        ansible:
          devSpaces:
            baseUrl: >-
              https://<Your OpenShift Dev Spaces URL>
  3. & lt;Your OpenShft Dev Spaces URL >을 OpenShift Dev Spaces URL로 바꿉니다.
  4. OpenShift Developer UI에서 Red Hat Developer Hub Pod를 선택합니다.
  5. 작업 열기.
  6. 롤아웃 다시 시작을 클릭합니다.
2.6.2.2. 프라이빗 자동화 허브 URL 구성

프라이빗 자동화 허브는 인증된 Ansible 컬렉션, 실행 환경 및 조직에서 제공하는 추가 vletsd 콘텐츠를 위한 중앙 집중식 온프레미스 리포지토리를 제공합니다.

Ansible 플러그인에 프라이빗 자동화 허브 URL이 구성되지 않은 경우 사용자는 Red Hat Hybrid Cloud Console 자동화 허브로 리디렉션됩니다.

참고

프라이빗 자동화 허브 구성은 선택 사항이지만 권장됩니다. Ansible 플러그인이 없이 작동합니다.

사전 요구 사항

절차:

  1. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.

    data:
      app-config-rhdh.yaml: |-
        ansible:
        ...
          automationHub:
            baseUrl: '<https://MyOwnPAHUrl>'
        ...
  3. & lt;https://MyOwnPAHUrl/> 를 프라이빗 자동화 허브 URL로 바꿉니다.
  4. OpenShift Developer UI에서 Red Hat Developer Hub Pod를 선택합니다.
  5. 작업 열기.
  6. 롤아웃 다시 시작을 클릭합니다.

2.7. 전체 예

2.7.1. Ansible 플러그인 항목에 대한 전체 app-config-rhdh ConfigMap 예

kind: ConfigMap
...
metadata:
  name: app-config-rhdh
  ...
data:
  app-config-rhdh.yaml: |-
    ansible:
      creatorService:
        baseUrl: 127.0.0.1
        port: '8000'
      rhaap:
        baseUrl: '<https://MyControllerUrl>'
        token: '<AAP Personal Access Token>'
        checkSSL: <true or false>
        showCaseLocation:
          type: file
          target: '/tmp/aap-showcases/'
      # Optional integrations
      devSpaces:
        baseUrl: '<https://MyDevSpacesURL>'
      automationHub:
        baseUrl: '<https://MyPrivateAutomationHubURL>'

    ...
    catalog:
      locations:
        - type: url
          target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
          rules:
            - allow: [Template]
    ...

2.7.2. Ansible 플러그인의 전체 Helm 차트 구성 예

global:
  ...
  dynamic:
    ...
    plugins:
      - disabled: false
        integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap plugin>
        package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
        pluginConfig:
          dynamicPlugins:
            frontend:
              ansible.plugin-backstage-rhaap:
                appIcons:
                  - importName: AnsibleLogo
                    name: AnsibleLogo
                dynamicRoutes:
                  - importName: AnsiblePage
                    menuItem:
                      icon: AnsibleLogo
                      text: Ansible
                    path: /ansible
      - disabled: false
        integrity: <SHA512 Integrity key for ansible-plugin-scaffolder-backend-module-backstage-rhaap plugin>
        package: >-
          http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
        pluginConfig:
          dynamicPlugins:
            backend:
              ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
      - disabled: false
        integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap-backend plugin>
        package: >-
          http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
        pluginConfig:
          dynamicPlugins:
            backend:
              ansible.plugin-backstage-rhaap-backend: null
...
upstream:
  backstage:
    ...
    extraAppConfig:
      - configMapRef: app-config-rhdh
        filename: app-config-rhdh.yaml
    extraContainers:
      - command:
          - adt
          - server
        image: >-
          registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest
        imagePullPolicy: IfNotPresent
        name: ansible-devtools-server
        ports:
          - containerPort: 8000
...

3장. OpenShift Container Platform에서 Operator를 사용하여 Ansible 플러그인 설치

다음 절차에서는 Operator를 사용하여 Red Hat OpenShift Container Platform의 Red Hat Developer Hub 인스턴스에 Ansible 플러그인을 설치하는 방법을 설명합니다.

3.1. 사전 요구 사항

  • Red Hat OpenShift Container Platform에 Red Hat Developer Hub가 설치되어 있습니다.

  • Red Hat Ansible Automation Platform에 유효한 서브스크립션입니다.
  • 애플리케이션을 생성하기 위해 프로젝트 내에 적절한 권한이 있는 OpenShift Container Platform 인스턴스입니다.
  • Red Hat Developer Hub 인스턴스는 자동화 컨트롤러 API를 쿼리할 수 있습니다.
  • 선택 사항: 통합 학습 경로를 사용하려면 developers.redhat.com에 대한 아웃바운드 액세스 권한이 있어야 합니다.

3.3. RHDH Operator 사용자 정의 리소스에 Ansible 개발 툴용 사이드카 컨테이너 추가

Developer Hub Pod에서 Ansible 개발 툴용 사이드카 컨테이너를 추가합니다. 이렇게 하려면 Red Hat Developer Hub 배포의 기본 ConfigMap을 수정해야 합니다.

  1. OpenShift 콘솔에서 토폴로지 보기를 선택합니다.
  2. developer-hub 인스턴스에서 More actions Cryostat를 클릭하고 Edit backstage 를 선택하여 Backstage 세부 정보 페이지를 엽니다.
  3. YAML 탭을 선택합니다.
  4. 편집 창에서 spec.deployment.patch.spec.template.spec 블록에 containers 블록을 추가합니다.

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: developer-hub
    spec:
      deployment:
        patch:
          spec:
            template:
              spec:
                containers:
                  - command:
                      - adt
                      - server
                    image: registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest
                    imagePullPolicy: always
                    ports:
                      - containerPort: 8000
                        protocol: TCP
                    terminationMessagePolicy: file
  5. 저장을 클릭합니다.
참고

배포에 추가 환경 변수를 추가하려면 spec.application.extraEnvs 블록에 추가할 수 있습니다.

spec:
  application:
    ...
    extraEnvs:
      envs:
        - name: <env_variable_name>
          value: <env_variable_value>

3.4. Ansible 플러그인 파일 다운로드

  1. Red Hat Ansible Automation Platform 제품 소프트웨어 다운로드 페이지에서 플러그인의 최신 .tar 파일을 다운로드합니다. 파일 이름의 형식은 ansible-backstage-rhaap-bundle-x.y.z.tar.gz 입니다. Ansible 플러그인 릴리스 버전을 대체합니다(예: x.y.z ).
  2. 로컬 시스템에 디렉터리를 생성하여 .tar 파일을 저장합니다.

    $ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
  3. 디렉터리 경로를 나타내는 환경 변수($DYNAMIC_PLUGIN_ROOT_DIR)를 설정합니다.

    $ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
  4. ansible-backstage-rhaap-bundle-<version-number>.tar.gz 콘텐츠를 $DYNAMIC_PLUGIN_ROOT_DIR 로 추출합니다.

    $ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR

    Ansible 플러그인 릴리스 버전을 대체합니다(예: x.y.z ).

검증

ls 를 실행하여 추출된 파일이 $DYNAMIC_PLUGIN_ROOT_DIR 디렉터리에 있는지 확인합니다.

$ ls $DYNAMIC_PLUGIN_ROOT_DIR
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity

.integrity 파일 유형의 파일에는 plugin SHA 값이 포함되어 있습니다. SHA 값은 플러그인 구성 중에 사용됩니다.

3.5. Ansible 플러그인의 레지스트리 생성

Ansible 플러그인을 호스팅하고 RHDH(Red Hat Developer Hub)에 설치할 수 있도록 OpenShift 클러스터에 레지스트리를 설정합니다.

프로세스

  1. 인증 정보를 사용하여 OpenShift Container Platform 인스턴스에 로그인하여 새 애플리케이션을 생성합니다.
  2. Red Hat Developer Hub OpenShift 프로젝트를 엽니다.

    $ oc project <YOUR_DEVELOPER_HUB_PROJECT>
  3. 다음 명령을 실행하여 OpenShift 클러스터에서 플러그인 레지스트리 빌드를 생성합니다.

    $ oc new-build httpd --name=plugin-registry --binary
    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
    $ oc new-app --image-stream=plugin-registry

검증

plugin-registry가 성공적으로 배포되었는지 확인하려면 OpenShift 웹 콘솔의 Red Hat Developer Hub 애플리케이션의 개발자 화면에서 토폴로지 보기를 엽니다.

  1. 플러그인 레지스트리를 클릭하여 로그를 확인합니다.

    개발자 화면

    (1) 개발자 허브 인스턴스

    (2) 플러그인 레지스트리

  2. 터미널 탭을 클릭하고 컨테이너에 로그인합니다.
  3. 터미널에서 ls 를 실행하여 .tar 파일이 플러그인 레지스트리에 있는지 확인합니다.

    ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
    ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
    ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz

    버전 번호와 파일 이름은 다를 수 있습니다.

3.6. 동적 플러그인 설치

동적 플러그인을 설치하려면 RHDH 플러그인 설정(예: rhaap-dynamic-plugins-config)의 ConfigMap에 추가합니다.

RHDH 플러그인 설정에 대한 ConfigMap 파일을 아직 생성하지 않은 경우 OpenShift Container Platform 노드 가이드의 구성 맵 생성 및 사용 절차에 따라 해당 파일을 생성합니다.

다음 절차에서 사용되는 예제 ConfigMap을 rhaap-dynamic-plugins-config 라고 합니다.

프로세스

  1. OpenShift 콘솔의 탐색 창에서 ConfigMap 을 선택합니다.
  2. 목록에서 rhaap-dynamic-plugins-config ConfigMap을 선택합니다.
  3. YAML 탭을 선택하여 rhaap-dynamic-plugins-config ConfigMap을 편집합니다.
  4. data.dynamic-plugins.yaml.plugins 블록에서 플러그인 레지스트리에서 세 가지 동적 플러그인을 추가합니다.

    • 무결성 해시 값의 경우 각 플러그인에 해당하는 $DYNAMIC_PLUGIN_ROOT_DIR 디렉터리에 있는 .integrity 파일을 사용합니다. 예를 들면 ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity를 사용합니다. ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz 플러그인의 경우입니다.
    • x.y.z 를 올바른 플러그인 버전으로 바꿉니다.

      kind: ConfigMap
      apiVersion: v1
      metadata:
       name: rhaap-dynamic-plugins-config
      data:
       dynamic-plugins.yaml: |
         ...
         plugins:
           - disabled: false
             package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
             integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
             pluginConfig:
               dynamicPlugins:
                 frontend:
                   ansible.plugin-backstage-rhaap:
                     appIcons:
                       - importName: AnsibleLogo
                         name: AnsibleLogo
                     dynamicRoutes:
                       - importName: AnsiblePage
                         menuItem:
                           icon: AnsibleLogo
                           text: Ansible
                         path: /ansible
           - disabled: false
             package: >-
               http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
             integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
             pluginConfig:
               dynamicPlugins:
                 backend:
                   ansible.plugin-backstage-rhaap-backend: null
           - disabled: false
             package: >-
               http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
             integrity: <SHA512 value> # Use hash in ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity
             pluginConfig:
               dynamicPlugins:
                 backend:
                   ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
           - ...<REDACTED>
  5. 저장을 클릭합니다.
  6. 롤링 재시작의 진행 상황을 보려면 다음을 수행합니다.

    1. 토폴로지 보기에서 배포 Pod를 선택하고 로그 보기를 클릭합니다.
    2. 컨테이너 목록에서 install-dynamic-plugins 를 선택합니다.

검증

  1. OpenShift 콘솔에서 토폴로지 보기를 선택합니다.
  2. 배포 Pod에서 URL 열기 아이콘을 클릭하여 브라우저 창에서 Red Hat Developer Hub 인스턴스를 엽니다.

Ansible 플러그인은 탐색 창에 있으며, Administration 을 선택하면 설치된 플러그인이 플러그인 탭에 나열됩니다.

3.7. 사용자 정의 ConfigMap 추가

OpenShift Container Platform 노드 가이드의 구성 맵 섹션 생성 및 사용 절차에 따라 Red Hat Developer Hub ConfigMap을 생성합니다. 다음 예제에서는 app-config-rhdh 라는 사용자 정의 ConfigMap을 사용합니다.

사용자 정의 ConfigMap을 편집하려면 OpenShift UI에 로그인하고 Select Project ( developerHubProj )ConfigMaps{developer-hub}-app-configEditConfigMapsapp-config-rhdh 로 이동합니다.

3.8. Ansible Dev Tools Server 구성

제공된 소프트웨어 템플릿을 사용하여 새 프로젝트를 프로비저닝하려면 Ansible 플러그인에 creatorService URL이 필요합니다.

프로세스

  1. 사용자 정의 ConfigMap 추가에서 생성한 사용자 정의 Red Hat Developer Hub 구성 맵인 app-config-rhdh 편집합니다.
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: app-config-rhdh
    ...
    data:
      app-config-rhdh.yaml: |-
        ansible:
          creatorService:
            baseUrl: 127.0.0.1
            port: '8000'
    ...

3.9. Ansible Automation Platform 구성 세부 정보

Ansible 플러그인은 토큰을 사용하여 컨트롤러 API로 Ansible Automation Platform 서브스크립션 상태를 쿼리합니다.

참고

Ansible 플러그인은 Ansible Automation Platform 서브스크립션 상태에 관계없이 계속 작동합니다.

프로세스

  1. 액세스 관리 및 인증의 애플리케이션 섹션에 따라 자동화 컨트롤러에서 "읽기" 범위를 사용하여 개인 액세스 토큰(PAT)을 생성합니다.
  2. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  3. Ansible Automation Platform 세부 정보를 app-config-rhdh.yaml 에 추가합니다.

    1. 자동화 컨트롤러 URL을 사용하여 baseURL 키를 설정합니다.
    2. 1 단계에서 생성한 토큰 값으로 토큰 키를 설정합니다.
    3. checkSSL 키를 true 또는 false 로 설정합니다.

      checkSSLtrue 로 설정된 경우 Ansible 플러그인은 SSL 인증서가 유효한지 확인합니다.

      data:
        app-config-rhdh.yaml: |
          ...
          ansible:
          ...
            rhaap:
              baseUrl: '<https://MyControllerUrl>'
              token: '<AAP Personal Access Token>'
              checkSSL: true
참고

고객님은 Red Hat Developer Hub 설치를 외부 및 무단 액세스로부터 보호할 책임이 있습니다. 다른 시크릿과 마찬가지로 백엔드 인증 키를 관리합니다. 강력한 암호 요구 사항을 충족하고 구성 파일에 노출하지 말고 환경 변수로 구성 파일에만 삽입합니다.

3.10. Ansible 플러그인 소프트웨어 템플릿 추가

Red Hat Ansible은 Red Hat Developer Hub에 대한 소프트웨어 템플릿을 제공하여 Ansible 모범 사례를 기반으로 새 플레이북 및 컬렉션 프로젝트를 프로비저닝합니다.

프로세스

  1. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.
data:
  app-config-rhdh.yaml: |
    catalog:
      ...
      locations:
        ...
        - type: url
          target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
          rules:
            - allow: [Template]

자세한 내용은 Red Hat Developer Hub 관리 가이드의 템플릿 관리 섹션을 참조하십시오.

3.11. 역할 기반 액세스 제어 구성

Red Hat Developer Hub는 RBAC(역할 기반 액세스 제어) 기능을 제공합니다. 그러면 Ansible 플러그인 콘텐츠에 RBAC를 적용할 수 있습니다.

다음 역할을 할당합니다.

  • admin:superUsers 그룹의 멤버는 Ansible 플러그인의 생성 탭에서 템플릿을 선택하여 플레이북 및 컬렉션 프로젝트를 생성할 수 있습니다.
  • admin:users 그룹의 멤버는 Ansible 플러그인의 생성 탭에서 템플릿을 볼 수 있습니다.

다음 예제에서는 Red Hat Developer Hub에 RBAC를 추가합니다.

data:
  app-config-rhdh.yaml: |
    plugins:
    ...
    permission:
      enabled: true
      rbac:
        admin:
          users:
            - name: user:default/<user-scm-ida>
          superUsers:
            - name: user:default/<user-admin-idb>

권한 정책 및 RBAC 관리에 대한 자세한 내용은 Red Hat Developer Hub의 권한 부여 가이드를 참조하십시오.

3.12. Ansible 플러그인에 대한 선택적 구성

3.12.1. Red Hat Developer Hub 인증 활성화

RHDH(Red Hat Developer Hub)는 여러 SCM(소스 제어 관리) 시스템에 대한 통합을 제공합니다. 이는 플러그인에서 리포지토리를 생성하는 데 필요합니다.

Red Hat Developer Hub 관리 가이드Red Hat Developer Hub에서 인증 활성화 장을 참조하십시오.

3.12.2. Ansible 플러그인 선택적 통합 구성

Ansible 플러그인은 Ansible Automation Platform 및 기타 선택적 Red Hat 제품과의 통합을 제공합니다.

사용자 정의 ConfigMap을 편집하려면 OpenShift UI에 로그인하고 Select Project ( developerHubProj )ConfigMaps{developer-hub}- app-config-rhdh 로 이동합니다.

3.12.2.1. OpenShift Dev Spaces 구성

OpenShift Dev Spaces가 Ansible 플러그인에 대해 구성된 경우 사용자는 Red Hat Developer Hub의 카탈로그 항목 보기에서 링크를 클릭하고 Dev Spaces를 사용하여 프로비저닝된 Ansible Git 프로젝트를 편집할 수 있습니다.

참고

OpenShift Dev Spaces는 별도의 제품이며 선택 사항입니다. 플러그인이 없으면 작동합니다.

별도의 Red Hat 제품이며 Ansible Automation Platform 또는 Red Hat Developer Hub 서브스크립션에 포함되어 있지 않습니다.

OpenShift Dev Spaces 링크가 Ansible 플러그인에 구성되지 않은 경우 Ansible 플러그인 시작 페이지의 DEVELOP 섹션에 있는 OpenShift Dev Spaces 대시보드 링크로 이동하면 사용자를 Ansible 개발 툴 홈 페이지로 리디렉션합니다.

사전 요구 사항

프로세스

  1. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.

    data:
      app-config-rhdh.yaml: |-
        ansible:
          devSpaces:
            baseUrl: >-
              https://<Your OpenShift Dev Spaces URL>
  3. & lt;Your OpenShft Dev Spaces URL >을 OpenShift Dev Spaces URL로 바꿉니다.
  4. OpenShift Developer UI에서 Red Hat Developer Hub Pod를 선택합니다.
  5. 작업 열기.
  6. 롤아웃 다시 시작을 클릭합니다.
3.12.2.2. 프라이빗 자동화 허브 URL 구성

프라이빗 자동화 허브는 인증된 Ansible 컬렉션, 실행 환경 및 조직에서 제공하는 추가 vletsd 콘텐츠를 위한 중앙 집중식 온프레미스 리포지토리를 제공합니다.

Ansible 플러그인에 프라이빗 자동화 허브 URL이 구성되지 않은 경우 사용자는 Red Hat Hybrid Cloud Console 자동화 허브로 리디렉션됩니다.

참고

프라이빗 자동화 허브 구성은 선택 사항이지만 권장됩니다. Ansible 플러그인이 없이 작동합니다.

사전 요구 사항

절차:

  1. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  2. Red Hat Developer Hub app-config-rhdh.yaml 파일에 다음 코드를 추가합니다.

    data:
      app-config-rhdh.yaml: |-
        ansible:
        ...
          automationHub:
            baseUrl: '<https://MyOwnPAHUrl>'
        ...
  3. & lt;https://MyOwnPAHUrl/> 를 프라이빗 자동화 허브 URL로 바꿉니다.
  4. OpenShift Developer UI에서 Red Hat Developer Hub Pod를 선택합니다.
  5. 작업 열기.
  6. 롤아웃 다시 시작을 클릭합니다.

3.13. Ansible 플러그인 항목에 대한 전체 app-config-rhdh ConfigMap 예

kind: ConfigMap
...
metadata:
  name: app-config-rhdh
  ...
data:
  app-config-rhdh.yaml: |-
    ansible:
      creatorService:
        baseUrl: 127.0.0.1
        port: '8000'
      rhaap:
        baseUrl: '<https://MyControllerUrl>'
        token: '<AAP Personal Access Token>'
        checkSSL: <true or false>
        showCaseLocation:
          type: file
          target: '/tmp/aap-showcases/'
      # Optional integrations
      devSpaces:
        baseUrl: '<https://MyDevSpacesURL>'
      automationHub:
        baseUrl: '<https://MyPrivateAutomationHubURL>'

    ...
    catalog:
      locations:
        - type: url
          target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
          rules:
            - allow: [Template]
    ...

4장. Ansible 플러그인 서브스크립션 경고 메시지

Ansible 플러그인은 다음 시나리오에서 사용자 인터페이스에 서브스크립션 경고 배너를 표시합니다.

4.1. Ansible Automation Platform에 연결할 수 없음

다음 경고는 자동화 컨트롤러 세부 정보가 구성되지 않았거나 컨트롤러 인스턴스 API에 서브스크립션 상태를 쿼리할 수 없음을 나타냅니다.

Unable to connect to Ansible Automation Platform
Verify that Ansible Automation Platform is reachable and correctly configured in the Ansible plug-ins.
To get help, please refer to the Ansible plug-ins installation guide.
수정 단계
  1. Ansible Automation Platform에 연결할 수 있고 ConfigMap의 rhaap 섹션에서 올바르게 구성되었는지 확인합니다.
  2. 환경에 checkSSL 키가 올바르게 설정되어 있는지 확인합니다.
  3. 구성 세부 정보를 수정한 후 Red Hat Developer Hub Pod를 다시 시작하여 서브스크립션 쿼리를 시작합니다.

4.2. Ansible Automation Platform에 인증할 수 없음

다음 경고는 Ansible 플러그인이 Ansible Automation Platform으로 인증하지 않아 서브스크립션 상태를 쿼리할 수 없음을 나타냅니다.

Unable to authenticate to Ansible Automation Platform
Verify that the authentication details for Ansible Automation Platform are correctly configured in the Ansible plug-ins.
For help, please refer to the Ansible plug-ins installation guide.
수정 단계
  1. Ansible 플러그인에 구성된 자동화 컨트롤러 PAT(개인 액세스 토큰)가 올바른지 확인합니다. 자세한 내용은 titleCentralAuth토큰 추가 섹션을 참조하십시오.
  2. 인증 세부 정보를 수정한 후 Red Hat Developer Hub Pod를 다시 시작하여 서브스크립션 쿼리를 시작합니다.

4.3. 잘못된 Ansible Automation Platform 구성

다음 경고는 Ansible Automation Platform 구성 섹션이 유효하지 않거나 불완전 함을 나타냅니다.

Invalid resource for Ansible Automation Platform
Verify that the resource url for Ansible Automation Platform are correctly configured in the Ansible plug-ins.
For help, please refer to the Ansible plug-ins installation guide.
수정 단계
  1. Ansible 플러그인 ConfigMap의 rhaap 섹션이 올바르게 구성되어 있으며 필요한 모든 항목이 포함되어 있는지 확인합니다. 자세한 내용은 Ansible Automation Platform 구성에서 참조하십시오.
  2. 구성을 수정한 후 Red Hat Developer Hub Pod를 다시 시작하여 서브스크립션 쿼리를 시작합니다.

4.4. Ansible Automation Platform 서브스크립션이 준수되지 않음

다음 경고는 Ansible 플러그인이 Ansible Automation Platform 서브스크립션 상태를 검색했음을 나타냅니다. 그러나 서브스크립션이 규정을 준수하지 않습니다.

Subscription non-compliant
The connected Ansible Automation Platform subscription is out of compliance.
Contact your Red Hat account team to obtain a new subscription entitlement.
Learn more about account compliance.
수정 단계
  1. 새 서브스크립션 인타이틀먼트를 받으려면 Red Hat 계정 팀에 문의하십시오.
  2. 계정 규정 준수에 대해 자세히 알아보십시오.
  3. 서브스크립션이 준수되면 Red Hat Developer Hub Pod를 다시 시작하여 새 서브스크립션 쿼리를 시작합니다.

4.5. 잘못된 Ansible Automation Platform 서브스크립션

다음 경고는 Ansible 플러그인이 Ansible Automation Platform 서브스크립션 상태를 검색했음을 나타냅니다. 그러나 서브스크립션 유형은 Ansible Automation Platform에서 유효하지 않습니다.

Invalid subscription
The connected Ansible Automation Platform subscription is invalid.
Contact your Red Hat account team, or start an Ansible Automation Platform trial.
수정 단계
  1. Red Hat 계정 팀에 문의하여 새 서브스크립션 인타이틀먼트 를 얻거나 Ansible Automation Platform 평가판을 시작하십시오.
  2. 서브스크립션을 업데이트하면 Red Hat Developer Hub Pod를 다시 시작하여 새 서브스크립션 쿼리를 시작합니다.

5장. OpenShift Container Platform의 Helm 설치에서 Ansible 플러그인 업그레이드

Ansible 플러그인을 업그레이드하려면 최신 Ansible 플러그인 파일로 plugin-registry 애플리케이션을 업데이트해야 합니다.

5.1. Ansible 플러그인 파일 다운로드

  1. Red Hat Ansible Automation Platform 제품 소프트웨어 다운로드 페이지에서 플러그인의 최신 .tar 파일을 다운로드합니다. 파일 이름의 형식은 ansible-backstage-rhaap-bundle-x.y.z.tar.gz 입니다. Ansible 플러그인 릴리스 버전을 대체합니다(예: x.y.z ).
  2. 로컬 시스템에 디렉터리를 생성하여 .tar 파일을 저장합니다.

    $ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
  3. 디렉터리 경로를 나타내는 환경 변수($DYNAMIC_PLUGIN_ROOT_DIR)를 설정합니다.

    $ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
  4. ansible-backstage-rhaap-bundle-<version-number>.tar.gz 콘텐츠를 $DYNAMIC_PLUGIN_ROOT_DIR 로 추출합니다.

    $ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR

    Ansible 플러그인 릴리스 버전을 대체합니다(예: x.y.z ).

검증

ls 를 실행하여 추출된 파일이 $DYNAMIC_PLUGIN_ROOT_DIR 디렉터리에 있는지 확인합니다.

$ ls $DYNAMIC_PLUGIN_ROOT_DIR
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity

.integrity 파일 유형의 파일에는 plugin SHA 값이 포함되어 있습니다. SHA 값은 플러그인 구성 중에 사용됩니다.

5.2. 플러그인 레지스트리 업데이트

최신 Ansible 플러그인 파일을 사용하여 OpenShift 클러스터에서 플러그인 레지스트리 애플리케이션을 다시 빌드합니다.

사전 요구 사항

  • Ansible 플러그인 파일을 다운로드했습니다.
  • .tar 파일을 저장한 로컬 디렉터리의 경로를 나타내는 환경 변수(예:$DYNAMIC_PLUGIN_ROOT_DIR)를 설정해야 합니다.

프로세스

  1. 인증 정보를 사용하여 OpenShift Container Platform 인스턴스에 로그인하여 새 애플리케이션을 생성합니다.
  2. Red Hat Developer Hub OpenShift 프로젝트를 엽니다.

    $ oc project <YOUR_DEVELOPER_HUB_PROJECT>
  3. 다음 명령을 실행하여 OpenShift 클러스터에서 플러그인 레지스트리 빌드를 업데이트합니다. 이 명령은 $DYNAMIC_PLUGIN_ROOT_DIR.tar 파일의 디렉터리를 나타내는 것으로 가정합니다. 다른 환경 변수 이름을 선택한 경우 명령에서 이 값을 바꿉니다.

    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
  4. 레지스트리가 시작되면 출력에 다음 메시지가 표시됩니다.

    Uploading directory "/path/to/dynamic_plugin_root" as binary input for the build …
    Uploading finished
    build.build.openshift.io/plugin-registry-1 started

검증

plugin-registry 가 업데이트되었는지 확인합니다.

  1. OpenShift UI에서 토폴로지 를 클릭합니다.
  2. redhat-developer-hub 아이콘을 클릭하여 플러그인 레지스트리의 포드를 확인합니다.
  3. 플러그인 레지스트리 Pod의 로그 보기를 클릭합니다.
  4. 터미널 탭을 열고 ls 를 실행하여 플러그인 레지스트리에서 .tar 파일을 확인합니다.
  5. .tar 파일이 업로드되었는지 확인합니다.

5.3. Helm 설치의 Ansible 플러그인 버전 번호 업데이트

프로세스

  1. OpenShift Container Platform 인스턴스에 로그인합니다.
  2. OpenShift Developer UI에서 Helmdeveloper-hubActionsUpgradeYaml view 로 이동합니다.
  3. Ansible 플러그인 버전 번호 및 관련 .integrity 파일 값을 업데이트합니다.

    ...
    global:
    ...
        plugins:
          - disabled: false
            integrity: <SHA512 value>
            package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
            pluginConfig:
              dynamicPlugins:
                frontend:
                  ansible.plugin-backstage-rhaap:
                    appIcons:
                      - importName: AnsibleLogo
                        name: AnsibleLogo
                    dynamicRoutes:
                      - importName: AnsiblePage
                        menuItem:
                          icon: AnsibleLogo
                          text: Ansible
                        path: /ansible
          - disabled: false
            integrity: <SHA512 value>
            package: >-
              http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
          - disabled: false
            integrity: <SHA512 value>
            package: >-
              http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-backstage-rhaap-backend: null
  4. 업그레이드 를 클릭합니다.

    개발자 허브 포드가 다시 시작되고 플러그인이 설치됩니다.

검증

  1. OpenShift UI에서 토폴로지 를 클릭합니다.
  2. Red Hat Developer Hub 인스턴스를 사용할 수 있는지 확인합니다.

6장. OpenShift Container Platform의 Operator 설치에서 Ansible 플러그인 업그레이드

Ansible 플러그인을 업그레이드하려면 최신 Ansible 플러그인 파일로 plugin-registry 애플리케이션을 업데이트해야 합니다.

6.1. Ansible 플러그인 파일 다운로드

  1. Red Hat Ansible Automation Platform 제품 소프트웨어 다운로드 페이지에서 플러그인의 최신 .tar 파일을 다운로드합니다. 파일 이름의 형식은 ansible-backstage-rhaap-bundle-x.y.z.tar.gz 입니다. Ansible 플러그인 릴리스 버전을 대체합니다(예: x.y.z ).
  2. 로컬 시스템에 디렉터리를 생성하여 .tar 파일을 저장합니다.

    $ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
  3. 디렉터리 경로를 나타내는 환경 변수($DYNAMIC_PLUGIN_ROOT_DIR)를 설정합니다.

    $ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
  4. ansible-backstage-rhaap-bundle-<version-number>.tar.gz 콘텐츠를 $DYNAMIC_PLUGIN_ROOT_DIR 로 추출합니다.

    $ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR

    Ansible 플러그인 릴리스 버전을 대체합니다(예: x.y.z ).

검증

ls 를 실행하여 추출된 파일이 $DYNAMIC_PLUGIN_ROOT_DIR 디렉터리에 있는지 확인합니다.

$ ls $DYNAMIC_PLUGIN_ROOT_DIR
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity

.integrity 파일 유형의 파일에는 plugin SHA 값이 포함되어 있습니다. SHA 값은 플러그인 구성 중에 사용됩니다.

6.2. 플러그인 레지스트리 업데이트

최신 Ansible 플러그인 파일을 사용하여 OpenShift 클러스터에서 플러그인 레지스트리 애플리케이션을 다시 빌드합니다.

사전 요구 사항

  • Ansible 플러그인 파일을 다운로드했습니다.
  • .tar 파일을 저장한 로컬 디렉터리의 경로를 나타내는 환경 변수(예:$DYNAMIC_PLUGIN_ROOT_DIR)를 설정해야 합니다.

프로세스

  1. 인증 정보를 사용하여 OpenShift Container Platform 인스턴스에 로그인하여 새 애플리케이션을 생성합니다.
  2. Red Hat Developer Hub OpenShift 프로젝트를 엽니다.

    $ oc project <YOUR_DEVELOPER_HUB_PROJECT>
  3. 다음 명령을 실행하여 OpenShift 클러스터에서 플러그인 레지스트리 빌드를 업데이트합니다. 이 명령은 $DYNAMIC_PLUGIN_ROOT_DIR.tar 파일의 디렉터리를 나타내는 것으로 가정합니다. 다른 환경 변수 이름을 선택한 경우 명령에서 이 값을 바꿉니다.

    $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
  4. 레지스트리가 시작되면 출력에 다음 메시지가 표시됩니다.

    Uploading directory "/path/to/dynamic_plugin_root" as binary input for the build …
    Uploading finished
    build.build.openshift.io/plugin-registry-1 started

검증

plugin-registry 가 업데이트되었는지 확인합니다.

  1. OpenShift UI에서 토폴로지 를 클릭합니다.
  2. redhat-developer-hub 아이콘을 클릭하여 플러그인 레지스트리의 포드를 확인합니다.
  3. 플러그인 레지스트리 Pod의 로그 보기를 클릭합니다.
  4. 터미널 탭을 열고 ls 를 실행하여 플러그인 레지스트리에서 .tar 파일을 확인합니다.
  5. .tar 파일이 업로드되었는지 확인합니다.

6.3. Operator 설치를 위한 Ansible 플러그인 버전 번호 업데이트

프로세스

  1. OpenShift Container Platform 인스턴스에 로그인합니다.
  2. OpenShift UI에서 설치 중에 Ansible 플러그인을 추가한 ConfigMap을 엽니다. 이 예에서는 rhaap-dynamic-plugins-config 라는 ConfigMap 파일을 사용합니다.
  3. 업데이트된 Ansible 플러그인의 버전 번호로 x.y.z 를 업데이트합니다.
  4. 해당 추출된 Ansible 플러그인 .tar 파일의 .integrity 값을 사용하여 각 플러그인의 무결성 값을 업데이트합니다.

    kind: ConfigMap
    apiVersion: v1
    metadata:
     name: rhaap-dynamic-plugins-config
    data:
     dynamic-plugins.yaml: |
       ...
       plugins: # Update the Ansible plug-in entries below with the updated plugin versions
         - disabled: false
           package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
           integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz.integrity
    	 ...
         - disabled: false
           package: >-
             http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
           integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz.integrity
           ...
         - disabled: false
           package: >-
             http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
           integrity: <SHA512 value> # Use hash in ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz.integrity
    	 ...
  5. 저장을 클릭합니다.

    개발자 허브 포드가 다시 시작되고 플러그인이 설치됩니다.

검증

  1. OpenShift UI에서 토폴로지 를 클릭합니다.
  2. Red Hat Developer Hub 인스턴스를 사용할 수 있는지 확인합니다.

7장. OpenShift Container Platform의 Helm 설치에서 Ansible 플러그인 설치 제거

Ansible 플러그인을 설치 제거하려면 Red Hat Developer Hub에서 ansible:content:create 작업을 사용하는 소프트웨어 템플릿을 제거하고 OpenShift의 Helm 차트에서 플러그인 구성을 제거해야 합니다.

7.1. Helm 차트 설치 설치 설치 설치 제거

프로세스

  1. Red Hat Developer Hub에서 ansible:content:create 작업을 사용하는 모든 소프트웨어 템플릿을 제거합니다.
  2. OpenShift Developer UI에서 Helmdeveloper-hubActionsUpgradeYaml view 로 이동합니다.
  3. plugins 섹션에서 Ansible 플러그인 구성을 제거합니다.

    ...
    global:
    ...
        plugins:
          - disabled: false
            integrity: <SHA512 value>
            package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
            pluginConfig:
              dynamicPlugins:
                frontend:
                  ansible.plugin-backstage-rhaap:
                    appIcons:
                      - importName: AnsibleLogo
                        name: AnsibleLogo
                    dynamicRoutes:
                      - importName: AnsiblePage
                        menuItem:
                          icon: AnsibleLogo
                          text: Ansible
                        path: /ansible
          - disabled: false
            integrity: <SHA512 value>
            package: >-
              http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-scaffolder-backend-module-backstage-rhaap: null
          - disabled: false
            integrity: <SHA512 value>
            package: >-
              http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
            pluginConfig:
              dynamicPlugins:
                backend:
                  ansible.plugin-backstage-rhaap-backend: null
  4. extraContainers 섹션을 제거합니다.

    upstream:
      backstage: |
        ...
        extraContainers:
          - command:
              - adt
              - server
            image: >-
              registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest
            imagePullPolicy: IfNotPresent
            name: ansible-devtools-server
            ports:
              - containerPort: 8000
        image:
          pullPolicy: Always
          pullSecrets:
            - ...
            - rhdh-secret-registry
        ...
  5. 업그레이드 를 클릭합니다.
  6. 사용자 지정 Red Hat Developer Hub 구성 맵을 편집합니다(예: app-config-rhdh ).
  7. ansible 섹션을 제거합니다.

    data:
      app-config-rhdh.yaml: |
        ...
        ansible:
          analytics:
            enabled: true
          devSpaces:
            baseUrl: '<https://MyOwnDevSpacesUrl/>'
          creatorService:
            baseUrl: '127.0.0.1'
            port: '8000'
          rhaap:
            baseUrl: '<https://MyAapSubcriptionUrl>'
            token: '<TopSecretAAPToken>'
            checkSSL: true
          automationHub:
            baseUrl: '<https://MyOwnPAHUrl/>'
  8. Red Hat Developer Hub 배포를 다시 시작합니다.
  9. plugin-registry OpenShift 애플리케이션을 제거합니다.

    oc delete all -l app=plugin-registry

8장. OpenShift Container Platform에서 Operator 설치 설치 제거

설치에서 동적 플러그인을 삭제하려면 Ansible을 참조하는 ConfigMap을 편집해야 합니다.

ConfigMap이 업데이트되면 배포가 자동으로 다시 로드됩니다. 배포를 수동으로 다시 로드할 필요가 없습니다.

8.1. ConfigMap에서 Ansible 플러그인 제거

프로세스

  1. Ansible 플러그인을 참조하는 사용자 정의 ConfigMap을 엽니다. 이 예에서 ConfigMap 이름은 rhaap-dynamic-plugins-config 입니다.
  2. plugins: 블록에서 동적 플러그인을 찾습니다.

    • 플러그인을 비활성화하려면 세 플러그인에 대해 disabled 속성을 true 로 업데이트합니다.
    • 플러그인을 삭제하려면 plugins: 블록에서 플러그인을 참조하는 행을 삭제합니다.

      kind: ConfigMap
      apiVersion: v1
      metadata:
       name: rhaap-dynamic-plugins-config
      data:
       dynamic-plugins.yaml: |
         ...
         plugins: # Remove the Ansible plug-ins entries below the ‘plugins’ YAML key
           - disabled: false
             package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-dynamic-x.y.z.tgz'
             integrity: <SHA512 value>
      	 ...
           - disabled: false
             package: >-
               http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-dynamic-x.y.z.tgz
             integrity: <SHA512 value>
             ...
           - disabled: false
             package: >-
               http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-dynamic-x.y.z.tgz
             integrity: <SHA512 value>
      	 ...
  3. 저장을 클릭합니다.

8.2. 사용자 정의 Red Hat Developer Hub ConfigMap에서 Ansible Automation Platform 및 Dev Spaces 제거

프로세스

  1. 템플릿에 대한 구성을 추가하고 Ansible Automation Platform 및 Dev Spaces 연결에 필요한 사용자 지정 Red Hat Developer Hub ConfigMap을 엽니다. 이 예에서 Red Hat Developer Hub ConfigMap 이름은 app-config-rhdh 입니다.

    kind: ConfigMap
    apiVersion: v1
    metadata:
     name: rhdh-app-config
    data:
     app-config-custom.yaml: |
       ...
       catalog:
         ...
         locations: # Remove the YAML entry below the 'locations' YAML key
           - type: url
             target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml
             rules:
               - allow: [Template]
         ...
       # Remove the entire 'ansible' YAML key and all sub-entries
       ansible:
         devSpaces:
           baseUrl: '<https://YOUR_DEV_SPACES_URL>'
         creatorService:
           baseUrl: '127.0.0.1'
           port: '8000'
         rhaap:
           baseUrl: '<https://YOUR_AAP_URL>'
           token: <REDACTED>
           checkSSL: false
  2. location: block의 URL 을 제거하여 RHDH 인스턴스에서 템플릿을 삭제합니다.
  3. ansible: 블록을 제거하여 Ansible 관련 구성을 삭제합니다.
  4. 저장을 클릭합니다.

8.3. 사이드카 컨테이너 설치 제거

developer-hub Pod에서 Ansible 개발 툴용 사이드카 컨테이너를 제거하려면 Red Hat Developer Hub 배포의 기본 ConfigMap을 수정해야 합니다.

프로세스

  1. OpenShift 콘솔에서 토폴로지 보기를 선택합니다.
  2. developer-hub 인스턴스에서 More actions Cryostat를 클릭하고 Edit backstage 를 선택하여 기본 ConfigMap을 편집합니다.
  3. YAML 탭을 선택합니다.
  4. 편집 창에서 spec.deployment.patch.spec.template.spec 블록에서 사이드카 컨테이너의 containers 블록을 제거합니다.

    ...
    spec:
      deployment:
        patch:
          spec:
            template:
              spec:
                containers:
                  - command:
                      - adt
                      - server
                    image: ghcr.io/ansible/community-ansible-dev-tools:latest
                    imagePullPolicy: always
                    ports:
                      - containerPort: 8000
                        protocol: TCP
                    terminationMessagePolicy: file
  5. 저장을 클릭합니다.

9장. Red Hat Developer Hub 데이터 Telemetry 캡처

RHDH(Red Hat Developer Hub)는 기본적으로 활성화되어 있는 backstage-plugin-analytics-provider-segment 플러그인을 사용하여 Telemetry 데이터를 Red Hat에 보냅니다. 여기에는 Ansible 플러그인의 Telemetry 데이터가 포함됩니다.

Red Hat은 Red Hat Developer Hub에 대한 경험을 개선하기 위해 다음 데이터를 수집하고 분석합니다.

  • 페이지를 방문하고 링크 또는 버튼을 클릭합니다.
  • 시스템 관련 정보(예: 로케일, 시간대, 브라우저 및 OS 세부 정보를 포함한 사용자 에이전트)
  • 페이지 관련 정보(예: 제목, 카테고리, 확장 이름, URL, 경로, 참조자 및 검색 매개변수)
  • 0.0.0.0으로 기록된 익명화된 IP 주소입니다.
  • RHDH 애플리케이션의 고유 사용자 수를 식별하는 데만 사용되는 익명의 사용자 이름 해시입니다.
  • Ansible 플러그인 피드백 양식에 피드백 및 알림이 제공됩니다.

Red Hat Developer Hub를 사용하면 Telemetry 데이터 수집 기능을 비활성화하거나 사용자 지정할 수 있습니다. 자세한 내용은 Red Hat Developer Hub 설명서의 Telemetry 데이터 수집 가이드를 참조하십시오.

법적 공지

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat 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 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, Inc.