검색

8장. 엣지 간소화 설치 관리자 이미지에 RHEL용 Ignition 툴 사용

download PDF

RHEL for Edge는 Ignition 도구를 사용하여 부팅 프로세스의 초기 단계에서 이미지에 사용자 구성을 삽입합니다. Ignition 툴이 삽입하는 사용자 구성은 다음과 같습니다.

  • 사용자 구성입니다.
  • 일반 파일 및 systemd 장치와 같은 파일 작성.

첫 번째 부팅 시 Ignition은 원격 URL 또는 간소화된 설치 프로그램 ISO에 포함된 파일에서 구성을 읽습니다. 그런 다음 Ignition이 해당 구성을 이미지에 적용합니다.

8.1. Ignition 구성 파일 생성

Butane 툴은 Ignition 구성 파일을 생성하는 데 선호되는 옵션입니다. ButaneButane Config YAML 파일을 사용하고 JSON 형식으로 Ignition 구성을 생성합니다. JSON 파일은 첫 번째 부팅 시 시스템에서 사용됩니다. Ignition 구성은 사용자 생성 및 systemd 장치 설치와 같은 이미지의 구성을 적용합니다.

사전 요구 사항

  • Butane 툴 버전 v0.17.0을 설치했습니다.

    $ sudo dnf/yum install -y butane

절차

  1. Butane Config 파일을 생성하여 .bu 형식으로 저장합니다. RHEL의 경우 변형 항목을 r4e, version 항목을 1.0.0 으로 지정해야 합니다. 버전 1.0.0의 butane r4e 변형은 Ignition 사양 버전 3.3.0 을 대상으로 합니다. 다음은 Butane Config YAML 파일 예제입니다.

    variant: r4e
    version: 1.0.0
    ignition:
      config:
        merge:
          - source: http://192.168.122.1:8000/sample.ign
    passwd:
      users:
        - name: core
          groups:
            - wheel
          password_hash: password_hash_here
          ssh_authorized_keys:
            - ssh-ed25519 some-ssh-key-here
    storage:
      files:
        - path: /etc/NetworkManager/system-connections/enp1s0.nmconnection
          contents:
            inline: |
              [connection]
              id=enp1s0
              type=ethernet
              interface-name=enp1s0
              [ipv4]
              address1=192.168.122.42/24,192.168.122.1
              dns=8.8.8.8;
              dns-search=
              may-fail=false
              method=manual
          mode: 0600
        - path: /usr/local/bin/startup.sh
          contents:
            inline: |
              #!/bin/bash
              echo "Hello, World!"
          mode: 0755
    systemd:
      units:
        - name: hello.service
          contents: |
            [Unit]
            Description=A hello world
            [Install]
            WantedBy=multi-user.target
          enabled: true
        - name: fdo-client-linuxapp.service
          dropins:
            - name: log_trace.conf
              contents: |
                [Service]
                Environment=LOG_LEVEL=trace
  2. 다음 명령을 실행하여 Butane Config YAML 파일을 사용하고 JSON 형식으로 Ignition 구성을 생성합니다.

    $ ./path/butane example.bu
    {"ignition":{"config":{"merge":[{"source":"http://192.168.122.1:8000/sample.ign"}]},"timeouts":{"httpTotal":30},"version":"3.3.0"},"passwd":{"users":[{"groups":["wheel"],"name":"core","passwordHash":"password_hash_here","sshAuthorizedKeys":["ssh-ed25519 some-ssh-key-here"]}]},"storage":{"files":[{"path":"/etc/NetworkManager/system-connections/enp1s0.nmconnection","contents":{"compression":"gzip","source":"data:;base64,H4sIAAAAAAAC/0yKUcrCMBAG3/csf/ObUKQie5LShyX5SgPNNiSr0NuLgiDzNMPM8VBFtHzoQjkxtPp+ITsrGLahKYyyGtoqEYNKwfeZc32OC0lKDb179rfg/HVyPgQ3hv8w/v0WT0k7T+7D/S1Dh7S4MRU5h1XyzqvsHVRg25G4iD5kp1cAAAD//6Cvq2ihAAAA"},"mode":384},{"path":"/usr/local/bin/startup.sh","contents":{"source":"data:;base64,IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8sIFdvcmxkISIK"},"mode":493}]},"systemd":{"units":[{"contents":"[Unit]\nDescription=A hello world\n[Install]\nWantedBy=multi-user.target","enabled":true,"name":"hello.service"},{"dropins":[{"contents":"[Service]\nEnvironment=LOG_LEVEL=trace\n","name":"log_trace.conf"}],"name":"fdo-client-linuxapp.service"}]}}

    Butane Config YAML 파일을 실행하여 Ignition 구성 JSON 파일을 확인하고 생성한 후 파티션과 같이 지원되지 않는 필드를 사용할 때 경고를 받을 수 있습니다. 예를 들면 다음과 같습니다. 해당 필드를 수정하고 검사를 다시 실행할 수 있습니다.

이제 청사진을 사용자 지정하는 데 사용할 수 있는 Ignition JSON 구성 파일이 있습니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.