4.2. 에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform 설치
다음 절차에서는 연결이 끊긴 환경에 단일 노드 OpenShift Container Platform을 배포합니다. 이러한 절차를 기반으로 사용하고 요구 사항에 따라 수정할 수 있습니다.
4.2.1. 에이전트 기반 설치 프로그램 다운로드
프로세스
다음 절차를 사용하여 에이전트 기반 설치 프로그램 및 설치에 필요한 CLI를 다운로드합니다.
- 로그인 인증 정보를 사용하여 OpenShift Container Platform 웹 콘솔에 로그인합니다.
- Datacenter 로 이동합니다.
- 로컬 에서 에이전트 기반 설치 관리자 실행을 클릭합니다.
- OpenShift 설치 프로그램 및 명령줄 인터페이스 의 운영 체제 및 아키텍처를 선택합니다.
- 설치 프로그램 다운로드를 클릭하여 설치 프로그램을 다운로드하고 추출합니다.
- 풀 시크릿 다운로드를 클릭하거나 풀 시크릿 복사를 클릭하여 풀 시크릿을 다운로드하거나 복사합니다.
-
명령행 툴 다운로드를 클릭하고
openshift-install
바이너리를PATH
에 있는 디렉터리에 배치합니다.
4.2.2. 기본 구성 입력 생성
이 절차를 사용하여 에이전트 이미지를 생성하는 데 사용되는 기본 구성 입력을 생성합니다.
프로세스
다음 명령을 실행하여
nmstate
종속성을 설치합니다.$ sudo dnf install /usr/bin/nmstatectl -y
-
PATH
에 있는 디렉터리에openshift-install
바이너리를 배치합니다. 다음 명령을 실행하여 설치 구성을 저장할 디렉터리를 생성합니다.
$ mkdir ~/<directory_name>
참고에이전트 기반 설치에 권장되는 방법입니다. GitOps ZTP 매니페스트 사용은 선택 사항입니다.
다음 명령을 실행하여
install-config.yaml
파일을 생성합니다.$ cat << EOF > ./<directory_name>/install-config.yaml apiVersion: v1 baseDomain: test.example.com compute: - architecture: amd64 1 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 hyperthreading: Enabled name: master replicas: 1 metadata: name: sno-cluster 2 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 192.168.0.0/16 networkType: OVNKubernetes 3 serviceNetwork: - 172.30.0.0/16 platform: none: {} pullSecret: '<pull_secret>' 4 sshKey: '<ssh_pub_key>' 5 EOF
참고플랫폼을
vSphere
또는baremetal
로 설정하면 다음 세 가지 방법으로 클러스터 노드의 IP 주소 끝점을 구성할 수 있습니다.- IPv4
- IPv6
- IPv4 및 IPv6 병렬(dual-stack)
IPv6는 베어 메탈 플랫폼에서만 지원됩니다.
듀얼 스택 네트워킹의 예
networking: clusterNetwork: - cidr: 172.21.0.0/16 hostPrefix: 23 - cidr: fd02::/48 hostPrefix: 64 machineNetwork: - cidr: 192.168.11.0/16 - cidr: 2001:DB8::/32 serviceNetwork: - 172.22.0.0/16 - fd03::/112 networkType: OVNKubernetes platform: baremetal: apiVIPs: - 192.168.11.3 - 2001:DB8::4 ingressVIPs: - 192.168.11.4 - 2001:DB8::5
참고연결이 끊긴 미러 레지스트리를 사용하는 경우 미러 레지스트리에 대해 이전에 생성한 인증서 파일을
install-config.yaml
파일의additionalTrustBundle
필드에 추가해야 합니다.다음 명령을 실행하여
agent-config.yaml
파일을 생성합니다.$ cat > agent-config.yaml << EOF apiVersion: v1alpha1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80 1 hosts: 2 - hostname: master-0 3 interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a5 rootDeviceHints: 4 deviceName: /dev/sdb networkConfig: 5 interfaces: - name: eno1 type: ethernet state: up mac-address: 00:ef:44:21:e6:a5 ipv4: enabled: true address: - ip: 192.168.111.80 prefix-length: 23 dhcp: false dns-resolver: config: server: - 192.168.111.1 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.111.2 next-hop-interface: eno1 table-id: 254 EOF
- 1
- 이 IP 주소는 부트스트랩 프로세스를 수행하고
assisted-service
구성 요소를 실행하는 노드를 결정하는 데 사용됩니다.networkConfig
매개변수에 하나 이상의 호스트의 IP 주소를 지정하지 않는 경우 rendezvous IP 주소를 제공해야 합니다. 이 주소를 제공하지 않으면 제공된 호스트의networkConfig
에서 하나의 IP 주소가 선택됩니다. - 2
- 선택 사항: 호스트 구성. 정의된 호스트 수는
compute.replicas
및controlPlane.replicas
매개변수 값의 합계인install-config.yaml
파일에 정의된 총 호스트 수를 초과해서는 안 됩니다. - 3
- 선택 사항: DHCP(Dynamic Host Configuration Protocol) 또는 역방향 DNS 조회에서 얻은 호스트 이름을 재정의합니다. 각 호스트에는 이러한 방법 중 하나에서 제공하는 고유한 호스트 이름이 있어야 합니다.
- 4
- 특정 장치에 대한 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지의 프로비저닝을 활성화합니다. 장치를 검색한 순서대로 검사하고 검색된 값을 팁 값과 비교합니다. 힌트 값과 일치하는 첫 번째 검색된 장치를 사용합니다.
- 5
- 선택 사항: NMState 형식으로 호스트의 네트워크 인터페이스를 구성합니다.
4.2.3. ZTP 매니페스트 사용
선택적 작업에서는 GitOps ZTP(ZTP) 매니페스트를 사용하여 install-config.yaml
및 agent-config.yaml
파일을 통해 사용 가능한 옵션 이상으로 설치를 구성할 수 있습니다.
GitOps ZTP 매니페스트는 install-config.yaml
및 agent-config.yaml
파일을 미리 구성하지 않고 또는 사용하여 생성할 수 있습니다. install-config.yaml
및 agent-config.yaml
파일을 구성하도록 선택하면 구성이 생성될 때 ZTP 클러스터 매니페스트로 가져옵니다.
사전 요구 사항
-
openshift-install
바이너리를PATH
에 있는 디렉터리에 배치했습니다. -
선택 사항:
install-config.yaml
및agent-config.yaml
파일을 생성하고 구성했습니다.
프로세스
다음 명령을 실행하여 ZTP 클러스터 매니페스트를 생성합니다.
$ openshift-install agent create cluster-manifests --dir <installation_directory>
중요install-config.yaml
및agent-config.yaml
파일을 생성한 경우 해당 파일이 삭제되고 이 명령을 통해 생성된 클러스터 매니페스트로 교체됩니다.openshift-install agent create cluster-manifests
명령을 실행할 때install-config.yaml
및agent-config.yaml
파일에 대한 구성은 ZTP 클러스터 매니페스트로 가져옵니다.다음 명령을 실행하여
cluster-manifests
디렉터리로 이동합니다.$ cd <installation_directory>/cluster-manifests
-
cluster-manifests
디렉터리에서 매니페스트 파일을 구성합니다. 샘플 파일의 경우 "Sample GitOps ZTP 사용자 정의 리소스" 섹션을 참조하십시오. 연결이 끊긴 클러스터: ZTP 매니페스트를 생성하기 전에
install-config.yaml
파일에 미러 구성을 정의하지 않은 경우 다음 단계를 수행합니다.다음 명령을 실행하여
미러
디렉터리로 이동합니다.$ cd ../mirror
-
미러
디렉터리에 매니페스트 파일을 구성합니다.
추가 리소스
- GitOps ZTP 사용자 정의 리소스 샘플
- GitOps ZTP에 대한 자세한 내용은 네트워크 far edge의 챌린지 를 참조하십시오.
4.2.4. 에이전트 이미지 생성 및 부팅
시스템에서 에이전트 이미지를 부팅하려면 다음 절차를 사용하십시오.
프로세스
다음 명령을 실행하여 에이전트 이미지를 생성합니다.
$ openshift-install --dir <install_directory> agent create image
참고RHCOS(Red Hat Enterprise Linux CoreOS)는 기본 디스크에서 다중 경로를 지원하므로 하드웨어 장애에 대한 탄력성이 강화된 호스트 가용성을 높일 수 있습니다. 기본
/etc/multipath.conf
구성이 있는 에이전트 ISO 이미지에서 멀티패스는 기본적으로 활성화됩니다.-
베어 메탈 시스템에서
agent.x86_64.iso
또는agent.aarch64.iso
이미지를 부팅합니다.
4.2.5. 현재 설치 호스트에서 릴리스 이미지를 가져올 수 있는지 확인
에이전트 이미지 및 네트워크 서비스를 호스트에서 부팅한 후 에이전트 콘솔 애플리케이션에서 가져오기 검사를 수행하여 현재 호스트에서 릴리스 이미지를 검색할 수 있는지 확인합니다.
기본 풀 검사에서 통과하면 애플리케이션을 종료하여 설치를 계속할 수 있습니다. 가져오기 검사에 실패하면 TUI의 추가 검사 섹션에 표시된 대로 애플리케이션에서 추가 검사를
수행하여 문제를 해결합니다. 기본 가져오기 검사가 성공하면 추가 검사에 대한 실패가 반드시 중요한 것은 아닙니다.
설치에 실패할 수 있는 호스트 네트워크 구성 문제가 있는 경우 콘솔 애플리케이션을 사용하여 네트워크 구성을 조정할 수 있습니다.
에이전트 콘솔 애플리케이션이 호스트 네트워크 구성 문제를 감지하면 사용자가 콘솔 애플리케이션을 수동으로 중지하고 진행하려는 의도에 신호를 보낼 때까지 설치 워크플로가 중지됩니다.
프로세스
- 에이전트 콘솔 애플리케이션이 레지스트리에서 구성된 릴리스 이미지를 가져올 수 있는지 여부를 확인할 때까지 기다립니다.
에이전트 콘솔 애플리케이션에서 설치 프로그램 연결 확인이 전달되었다고 표시되면 프롬프트가 설치를 계속할 때까지 기다립니다.
참고연결 검사에서 통과한 경우에도 네트워크 구성 설정을 보거나 변경하도록 선택할 수 있습니다.
그러나 시간 초과를 두는 대신 에이전트 콘솔 애플리케이션과 상호 작용하도록 선택하는 경우 TUI를 수동으로 종료하여 설치를 진행해야 합니다.
에이전트 콘솔 애플리케이션 검사에 실패한 경우
릴리스 이미지 URL
가져오기 확인 옆에 빨간색 아이콘으로 표시되는 다음 단계를 사용하여 호스트의 네트워크 설정을 재구성합니다.TUI의
Check Errors
섹션을 읽으십시오. 이 섹션에는 실패한 검사와 관련된 오류 메시지가 표시됩니다.- Configure network 를 선택하여 NetworkManager TUI를 시작합니다.
- 연결 편집을 선택하고 재구성할 연결을 선택합니다.
- 구성을 편집하고 OK 를 선택하여 변경 사항을 저장합니다.
- Back 을 선택하여 NetworkManager TUI의 기본 화면으로 돌아갑니다.
- 연결 활성화를 선택합니다.
- 재구성된 네트워크를 선택하여 비활성화합니다.
- 재구성된 네트워크를 다시 선택하여 다시 활성화합니다.
- Back 을 선택한 다음 Quit 를 선택하여 에이전트 콘솔 애플리케이션으로 돌아갑니다.
- 새 네트워크 구성을 사용하여 연속 네트워크 검사를 다시 시작할 때까지 5초 이상 기다립니다.
-
릴리스 이미지 URL
가져오기 검사가 성공하고 URL 옆에 녹색 아이콘이 표시되면 Quit 를 선택하여 에이전트 콘솔 애플리케이션을 종료하고 설치를 계속합니다.
4.2.6. 설치 진행 상황 추적 및 확인
다음 절차에 따라 설치 진행 상황을 추적하고 성공적으로 설치되었는지 확인합니다.
사전 요구 사항
- Kubernetes API 서버에 대한 DNS 레코드를 구성했습니다.
프로세스
선택 사항: 부트스트랩 호스트(신규 호스트)가 재부팅되는 시기를 확인하려면 다음 명령을 실행합니다.
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \ 1 --log-level=info 2
출력 예
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
이 명령은 Kubernetes API 서버가 컨트롤 플레인 시스템에서 부트스트랩되었다는 신호를 보낼 때 성공합니다.
진행 상황을 추적하고 성공적으로 설치를 확인하려면 다음 명령을 실행합니다.
$ openshift-install --dir <install_directory> agent wait-for install-complete 1
- 1
- &
lt;install_directory
> 디렉터리에 대해 에이전트 ISO가 생성된 디렉터리의 경로를 지정합니다.
출력 예
................................................................... ................................................................... INFO Cluster is installed INFO Install complete! INFO To access the cluster as the system:admin user when using 'oc', run INFO export KUBECONFIG=/home/core/installer/auth/kubeconfig INFO Access the OpenShift web-console here: https://console-openshift-console.apps.sno-cluster.test.example.com
GitOps ZTP 매니페스트의 선택적 방법을 사용하는 경우 다음 세 가지 방법으로 AgentClusterInstall.yaml
파일을 통해 클러스터 노드의 IP 주소 끝점을 구성할 수 있습니다.
- IPv4
- IPv6
- IPv4 및 IPv6 병렬(dual-stack)
IPv6는 베어 메탈 플랫폼에서만 지원됩니다.
듀얼 스택 네트워킹의 예
apiVIP: 192.168.11.3 ingressVIP: 192.168.11.4 clusterDeploymentRef: name: mycluster imageSetRef: name: openshift-4.13 networking: clusterNetwork: - cidr: 172.21.0.0/16 hostPrefix: 23 - cidr: fd02::/48 hostPrefix: 64 machineNetwork: - cidr: 192.168.11.0/16 - cidr: 2001:DB8::/32 serviceNetwork: - 172.22.0.0/16 - fd03::/112 networkType: OVNKubernetes
추가 리소스
- 듀얼 스택 네트워킹을 사용한 배포를 참조하십시오.
- install-config yaml 파일 구성 을 참조하십시오.
- 베어 메탈 환경에 3-노드 클러스터를 배포하도록 3-노드 클러스터 구성 을 참조하십시오.
- 루트 장치 팁 정보를 참조하십시오.
- NMState 상태 예제 를 참조하십시오.