1장. 노드의 사용자 정의
OpenShift Container Platform은 Ignition을 통해 클러스터 전체 및 시스템별 구성을 지원하여 운영 체제에 임의의 파티셔닝 및 파일 콘텐츠를 변경할 수 있습니다. 일반적으로 구성 파일이 RHEL(Red Hat Enterprise Linux)에 설명된 경우 Ignition을 통해 수정할 수 있습니다.
머신 구성 변경 사항을 배포하는 방법은 다음 두 가지가 있습니다.
-
Openshift-install
중 클러스터를 시작하기 위해 매니페스트 파일에 포함된 머신 구성을 생성합니다. - Machine Config Operator를 통해 OpenShift Container Platform 노드에 전달되는 머신 구성을 생성합니다.
또한 베어 메탈 노드를 설치할 때 coreos-installer
에 전달되는 Ignition 구성과 같은 참조 구성을 수정하면 시스템별로 구성할 수 있습니다. 이러한 변경 사항은 현재 Machine Config Operator에 표시되지 않습니다.
다음 섹션에서는 이러한 방식으로 노드에서 설정할 수 있는 기능에 대해 설명합니다.
1.1. Butane을 사용하여 머신 구성 생성
머신 구성은 사용자 및 파일 시스템 생성, 네트워크 설정, systemd 장치 설치 등에 대해 시스템에 지시하여 컨트롤 플레인 및 작업자 시스템을 구성하는 데 사용됩니다.
머신 구성 수정은 어려울 수 있기 때문에 Butane configs를 사용하여 머신 구성을 생성하여 노드 구성을 훨씬 쉽게 구성할 수 있습니다.
1.1.1. Butane 정보
butane은 OpenShift Container Platform이 머신 구성 작성에 편리한 단기 구문을 제공하고 머신 구성에 대한 추가 검증을 수행하는 데 사용하는 명령줄 유틸리티입니다. Butane이 허용하는 Butane 구성 파일의 형식은 OpenShift Butane config 사양에 정의되어 있습니다.
1.1.2. Butane 설치
Butane 툴(butane
)을 설치하여 명령줄 인터페이스에서 OpenShift Container Platform 머신 구성을 생성할 수 있습니다. 해당 바이너리 파일을 다운로드하여 Linux, Windows 또는 macOS에 butane
을 설치할 수 있습니다.
Butane 릴리스는 이전 릴리스 및 Fedora CoreOS Config Transpiler(FCCT)와 이전 버전과 호환됩니다.
프로세스
- https://mirror.openshift.com/pub/openshift-v4/clients/butane/ Butane 이미지 다운로드 페이지로 이동합니다.
butane
바이너리를 가져옵니다.Butane의 최신 버전의 경우 최신
butane
이미지를 현재 디렉터리에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane --output butane
$ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane --output butane
선택 사항: butane을 설치할 특정 아키텍처 유형(예: arch64 또는 ppc64le)에 적절한 URL을 지정합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane-aarch64 --output butane
$ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane-aarch64 --output butane
다운로드한 바이너리 파일을 실행 가능하게 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chmod +x butane
$ chmod +x butane
butane
바이너리 파일을PATH
의 디렉터리로 이동합니다.PATH
를 확인하려면 터미널을 열고 다음 명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo $PATH
$ echo $PATH
검증 단계
이제
butane
명령을 실행하여 Butane 툴을 사용할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow butane <butane_file>
$ butane <butane_file>
1.1.3. Butane을 사용하여 MachineConfig 오브젝트 생성
설치 시 또는 Machine Config Operator를 통해 작업자 또는 컨트롤 플레인 노드를 구성할 수 있도록 Butane을 사용하여 MachineConfig
오브젝트를 생성할 수 있습니다.
사전 요구 사항
-
butane
유틸리티가 설치되어 있습니다.
프로세스
Butane 구성 파일을 생성합니다. 다음 예제에서는 시스템 콘솔을 구성하여 커널 디버그 메시지를 표시하고 chrony 시간 서비스에 대한 사용자 지정 설정을 지정하는
99-worker-custom.bu
라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow variant: openshift version: 4.16.0 metadata: name: 99-worker-custom labels: machineconfiguration.openshift.io/role: worker openshift: kernel_arguments: - loglevel=7 storage: files: - path: /etc/chrony.conf mode: 0644 overwrite: true contents: inline: | pool 0.rhel.pool.ntp.org iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony
variant: openshift version: 4.16.0 metadata: name: 99-worker-custom labels: machineconfiguration.openshift.io/role: worker openshift: kernel_arguments: - loglevel=7 storage: files: - path: /etc/chrony.conf mode: 0644 overwrite: true contents: inline: | pool 0.rhel.pool.ntp.org iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony
참고99-worker-custom.bu
파일은 작업자 노드에 대한 머신 구성을 생성하도록 설정되어 있습니다. 컨트롤 플레인 노드에 배포하려면 역할을worker
에서master
로 변경하십시오. 이 두 가지 작업을 수행하려면 여러유형의 배포에 서로 다른 파일 이름을 사용하여 전체 프로세스를 반복할 수 있습니다.이전 단계에서 생성한 파일을 Butane으로 지정하여
MachineConfig
오브젝트를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow butane 99-worker-custom.bu -o ./99-worker-custom.yaml
$ butane 99-worker-custom.bu -o ./99-worker-custom.yaml
머신 구성을 완료하기 위해
MachineConfig
오브젝트 YAML 파일이 생성됩니다.-
향후
MachineConfig
오브젝트를 업데이트해야 하는 경우 Butane 구성을 저장합니다. 클러스터가 아직 작동하지 않은 경우 매니페스트 파일을 생성하고
MachineConfig
오브젝트 YAML 파일을openshift
디렉토리에 추가합니다. 클러스터가 이미 실행중인 경우 다음과 같이 파일을 적용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f 99-worker-custom.yaml
$ oc create -f 99-worker-custom.yaml