10.6.6. Kubernetes 매니페스트 및 Ignition 설정 파일 생성
클러스터 정의를 사용자 지정하고 머신을 수동으로 시작하려면 Kubernetes 매니페스트 및 Ignition 구성 파일을 생성합니다. 이러한 자산은 특정 배포 요구 사항에 따라 클러스터 인프라를 구성하는 데 필요한 지침을 제공합니다.
설치 구성 파일은 Kubernetes 매니페스트로 변환됩니다. 매니페스트는 나중에 클러스터 머신을 구성하는 데 사용되는 Ignition 구성 파일로 래핑됩니다.
-
OpenShift Container Platform 설치 프로그램에서 생성하는 Ignition 구성 파일에 24시간 후에 만료되는 인증서가 포함되어 있습니다. 이 인증서는 그 후에 갱신됩니다. 인증서를 갱신하기 전에 클러스터가 종료되고 24시간이 지난 후에 클러스터가 다시 시작되면 클러스터는 만료된 인증서를 자동으로 복구합니다. 예외적으로 kubelet 인증서를 복구하려면 대기 중인
node-bootstrapper인증서 서명 요청(CSR)을 수동으로 승인해야 합니다. 자세한 내용은 만료된 컨트롤 플레인 인증서에서 복구 문서를 참조하십시오. - 24 시간 인증서는 클러스터를 설치한 후 16시간에서 22시간으로 인증서가 교체되기 때문에 생성된 후 12시간 이내에 Ignition 구성 파일을 사용하는 것이 좋습니다. 12시간 이내에 Ignition 구성 파일을 사용하면 설치 중에 인증서 업데이트가 실행되는 경우 설치 실패를 방지할 수 있습니다.
프로세스
OpenShift Container Platform 설치 프로그램이 포함된 디렉터리로 변경하고 클러스터에 대한 Kubernetes 매니페스트를 생성합니다.
$ ./openshift-install create manifests --dir <installation_directory>다음과 같습니다.
<installation_directory>-
생성한
install-config.yaml파일이 포함된 설치 디렉터리를 지정합니다.
컨트롤 플레인 시스템을 정의하는 Kubernetes 매니페스트 파일을 제거합니다.
$ rm -f <installation_directory>/openshift/99_openshift-cluster-api_master-machines-*.yaml이러한 파일을 제거하면 클러스터가 컨트롤 플레인 시스템을 자동으로 생성하지 못합니다.
컨트롤 플레인 머신 세트를 정의하는 Kubernetes 매니페스트 파일을 제거합니다.
$ rm -f <installation_directory>/openshift/99_openshift-machine-api_master-control-plane-machine-set.yaml선택사항: 클러스터가 컴퓨팅 시스템을 프로비저닝하지 않도록 하려면 작업자 시스템을 정의하는 Kubernetes 매니페스트 파일을 제거하십시오.
$ rm -f <installation_directory>/openshift/99_openshift-cluster-api_worker-machineset-*.yaml중요사용자 프로비저닝 인프라에 클러스터를 설치할 때
MachineAPI기능을 비활성화한 경우 작업자 시스템을 정의하는 Kubernetes 매니페스트 파일을 제거해야 합니다. 그렇지 않으면 클러스터를 설치하지 못합니다.작업자 시스템은 사용자가 직접 생성하고 관리하기 때문에 초기화할 필요가 없습니다.
주의3 노드 클러스터를 실행 중이면 다음 단계를 건너 뛰어 컨트롤 플레인 노드 일정을 계획할 수 있도록 하십시오.
중요기본 예약 불가에서 예약 가능으로 컨트롤 플레인 노드를 구성하면 추가 서브스크립션이 필요합니다. 이는 컨트롤 플레인 노드가 컴퓨팅 노드가 되기 때문입니다.
<installation_directory>/manifests/cluster-scheduler-02-config.ymlKubernetes 매니페스트 파일의mastersSchedulable매개변수가false로 설정되어 있는지 확인합니다. 이 설정으로 인해 컨트롤 플레인 머신에서 포드가 예약되지 않습니다.-
<installation_directory>/manifests/cluster-scheduler-02-config.yml파일을 엽니다. -
mastersSchedulable매개변수를 찾아서 값을False로 설정되어 있는지 확인합니다. - 파일을 저장하고 종료합니다.
-
선택사항: Ingress Operator가 사용자 대신 DNS 레코드를 생성하지 못하도록 하려면
<installation_directory>/manifests/cluster-dns-02-config.ymlDNS 구성 파일에서privateZone및publicZone섹션을 제거합니다.apiVersion: config.openshift.io/v1 kind: DNS metadata: creationTimestamp: null name: cluster spec: baseDomain: example.openshift.com privateZone: id: mycluster-100419-private-zone publicZone:1 id: example.openshift.com status: {}spec.privateZone:이 섹션을 완전히 제거합니다.제거한 경우 나중에 인그레스 DNS 레코드를 수동으로 추가해야 합니다.
Ignition 구성 파일을 생성하려면 설치 프로그램이 포함된 디렉터리에서 다음 명령을 실행합니다.
$ ./openshift-install create ignition-configs --dir <installation_directory>다음과 같습니다.
<installation_directory>동일한 설치 디렉터리를 지정합니다.
설치 디렉터리의 부트스트랩, 컨트롤 플레인 및 컴퓨팅 노드에 대한 Ignition 구성 파일이 생성됩니다.
kubeadmin-password및kubeconfig파일은./<installation_directory>/auth디렉터리에 생성됩니다.. ├── auth │ ├── kubeadmin-password │ └── kubeconfig ├── bootstrap.ign ├── master.ign ├── metadata.json └── worker.ign