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
이미지를 현재 디렉터리에 저장합니다.$ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane --output butane
선택 사항: butane을 설치할 특정 아키텍처 유형(예: arch64 또는 ppc64le)에 적절한 URL을 지정합니다. 예를 들면 다음과 같습니다.
$ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane-aarch64 --output butane
다운로드한 바이너리 파일을 실행 가능하게 합니다.
$ chmod +x butane
butane
바이너리 파일을PATH
의 디렉터리로 이동합니다.PATH
를 확인하려면 터미널을 열고 다음 명령을 실행합니다.$ echo $PATH
검증 단계
이제
butane
명령을 실행하여 Butane 툴을 사용할 수 있습니다.$ butane <butane_file>
1.1.3. Butane을 사용하여 MachineConfig 오브젝트 생성
설치 시 또는 Machine Config Operator를 통해 작업자 또는 컨트롤 플레인 노드를 구성할 수 있도록 Butane을 사용하여 MachineConfig
오브젝트를 생성할 수 있습니다.
사전 요구 사항
-
butane
유틸리티가 설치되어 있습니다.
프로세스
Butane 구성 파일을 생성합니다. 다음 예제에서는 시스템 콘솔을 구성하여 커널 디버그 메시지를 표시하고 chrony 시간 서비스에 대한 사용자 지정 설정을 지정하는
99-worker-custom.bu
라는 파일을 생성합니다.variant: openshift version: 4.17.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
오브젝트를 생성합니다.$ butane 99-worker-custom.bu -o ./99-worker-custom.yaml
머신 구성을 완료하기 위해
MachineConfig
오브젝트 YAML 파일이 생성됩니다.-
향후
MachineConfig
오브젝트를 업데이트해야 하는 경우 Butane 구성을 저장합니다. 클러스터가 아직 작동하지 않은 경우 매니페스트 파일을 생성하고
MachineConfig
오브젝트 YAML 파일을openshift
디렉토리에 추가합니다. 클러스터가 이미 실행중인 경우 다음과 같이 파일을 적용합니다.$ oc create -f 99-worker-custom.yaml