검색

1.5. 인프라 환경 생성

download PDF

Kubernetes 콘솔용 Red Hat Advanced Cluster Management for Kubernetes 콘솔을 사용하여 호스트를 관리하고 해당 호스트에서 클러스터를 생성할 수 있는 인프라 환경을 생성할 수 있습니다.

인프라 환경은 다음과 같은 기능을 지원합니다.

  • 클러스터의 제로 프로비저닝: 스크립트를 사용하여 클러스터를 배포합니다. 자세한 내용은 Red Hat OpenShift Container Platform 설명서의 연결이 끊긴 환경에서 대규모로 분산 단위 배포를 참조하십시오.
  • 늦은 바인딩: 인프라 관리자가 호스트를 부팅하고 클러스터 작성자는 나중에 해당 호스트에 클러스터를 바인딩할 수 있습니다. 클러스터 작성자는 늦은 바인딩을 사용할 때 인프라에 대한 관리자 권한이 필요하지 않습니다.
  • 듀얼 스택: IPv4 및 IPv6 주소가 모두 있는 클러스터를 배포합니다. 듀얼 스택은 OVN-Kubernetes 네트워킹 구현을 사용하여 여러 서브넷을 지원합니다.
  • 원격 작업자 노드 추가: 생성 및 실행 후 클러스터에 원격 작업자 노드를 추가하여 백업 목적으로 다른 위치에 노드를 추가할 수 있는 유연성을 제공합니다.
  • NMState를 사용하는 고정 IP: NMState API를 사용하여 환경에 대한 고정 IP 주소를 정의합니다.

1.5.1. 사전 요구 사항

인프라 환경을 생성하기 전에 다음 사전 요구 사항을 참조하십시오.

  • OpenShift Container Platform이 hub 클러스터에 배포되어 있어야 합니다.
  • Red Hat Advanced Cluster Management hub 클러스터(연결됨) 클러스터의 인터넷 액세스 또는 환경 생성에 필요한 이미지를 검색하려면 인터넷에 연결되지 않은 내부 또는 미러 레지스트리에 연결해야 합니다.
  • 허브 클러스터에 구성된 CIM(Central Infrastructure Management) 기능의 구성된 인스턴스가 필요합니다. 절차에 대한 중앙 인프라 관리 서비스 활성화를 참조하십시오.
  • OpenShift Container Platform 풀 시크릿이 필요합니다. 자세한 내용은 이미지 풀 시크릿 사용을 참조하십시오.
  • 기본적으로 ~/.ssh/id_rsa.pub 파일에 있는 SSH 키가 필요합니다.
  • 구성된 스토리지 클래스가 필요합니다.
  • 연결이 끊긴 환경만 해당: OpenShift Container Platform 설명서에서 연결이 끊긴 환경을 준비하는 절차를 완료합니다.

1.5.2. 중앙 인프라 관리 서비스 활성화

중앙 인프라 관리 서비스는 {mce-short}와 함께 제공되며 OpenShift Container Platform 클러스터를 배포합니다. CIM은 허브 클러스터에서 MultiClusterHub Operator를 활성화할 때 배포되지만 활성화해야 합니다.

CIM 서비스를 활성화하려면 다음 단계를 완료합니다.

중요: 베어 메탈, Red Hat OpenStack Platform, VMware vSphere 또는 사용자 프로비저닝 인프라(UPI) 방법을 사용하여 hub 클러스터가 다음 플랫폼 중 하나에 설치되어 있고 플랫폼이 None 인 경우 다음 단계를 완료합니다. hub 클러스터가 다른 플랫폼에 있는 경우 이 단계를 건너뜁니다.

  1. 다음 명령을 실행하여 Bare Metal Operator가 모든 네임스페이스를 조사할 수 있도록 프로비저닝 리소스를 수정합니다.

    oc patch provisioning provisioning-configuration --type merge -p '{"spec":{"watchAllNamespaces": true }}'
  2. 연결이 끊긴 환경의 경우: 인프라 Operator와 동일한 네임스페이스에 ConfigMap 을 생성하여 미러 레지스트리의 ca-bundle.crtregistries.conf 값을 지정합니다. 파일 ConfigMap 은 다음 예와 유사해야 합니다.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: <mirror-config>
      namespace: "<infrastructure-operator-namespace>"
      labels:
        app: assisted-service
    data:
      ca-bundle.crt: |
        -----BEGIN CERTIFICATE-----
        certificate contents
        -----END CERTIFICATE-----
    
      registries.conf: |
        unqualified-search-registries = ["registry.access.redhat.com", "docker.io"]
    
        [[registry]]
           prefix = ""
           location = "quay.io/edge-infrastructure"
           mirror-by-digest-only = false
    
           [[registry.mirror]]
           location = "mirror1.registry.corp.com:5000/edge-infrastructure"

1.5.2.1. AgentServiceConfig 사용자 정의 리소스 생성

다음 단계를 완료하여 AgentServiceConfig 사용자 지정 리소스를 생성합니다.

  1. 연결이 끊긴 환경의 경우에만: agent_service_config.yaml 파일에 다음 YAML 콘텐츠를 저장하고 필요에 따라 값을 교체합니다.

    apiVersion: agent-install.openshift.io/v1beta1
    kind: AgentServiceConfig
    metadata:
     name: agent
    spec:
      databaseStorage:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <db_volume_size>
      filesystemStorage:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <fs_volume_size>
      mirrorRegistryRef:
        name: <mirror_config>
      unauthenticatedRegistries:
        - <unauthenticated_registry>
      imageStorage:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <img_volume_size>
      osImages:
        - openshiftVersion: "<ocp_version>"
          version: "<ocp_release_version>"
          url: "<iso_url>"
          rootFSUrl: "<root_fs_url>"
          cpuArchitecture: "x86_64"

    mirror_config 를 미러 레지스트리 구성 세부 정보가 포함된 ConfigMap 의 이름으로 교체합니다.

    인증이 필요하지 않은 미러 레지스트리를 사용하는 경우 선택적 unauthenticated_registry 매개변수를 포함합니다. 이 목록의 항목은 검증되지 않거나 가져오기 시크릿에 항목이 있어야 합니다.

  2. 연결된 환경의 경우에만: agent_service_config.yaml 파일에 다음 YAML 콘텐츠를 저장합니다.

    apiVersion: agent-install.openshift.io/v1beta1
    kind: AgentServiceConfig
    metadata:
     name: agent
    spec:
      databaseStorage:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <db_volume_size>
      filesystemStorage:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <fs_volume_size>
      imageStorage:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <img_volume_size>

    db_volume_sizedatabaseStorage 필드의 볼륨 크기로 교체합니다(예: 10G ). 이 값은 클러스터의 데이터베이스 테이블 및 데이터베이스 뷰와 같은 파일을 저장하기 위해 할당된 스토리지 양을 지정합니다. 클러스터가 많은 경우 더 높은 값을 사용해야 할 수 있습니다.

    fs_volume_sizefilesystemStorage 필드의 볼륨 크기로 교체합니다(예: 클러스터당 200M, 지원되는 OpenShift Container Platform 버전당 2-3G ). 필요한 최소 값은 100G 입니다. 이 값은 클러스터의 로그, 매니페스트, kubeconfig 파일을 저장하기 위해 할당된 스토리지 양을 지정합니다. 클러스터가 많은 경우 더 높은 값을 사용해야 할 수 있습니다.

    img_volume_sizeimageStorage 필드의 볼륨 크기(예: 운영 체제 이미지당 2G )로 바꿉니다. 최소 크기는 50G 입니다. 이 값은 클러스터 이미지에 할당되는 스토리지 양을 지정합니다. 실행 중인 Red Hat Enterprise Linux CoreOS 인스턴스마다 1GB의 이미지 스토리지를 허용해야 합니다. Red Hat Enterprise Linux CoreOS의 여러 클러스터와 인스턴스가 있는 경우 더 높은 값을 사용해야 할 수 있습니다.

    ocp_version 을 설치할 OpenShift Container Platform 버전으로 교체합니다(예: 4.9 ).

    ocp_release_version 을 특정 설치 버전 (예: 49.83.202103251640-0 )으로 바꿉니다.

    iso_url 을 ISO URL로 교체합니다(예: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.10/4.10.3/rhcos-4.10.3-x86_64-live.x86_64.iso ). 다른 값은 https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.10/4.10.3/ 에서 확인할 수 있습니다.

    root_fs_url 을 루트 FS 이미지 URL로 교체합니다(예: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.10/4.10.3/rhcos-4.10.3-x86_64-live-rootfs.x86_64.img ). 다른 값은 https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.10/4.10.3/ 에서 확인할 수 있습니다.

  3. 다음 명령을 실행하여 AgentServiceConfig 사용자 지정 리소스를 생성합니다.

    oc create -f agent_service_config.yaml

    출력은 다음 예와 유사할 수 있습니다.

    agentserviceconfig.agent-install.openshift.io/agent created

assisted-serviceassisted-image-service 배포를 확인하고 해당 Pod가 준비되고 실행 중인지 확인할 수 있습니다. 콘솔을 사용하여 인프라 환경 생성을 계속합니다.

1.5.2.2. 프로비저닝 사용자 정의 리소스(CR)를 수동으로 생성

다음 명령을 사용하여 자동화된 프로비저닝 용 서비스를 활성화하는 프로비저닝 CR을 수동으로 생성합니다.

oc create -f provisioning-configuration.yaml

CR은 다음 샘플과 유사할 수 있습니다.

apiVersion: metal3.io/v1alpha1
kind: Provisioning
metadata:
  name: provisioning-configuration
spec:
  provisioningNetwork: Disabled
  watchAllNamespaces: true

1.5.2.3. Amazon Web Services에서 중앙 인프라 관리 활성화

Amazon Web Services에서 hub 클러스터를 실행하고 CIM 서비스를 활성화하려면 CIM 활성화 후 다음 추가 단계를 완료합니다.

  1. 허브에 로그인했는지 확인하고 다음 명령을 실행하여 assisted-image-service 에서 구성된 고유 도메인을 찾습니다.

    oc get routes --all-namespaces | grep assisted-image-service

    도메인은 assisted-image-service-multicluster-engine.apps.<yourdomain>.com과 유사할 수 있습니다.

  2. 허브에 로그인했는지 확인하고 NLB type 매개변수를 사용하여 고유한 도메인이 있는 새 IngressController 를 생성합니다. 다음 예제를 참조하십시오.

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      name: ingress-controller-with-nlb
      namespace: openshift-ingress-operator
    spec:
      domain: nlb-apps.<domain>.com
      routeSelector:
          matchLabels:
            router-type: nlb
      endpointPublishingStrategy:
        type: LoadBalancerService
        loadBalancer:
          scope: External
          providerParameters:
            type: AWS
            aws:
              type: NLB
  3. nlb-apps.< domain >.com에서 <your domain >을 <yourdomain> 으로 교체하여 IngressController 의 domain 매개변수에 < yourdomain >을 추가합니다.
  4. 다음 명령을 사용하여 새 IngressController 를 적용합니다.

    oc apply -f ingresscontroller.yaml
  5. 다음 명령을 실행하여 nlb-apps 위치를 사용하도록 assisted-image-service 경로를 편집합니다.

    oc edit route assisted-image-service -n <namespace>

    팁: 기본 네임스페이스는 :mce:를 설치한 위치입니다.

  6. assisted-image-service 경로에 다음 행을 추가합니다.

    metadata:
      labels:
        router-type: nlb
      name: assisted-image-service
  7. assisted-image-service 경로에서 spec.host 의 URL 값을 찾습니다. URL은 다음 예와 유사할 수 있습니다.

    assisted-image-service-multicluster-engine.apps.<yourdomain>.com

  8. IngressController 에 구성된 도메인과 일치하도록 URL의 앱을 nlb- apps 로 바꿉니다.

Amazon Web Services에서 CIM 서비스가 활성화되어 있는지 확인하려면 다음 단계를 완료합니다.

  1. 다음 명령을 실행하여 Pod가 정상인지 확인합니다.

    oc get pods -n multicluster-engine | grep assist
  2. 새 인프라 환경을 생성하고 다운로드 URL에서 새 nlb-apps URL을 사용하는지 확인합니다.

1.5.3. 콘솔을 사용하여 인프라 환경 생성

Red Hat Advanced Cluster Management 콘솔에서 인프라 환경을 생성하려면 다음 단계를 완료합니다.

  1. 탐색 메뉴에서 인프라 > 인프라 환경으로 이동 하여 인프라 환경 생성을 클릭합니다.
  2. 인프라 환경 설정에 다음 정보를 추가합니다.

    • name: 사용자 환경의 고유 이름입니다.
    • 네트워크 유형: 환경에 추가할 수 있는 호스트 유형을 지정합니다. 베어 메탈 호스트를 사용하는 경우에만 고정 IP 옵션을 사용할 수 있습니다.
    • Location: 호스트의 지리적 위치를 지정합니다. 지리적 위치를 사용하여 클러스터를 생성할 때 클러스터의 데이터가 저장되는 위치를 쉽게 확인할 수 있습니다.
    • 레이블: 인프라 환경에 레이블을 추가할 수 있는 선택적 필드로, 보다 쉽게 찾아 특성을 공유하는 다른 환경으로 환경을 그룹화할 수 있습니다. 네트워크 유형 및 위치에 대한 선택 사항이 레이블 목록에 자동으로 추가됩니다.
    • 풀 시크릿: OpenShift Container Platform 리소스에 액세스할 수 있는 OpenShift Container Platform 풀 시크릿 입니다.
    • SSH 공개 키: 호스트와의 보안 통신을 활성화하는 SSH 키입니다. 기본적으로 ~/.ssh/id_rsa.pub 파일에 있습니다.
    • 모든 클러스터에서 프록시 설정을 활성화하려면 설정을 선택하여 활성화합니다. 이를 위해서는 다음 정보를 입력해야 합니다.

      • HTTP 프록시 URL: 검색 서비스에 액세스할 때 사용해야 하는 URL입니다.
      • HTTPS 프록시 URL: 검색 서비스에 액세스할 때 사용해야 하는 보안 프록시 URL입니다. https 는 아직 지원되지 않으므로 http 형식이어야 합니다.
      • 프록시 도메인 없음: 프록시를 바이패스해야 하는 쉼표로 구분된 도메인 목록입니다. 해당 도메인에 있는 모든 하위 도메인을 포함하려면 마침표로 도메인 이름을 시작합니다 . 모든 대상에 대한 프록시를 바이패스하려면 및 별표 * 를 추가합니다.

이제 인프라 환경에 호스트를 추가하여 계속할 수 있습니다.

인프라 환경에 액세스하려면 콘솔에서 Infrastructure > Host inventory 를 선택합니다. 목록에서 인프라 환경을 선택하여 해당 인프라 환경에 대한 세부 정보 및 호스트를 확인합니다.

1.5.4. 인프라 환경에 호스트 추가

Red Hat Advanced Cluster Management for Kubernetes 콘솔을 사용하여 인프라 환경에 호스트를 추가할 수 있습니다. 호스트를 추가하면 클러스터를 생성할 때 이미 구성된 호스트를 더 쉽게 선택할 수 있습니다.

호스트를 추가하려면 다음 단계를 완료합니다.

  1. Red Hat Advanced Cluster Management 탐색에서 인프라 > 인프라 환경을 선택합니다.
  2. 호스트를 추가하여 설정을 볼 인프라 환경을 선택합니다.
  3. 호스트 탭을 선택하여 이미 해당 환경에 추가된 호스트를 확인하고 호스트를 추가합니다. 사용 가능한 호스트가 테이블에 표시되는 데 몇 분이 걸릴 수 있습니다.
  4. Discovery ISO 또는 BMC(Baseboard Management Controller) 를 선택하여 호스트 정보를 입력합니다.
  5. Discovery ISO 옵션을 선택하는 경우 다음 단계를 완료합니다.

    1. 콘솔에 제공된 명령을 복사하여 ISO를 다운로드하거나 Discovery ISO 다운로드를 선택합니다.
    2. 부팅 가능한 장치에서 명령을 실행하여 각 호스트를 시작합니다.
    3. 보안을 강화하기 위해 검색된 각 호스트에 대해 Approve host 를 선택합니다. 이 추가 단계는 ISO 파일이 변경되어 인증되지 않은 사람이 실행하는 경우 일부 보호 조치를 제공합니다.
    4. 이름이 지정된 호스트, localhost 의 이름을 고유한 이름으로 변경합니다.
  6. BMC(Baseboard Management Controller) 옵션을 선택하는 경우 다음 단계를 완료합니다.

    참고: 호스트를 추가하기 위한 BMC 옵션은 Red Hat Advanced Cluster Management hub 클러스터의 플랫폼이 베어 메탈, Red Hat OpenStack Platform, VMware vSphere 또는 사용자 프로비저닝 인프라(UPI) 방법을 사용하여 설치된 경우에만 사용할 수 있으며 플랫폼은 None 입니다.

    1. 호스트의 BMC에 대한 연결 세부 정보를 추가합니다.
    2. 부팅 프로세스를 시작하려면 호스트 추가 를 선택합니다. 호스트는 검색 ISO 이미지를 사용하여 자동으로 부팅되며 호스트 목록이 시작될 때 추가됩니다.

      BMC 옵션을 사용하여 호스트를 추가하면 호스트가 자동으로 승인됩니다.

이제 이 인프라 환경에서 온-프레미스 클러스터를 만들 수 있습니다. 클러스터 생성에 대한 자세한 내용은 온-프레미스 환경에서 클러스터 생성을 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.