6.4. 엣지 장치에 대한 운영 체제 구성


운영 체제 수준 호스트 구성을 이미지에 포함시켜 최대한의 일관성과 반복성을 제공할 수 있습니다. 구성을 업데이트하려면 새 운영 체제 이미지를 생성하고 새 이미지로 장치를 업데이트합니다.

그러나 다음과 같은 경우 새 이미지로 장치를 업데이트하는 것은 비실용적 일 수 있습니다.

  • 이미지에 구성이 누락되어 있습니다.
  • 구성은 장치와 고유해야 합니다.
  • 운영 체제 이미지를 업데이트하고 재부팅하지 않고 런타임 시 구성을 업데이트할 수 있어야 합니다.

이러한 경우 장치의 파일 시스템에 존재하는 구성 파일 세트를 선언할 수 있습니다. Red Hat Edge Manager 에이전트는 모든 파일이 파일 시스템에서 성공적으로 업데이트되거나 사전 업데이트 상태로 롤백되도록 구성 파일에 업데이트를 적용합니다. 사용자가 장치의 운영 체제 및 구성 세트를 동시에 업데이트하는 경우 Red Hat Edge Manager 에이전트는 운영 체제를 먼저 업데이트합니다. 그런 다음 지정된 구성 파일 집합을 적용합니다.

Red Hat Edge Manager 에이전트가 적용되는 구성 세트 목록을 지정할 수도 있습니다. 충돌이 발생하면 마지막으로 적용된 구성 세트가 유효합니다.

중요

Red Hat Edge Manager 에이전트가 디스크의 구성을 업데이트한 후 실행 중인 애플리케이션은 구성을 적용하려면 새 구성을 메모리에 다시 로드해야 합니다. 업데이트에 재부팅이 필요한 경우 systemd 는 새 구성 및 올바른 순서로 애플리케이션을 자동으로 다시 시작합니다. 업데이트가 재부팅되지 않으면 많은 애플리케이션에서 구성 파일에 대한 변경 사항을 감지하고 파일을 자동으로 다시 로드할 수 있습니다. 애플리케이션에서 변경 탐지를 지원하지 않는 경우 장치 라이프사이클 후크를 사용하여 특정 조건이 충족되면 스크립트 또는 명령을 실행할 수 있습니다.

6.4.1. 구성 공급자

Red Hat Edge Manager에서 구성 공급자라는 여러 소스의 구성을 제공할 수 있습니다. Red Hat Edge Manager는 현재 다음과 같은 구성 공급자를 지원합니다.

Git 구성 공급자
Git 리포지토리에서 장치 구성 파일을 가져옵니다.
Kubernetes 시크릿 공급자
Kubernetes 클러스터에서 시크릿을 가져와서 장치의 파일 시스템에 해당 콘텐츠를 씁니다.
HTTP 구성 공급자
HTTP(S) 끝점에서 장치 구성 파일을 가져옵니다.
인라인 구성 공급자
외부 시스템을 쿼리하지 않고 장치 매니페스트에 장치 구성 파일을 인라인으로 지정할 수 있습니다.

다음 섹션에서 구성 공급자에 대해 자세히 알아보십시오.

6.4.1.1. Git 리포지토리의 구성

GitHub 또는 GitLab과 같은 Git 리포지토리에 장치 구성을 저장할 수 있습니다. 그런 다음 Red Hat Edge Manager가 리포지토리의 구성을 장치의 파일 시스템에 동기화하도록 Git 구성 공급자를 추가할 수 있습니다.

Git 구성 공급자는 다음 매개변수를 사용합니다.

Expand

매개변수

설명

리포지터리

Red Hat Edge Manager에 정의된 리포지토리 리소스의 이름입니다.

TargetRevision

체크아웃할 리포지토리 분기, 태그 또는 커밋입니다.

경로

파일과 하위 디렉터리가 장치의 파일 시스템에 동기화되는 리포지토리의 절대 경로입니다. Mount Path 매개변수를 지정하지 않는 한 경로 디렉터리는 장치의 루트 디렉터리(/)에 해당합니다.

mountPath

선택 사항입니다. 리포지토리의 콘텐츠를 작성할 장치의 파일 시스템에 있는 디렉터리의 절대 경로입니다. 기본적으로 값은 파일 시스템 루트(/)입니다.

리포지토리 리소스는 Red Hat Edge Manager에서 사용해야 하는 Git 리포지토리, 프로토콜 및 액세스 자격 증명을 정의합니다. 리포지토리를 한 번만 설정해야 합니다. 리포지토리를 사용하여 개별 장치 또는 장치 플릿을 구성할 수 있습니다.

6.4.1.2. Kubernetes 클러스터의 시크릿

Red Hat Edge Manager는 Red Hat Edge Manager가 Kubernetes 보안에 대해 실행 중인 Kubernetes 클러스터만 쿼리할 수 있습니다. 장치 파일 시스템의 경로에 해당 시크릿의 콘텐츠를 작성할 수 있습니다.

Kubernetes 시크릿 공급자는 다음 매개변수를 사용합니다.

Expand

매개변수

설명

이름

시크릿의 이름입니다.

namespace

시크릿의 네임스페이스입니다.

mountPath

시크릿 콘텐츠를 작성할 장치의 파일 시스템에 있는 디렉터리입니다.

참고

Red Hat Edge Manager에는 정의된 네임스페이스의 시크릿에 액세스할 수 있는 권한이 필요합니다. 예를 들어 ClusterRoleClusterRoleBinding 을 생성하면plane ctl-worker 서비스 계정에서 해당 네임스페이스의 시크릿을 가져오고 나열할 수 있습니다.

6.4.1.3. HTTP 서버의 구성

Red Hat Edge Manager는 구성을 위해 HTTP 서버를 쿼리할 수 있습니다. HTTP 서버는 장치에 대해 정적 또는 동적으로 생성된 구성을 제공할 수 있습니다.

HTTP 구성 공급자는 다음 매개변수를 사용합니다.

Expand

매개변수

설명

리포지터리

Red Hat Edge Manager에 정의된 리포지토리 리소스의 이름입니다.

접미사

Repository 리소스에 정의된 기본 URL에 추가할 접미사입니다. 접미사에는 경로 및 쿼리 매개변수(예: /path/to/endpoint?query=param )가 포함될 수 있습니다.

FilePath

HTTP 서버의 응답을 작성할 장치의 파일 시스템에 있는 파일의 절대 경로입니다.

Repository 리소스는 Red Hat Edge Manager가 연결할 HTTP 서버와 사용할 프로토콜 및 액세스 인증 정보를 지정합니다. 리포지토리 요구 사항을 한 번 설정한 다음 리포지토리를 사용하여 여러 장치 또는 장치 플릿을 구성할 수 있습니다.

6.4.1.4. 장치 사양의 구성 인라인

장치 사양에 구성을 인라인으로 지정할 수 있습니다. 인라인 장치 사양을 사용하는 경우 Red Hat Edge Manager는 구성을 가져오기 위해 외부 시스템에 연결할 필요가 없습니다.

인라인 구성 공급자는 파일 사양 목록을 사용하며 각 파일 사양에서는 다음 매개변수를 사용합니다.

Expand

매개변수

설명

경로

콘텐츠를 쓸 장치의 파일 시스템에 있는 파일의 절대 경로입니다. 파일이 이미 지정된 경로에 있으면 파일을 덮어씁니다.

내용

파일의 UTF-8 또는 base64로 인코딩된 내용입니다.

ContentEncoding

콘텐츠 인코딩 방법을 정의합니다. 일반 또는 base64 여야 합니다. 기본값은 plain 로 설정됩니다.

모드

선택 사항입니다. 파일의 권한 모드입니다. 8진수를 앞에 0으로 지정할 수 있습니다(예: 0644 ) 또는 앞에 0이 없으면 10진수로 지정할 수 있습니다(예: 420 ). setuid,setgidsticky 비트가 지원됩니다. 지정하지 않으면 파일의 권한 모드는 기본적으로 0644 입니다.

사용자

선택 사항입니다. 파일의 소유자입니다. 이름 또는 숫자 ID로 지정됩니다. 기본값은 root 로 설정됩니다.

그룹

선택 사항입니다. 파일 그룹입니다. 이름 또는 숫자 ID로 지정됩니다.

6.4.2. CLI의 Git 리포지토리에서 장치 구성 관리

Git 리포지토리에서 장치 구성을 생성하고 적용합니다.

다음 단계를 완료합니다.

프로세스

  1. Repository 리소스에 대한 다음 정의가 포함된 site-settings-repo.yaml 파일을 생성합니다. site-settings:

    apiVersion: flightctl.io/v1alpha1
    kind: Repository
    metadata:
      name: site-settings
    spec:
      type: git
      url: https://github.com/<your_org>/<your_repo>.git
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 Repository 리소스를 생성합니다.

    flightctl apply -f site-settings-repo.yaml
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 Red Hat Edge Manager에서 리소스가 올바르게 생성되었으며 액세스할 수 있는지 확인합니다.

    flightctl get repository/site-settings
    Copy to Clipboard Toggle word wrap

    다음 예제 출력을 참조하십시오.

    NAME           TYPE  REPOSITORY URL                                 ACCESSIBLE
    site-settings  git   https://github.com/<your_org>/<your_repo>.git  True
    Copy to Clipboard Toggle word wrap
  4. 장치 사양을 업데이트하여 장치에 예제 사이트 구성을 적용합니다.

    apiVersion: flightctl.io/v1alpha1
    kind: Device
    metadata:
      name: <device_name>
    spec:
    [...]
      config: 
    1
    
      - name: example-site
        configType: GitConfigProviderSpec
        gitRef:
          repository: site-settings
          targetRevision: production
          path: /etc/example-site 
    2
    
    [...]
    Copy to Clipboard Toggle word wrap
    1
    예제 구성에서는 site-settings 리포지토리의 production 분기에서 example-site 디렉터리의 모든 파일을 가져와 루트 디렉터리(/)에 배치합니다.
    2
    디렉터리 구조를 생성하여 대상 경로를 쓸 수 있는지 확인합니다. 루트 디렉터리(/)는 bootc 시스템에서 쓸 수 없습니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat