7.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": { "version": "3.2.0" }, "passwd": { "users": [ { "name": "core", "sshAuthorizedKeys": [ "ssh-rsa AAAAB3NzaC1yc...." ] } ] }, "storage": { "files": [ { "overwrite": false, "path": "/etc/motd", "user": { "name": "root" }, "append": [ { "source": "data:text/plain;charset=utf-8;base64,VGhpcyBpcyB0aGUgYm9vdHN0cmFwIG5vZGU7IGl0IHdpbGwgYmUgZGVzdHJveWVkIHdoZW4gdGhlIG1hc3RlciBpcyBmdWxseSB1cC4KClRoZSBwcmltYXJ5IHNlcnZpY2VzIGFyZSByZWxlYXNlLWltYWdlLnNlcnZpY2UgZm9sbG93ZWQgYnkgYm9vdGt1YmUuc2VydmljZS4gVG8gd2F0Y2ggdGhlaXIgc3RhdHVzLCBydW4gZS5nLgoKICBqb3VybmFsY3RsIC1iIC1mIC11IHJlbGVhc2UtaW1hZ2Uuc2VydmljZSAtdSBib290a3ViZS5zZXJ2aWNlCg==" } ], "mode": 420 }, ...
bootstrap.ign
파일에 나열된 파일의 내용을 디코딩하려면 해당 파일의 내용을 나타내는 base64 인코딩 데이터 문자열을 base64 -d
명령으로 전송하십시오. 다음은 위의 출력에서 부트스트랩 머신에 추가된 /etc/motd
파일의 내용을 사용하는 예입니다.
$ echo VGhpcyBpcyB0aGUgYm9vdHN0cmFwIG5vZGU7IGl0IHdpbGwgYmUgZGVzdHJveWVkIHdoZW4gdGhlIG1hc3RlciBpcyBmdWxseSB1cC4KClRoZSBwcmltYXJ5IHNlcnZpY2VzIGFyZSByZWxlYXNlLWltYWdlLnNlcnZpY2UgZm9sbG93ZWQgYnkgYm9vdGt1YmUuc2VydmljZS4gVG8gd2F0Y2ggdGhlaXIgc3RhdHVzLCBydW4gZS5nLgoKICBqb3VybmFsY3RsIC1iIC1mIC11IHJlbGVhc2UtaW1hZ2Uuc2VydmljZSAtdSBib290a3ViZS5zZXJ2aWNlCg== | base64 --decode
출력 예
This is the bootstrap node; it will be destroyed when the master is fully up. The primary services are release-image.service followed by bootkube.service. To watch their status, run e.g. journalctl -b -f -u release-image.service -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
에 저장됩니다. - 크기: 파일의 길이는 1,300줄 이상이며 다양한 유형의 리소스 경로가 포함됩니다.
-
머신에 복사될 각 파일의 내용은 실제로 데이터 URL로 인코딩되므로 내용을 읽기가 다소 어려워집니다. (내용을 더 읽기 쉽게 하려면 이전에 표시된
jq
및base64
명령을 사용하십시오.) - 구성: Ignition 구성 파일에 다른 섹션이 있으면 일반적으로 기존 파일을 수정하는 명령이 아니라 머신의 파일 시스템에 드롭된 파일을 포함하는 것입니다. 예를 들어, NFS에 해당 서비스를 구성하는 섹션이 두는 대신, 시스템이 시작될 때 init 프로세스에서 시작하는 NFS 구성 파일을 추가합니다.
-
사용자: ssh 키가 사용자에게 할당되어
core
라는 이름의 사용자가 생성됩니다. 그러면 해당 사용자 이름과 인증서로 클러스터에 로그인할 수 있습니다. -
스토리지: 스토리지 섹션에서는 각 머신에 추가된 파일을 식별합니다. 주목할 몇 가지 파일에는
/root/.docker/config.json
(클러스터가 컨테이너 이미지 레지스트리에서 가져와야 하는 인증서 제공)과 클러스터를 구성하는 데 사용되는/opt/openshift/manifests
의 많은 매니페스트 파일이 포함됩니다. -
systemd:
systemd
섹션에는systemd
장치 파일을 작성하는 데 사용되는 내용이 있습니다. 이러한 파일은 부팅 시 서비스를 시작하고 실행 중인 시스템에서 해당 서비스를 관리하는 데 사용됩니다. - 프리미티브: Ignition에서는 다른 도구를 빌드할 수 있는 하위 수준의 프리미티브도 노출합니다.