4.2. 에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform 설치


다음 절차에서는 연결이 끊긴 환경에 단일 노드 OpenShift Container Platform을 배포합니다. 이러한 절차를 기반으로 사용하고 요구 사항에 따라 수정할 수 있습니다.

4.2.1. 에이전트 기반 설치 프로그램 다운로드

프로세스

다음 절차를 사용하여 에이전트 기반 설치 프로그램 및 설치에 필요한 CLI를 다운로드합니다.

  1. 로그인 인증 정보를 사용하여 OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Datacenter 로 이동합니다.
  3. 로컬 에서 에이전트 기반 설치 관리자 실행을 클릭합니다.
  4. OpenShift 설치 프로그램명령줄 인터페이스 의 운영 체제 및 아키텍처를 선택합니다.
  5. 설치 프로그램 다운로드를 클릭하여 설치 프로그램을 다운로드하고 추출합니다.
  6. 풀 시크릿 다운로드를 클릭하거나 풀 시크릿 복사를 클릭하여 풀 시크릿을 다운로드하거나 복사합니다.
  7. 명령행 툴 다운로드를 클릭하고 openshift-install 바이너리를 PATH 에 있는 디렉터리에 배치합니다.

4.2.2. 기본 구성 입력 생성

이 절차를 사용하여 에이전트 이미지를 생성하는 데 사용되는 기본 구성 입력을 생성합니다.

프로세스

  1. 다음 명령을 실행하여 nmstate 종속성을 설치합니다.

    $ sudo dnf install /usr/bin/nmstatectl -y
  2. PATH 에 있는 디렉터리에 openshift-install 바이너리를 배치합니다.
  3. 다음 명령을 실행하여 설치 구성을 저장할 디렉터리를 생성합니다.

    $ mkdir ~/<directory_name>
    참고

    에이전트 기반 설치에 권장되는 방법입니다. GitOps ZTP 매니페스트 사용은 선택 사항입니다.

  4. 다음 명령을 실행하여 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
    1
    시스템 아키텍처를 지정하고 유효한 값은 amd64arm64 입니다.
    2
    필수 항목입니다. 클러스터 이름을 지정합니다.
    3
    설치할 클러스터 네트워크 플러그인을 지정합니다. 지원되는 값은 OVNKubernetesOpenShiftSDN 입니다. 기본값은 OVNKubernetes 입니다.
    4
    풀 시크릿을 지정합니다.
    5
    SSH 공개 키를 지정합니다.
    참고

    플랫폼을 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 필드에 추가해야 합니다.

  5. 다음 명령을 실행하여 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.replicascontrolPlane.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.yamlagent-config.yaml 파일을 통해 사용 가능한 옵션 이상으로 설치를 구성할 수 있습니다.

참고

GitOps ZTP 매니페스트는 install-config.yamlagent-config.yaml 파일을 미리 구성하지 않고 또는 사용하여 생성할 수 있습니다. install-config.yamlagent-config.yaml 파일을 구성하도록 선택하면 구성이 생성될 때 ZTP 클러스터 매니페스트로 가져옵니다.

사전 요구 사항

  • openshift-install 바이너리를 PATH 에 있는 디렉터리에 배치했습니다.
  • 선택 사항: install-config.yamlagent-config.yaml 파일을 생성하고 구성했습니다.

프로세스

  1. 다음 명령을 실행하여 ZTP 클러스터 매니페스트를 생성합니다.

    $ openshift-install agent create cluster-manifests --dir <installation_directory>
    중요

    install-config.yamlagent-config.yaml 파일을 생성한 경우 해당 파일이 삭제되고 이 명령을 통해 생성된 클러스터 매니페스트로 교체됩니다.

    openshift-install agent create cluster-manifests 명령을 실행할 때 install-config.yamlagent-config.yaml 파일에 대한 구성은 ZTP 클러스터 매니페스트로 가져옵니다.

  2. 다음 명령을 실행하여 cluster-manifests 디렉터리로 이동합니다.

    $ cd <installation_directory>/cluster-manifests
  3. cluster-manifests 디렉터리에서 매니페스트 파일을 구성합니다. 샘플 파일의 경우 "Sample GitOps ZTP 사용자 정의 리소스" 섹션을 참조하십시오.
  4. 연결이 끊긴 클러스터: ZTP 매니페스트를 생성하기 전에 install-config.yaml 파일에 미러 구성을 정의하지 않은 경우 다음 단계를 수행합니다.

    1. 다음 명령을 실행하여 미러 디렉터리로 이동합니다.

      $ cd ../mirror
    2. 미러 디렉터리에 매니페스트 파일을 구성합니다.

추가 리소스

4.2.4. 에이전트 이미지 생성 및 부팅

시스템에서 에이전트 이미지를 부팅하려면 다음 절차를 사용하십시오.

프로세스

  1. 다음 명령을 실행하여 에이전트 이미지를 생성합니다.

    $ openshift-install --dir <install_directory> agent create image
    참고

    RHCOS(Red Hat Enterprise Linux CoreOS)는 기본 디스크에서 다중 경로를 지원하므로 하드웨어 장애에 대한 탄력성이 강화된 호스트 가용성을 높일 수 있습니다. 기본 /etc/multipath.conf 구성이 있는 에이전트 ISO 이미지에서 멀티패스는 기본적으로 활성화됩니다.

  2. 베어 메탈 시스템에서 agent.x86_64.iso 또는 agent.aarch64.iso 이미지를 부팅합니다.

4.2.5. 현재 설치 호스트에서 릴리스 이미지를 가져올 수 있는지 확인

에이전트 이미지 및 네트워크 서비스를 호스트에서 부팅한 후 에이전트 콘솔 애플리케이션에서 가져오기 검사를 수행하여 현재 호스트에서 릴리스 이미지를 검색할 수 있는지 확인합니다.

기본 풀 검사에서 통과하면 애플리케이션을 종료하여 설치를 계속할 수 있습니다. 가져오기 검사에 실패하면 TUI의 추가 검사 섹션에 표시된 대로 애플리케이션에서 추가 검사를 수행하여 문제를 해결합니다. 기본 가져오기 검사가 성공하면 추가 검사에 대한 실패가 반드시 중요한 것은 아닙니다.

설치에 실패할 수 있는 호스트 네트워크 구성 문제가 있는 경우 콘솔 애플리케이션을 사용하여 네트워크 구성을 조정할 수 있습니다.

중요

에이전트 콘솔 애플리케이션이 호스트 네트워크 구성 문제를 감지하면 사용자가 콘솔 애플리케이션을 수동으로 중지하고 진행하려는 의도에 신호를 보낼 때까지 설치 워크플로가 중지됩니다.

프로세스

  1. 에이전트 콘솔 애플리케이션이 레지스트리에서 구성된 릴리스 이미지를 가져올 수 있는지 여부를 확인할 때까지 기다립니다.
  2. 에이전트 콘솔 애플리케이션에서 설치 프로그램 연결 확인이 전달되었다고 표시되면 프롬프트가 설치를 계속할 때까지 기다립니다.

    참고

    연결 검사에서 통과한 경우에도 네트워크 구성 설정을 보거나 변경하도록 선택할 수 있습니다.

    그러나 시간 초과를 두는 대신 에이전트 콘솔 애플리케이션과 상호 작용하도록 선택하는 경우 TUI를 수동으로 종료하여 설치를 진행해야 합니다.

  3. 에이전트 콘솔 애플리케이션 검사에 실패한 경우 릴리스 이미지 URL 가져오기 확인 옆에 빨간색 아이콘으로 표시되는 다음 단계를 사용하여 호스트의 네트워크 설정을 재구성합니다.

    1. TUI의 Check Errors 섹션을 읽으십시오. 이 섹션에는 실패한 검사와 관련된 오류 메시지가 표시됩니다.

      검사 오류를 표시하는 에이전트 콘솔 애플리케이션의 홈 화면
    2. Configure network 를 선택하여 NetworkManager TUI를 시작합니다.
    3. 연결 편집을 선택하고 재구성할 연결을 선택합니다.
    4. 구성을 편집하고 OK 를 선택하여 변경 사항을 저장합니다.
    5. Back 을 선택하여 NetworkManager TUI의 기본 화면으로 돌아갑니다.
    6. 연결 활성화를 선택합니다.
    7. 재구성된 네트워크를 선택하여 비활성화합니다.
    8. 재구성된 네트워크를 다시 선택하여 다시 활성화합니다.
    9. Back 을 선택한 다음 Quit 를 선택하여 에이전트 콘솔 애플리케이션으로 돌아갑니다.
    10. 새 네트워크 구성을 사용하여 연속 네트워크 검사를 다시 시작할 때까지 5초 이상 기다립니다.
    11. 릴리스 이미지 URL 가져오기 검사가 성공하고 URL 옆에 녹색 아이콘이 표시되면 Quit 를 선택하여 에이전트 콘솔 애플리케이션을 종료하고 설치를 계속합니다.

4.2.6. 설치 진행 상황 추적 및 확인

다음 절차에 따라 설치 진행 상황을 추적하고 성공적으로 설치되었는지 확인합니다.

사전 요구 사항

  • Kubernetes API 서버에 대한 DNS 레코드를 구성했습니다.

프로세스

  1. 선택 사항: 부트스트랩 호스트(신규 호스트)가 재부팅되는 시기를 확인하려면 다음 명령을 실행합니다.

    $ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \ 1
        --log-level=info 2
    1
    & lt;install_directory > 의 경우 에이전트 ISO가 생성된 디렉터리의 경로를 지정합니다.
    2
    다른 설치 세부 사항을 보려면 info 대신 warn, debug 또는 error를 지정합니다.

    출력 예

    ...................................................................
    ...................................................................
    INFO Bootstrap configMap status is complete
    INFO cluster bootstrap is complete

    이 명령은 Kubernetes API 서버가 컨트롤 플레인 시스템에서 부트스트랩되었다는 신호를 보낼 때 성공합니다.

  2. 진행 상황을 추적하고 성공적으로 설치를 확인하려면 다음 명령을 실행합니다.

    $ 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

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.