8.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에서는 다른 도구를 빌드할 수 있는 하위 수준의 프리미티브도 노출합니다.