6.2. Ignition 구성 파일 보기
부트스트랩 머신을 배포하는 데 사용된 Ignition 구성 파일을 보려면 다음 명령을 실행하십시오.
$ openshift-install create ignition-configs --dir $HOME/testconfig
몇 가지 질문에 대답하면 bootstrap.ign
, master.ign
및 worker.ign
파일이 입력한 디렉터리에 표시됩니다.
bootstrap.ign
파일의 내용을 보려면 jq
필터를 통해 전송하십시오. 해당 파일의 스니펫은 다음과 같습니다.
$ cat $HOME/testconfig/bootstrap.ign | jq \\{ "ignition": \\{ "config": \\{}, "storage": \\{ "files": [ \\{ "filesystem": "root", "path": "/etc/motd", "user": \\{ "name": "root" }, "append": true, "contents": \\{ "source": "data:text/plain;charset=utf-8;base64,VGhpcyBpcyB0aGUgYm9vdHN0cmFwIG5vZGU7IGl0IHdpbGwgYmUgZGVzdHJveWVkIHdoZW4gdGhlIG1hc3RlciBpcyBmdWxseSB1cC4KClRoZSBwcmltYXJ5IHNlcnZpY2UgaXMgImJvb3RrdWJlLnNlcnZpY2UiLiBUbyB3YXRjaCBpdHMgc3RhdHVzLCBydW4gZS5nLgoKICBqb3VybmFsY3RsIC1iIC1mIC11IGJvb3RrdWJlLnNlcnZpY2UK",
bootstrap.ign
파일에 나열된 파일의 내용을 디코딩하려면 해당 파일의 내용을 나타내는 base64 인코딩 데이터 문자열을 base64 -d
명령으로 전송하십시오. 다음은 위의 출력에서 부트스트랩 머신에 추가된 /etc/motd
파일의 내용을 사용하는 예입니다.
$ echo VGhpcyBpcyB0aGUgYm9vdHN0cmFwIG5vZGU7IGl0IHdpbGwgYmUgZGVzdHJveWVkIHdoZW4gdGhlIG1hc3RlciBpcyBmdWxseSB1cC4KClRoZSBwcmltYXJ5IHNlcnZpY2UgaXMgImJvb3RrdWJlLnNlcnZpY2UiLiBUbyB3YXRjaCBpdHMgc3RhdHVzLCBydW4gZS5nLgoKICBqb3VybmFsY3RsIC1iIC1mIC11IGJvb3RrdWJlLnNlcnZpY2UK | base64 --decode
출력 예
This is the bootstrap machine; it will be destroyed when the master is fully up. The primary service is "bootkube.service". To watch its status, run, e.g.: journalctl -b -f -u bootkube.service
master.ign
및 worker.ign
파일에서 해당 명령을 반복하여 각 머신 유형에 대한 Ignition 구성 파일의 소스를 확인하십시오. worker.ign
에 다음과 같은 행이 표시되어 부트스트랩 머신에서 Ignition 구성을 가져오는 방법을 식별해야 합니다.
"source": "https://api.myign.develcluster.example.com:22623/config/worker",
bootstrap.ign
파일에서 배울 수 있는 몇 가지 사항은 다음과 같습니다.
- 형식: 파일 형식은 Ignition 구성 사양에 정의되어 있습니다. MCO에서 나중에 동일한 형식의 파일을 사용하여 변경 사항을 머신 구성에 병합합니다.
-
내용: 부트스트랩 머신은 다른 머신의 Ignition 구성을 제공하므로 마스터 및 작업자 머신 Ignition 구성 정보는
부트스트랩 머신 구성과 함께 bootstrap.ign
에 저장됩니다. - 크기: 파일은 1300줄 이상이며 다양한 유형의 리소스 경로가 있습니다.
- 머신에 복사될 각 파일의 내용은 실제로 데이터 URL로 인코딩되므로 내용을 읽기가 다소 어려워집니다. (내용을 더 읽기 쉽게 하려면 이전에 표시된 jq 및 base64 명령을 사용하십시오.)
- 설정: Ignition 구성 파일의 다른 섹션은 일반적으로 기존 파일을 수정하는 명령이 아니라 머신의 파일 시스템에 드롭된 파일을 포함합니다. 예를 들어, NFS에 해당 서비스를 구성하는 섹션이 두는 대신, 시스템이 시작될 때 init 프로세스에서 시작하는 NFS 구성 파일을 추가합니다.
- 사용자: ssh 키가 해당 사용자에게 할당되어 core라는 사용자가 생성됩니다. 그러면 해당 사용자 이름과 인증서로 클러스터에 로그인할 수 있습니다.
-
storage: 스토리지 섹션에서는 각 시스템에 추가된 파일을 식별합니다. 주목할 몇 가지 파일에는
/root/.docker/config.json
(클러스터가 컨테이너 이미지 레지스트리에서 가져와야 하는 인증서 제공)과 클러스터를 구성하는 데 사용되는/opt/openshift/manifests
의 많은 매니페스트 파일이 포함됩니다. - systemd: systemd 섹션에는 systemd 장치 파일을 만드는 데 사용되는 콘텐츠가 있습니다. 이러한 파일은 부팅 시 서비스를 시작하고 실행 중인 시스템에서 해당 서비스를 관리하는 데 사용됩니다.
- 프리미티브: 또한 Ignition은 다른 툴을 빌드할 수 있는 하위 수준의 프리미티브를 노출합니다.