Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

작업자 노드 추가

이 절차를 사용하여 OpenShift 클러스터에 작업자 노드를 추가합니다.

이 예제 절차는 순전히 정보 제공의 목적으로 제공됩니다. 공식 절차는 Red Hat OpenShift 설명서(https://docs.openshift.com/)를 참조하십시오.

이 절차에서는 초기 바인딩의 예를 보여 줍니다. 초기 바인딩에서는 기존 클러스터에 대해 미리 구성된 ISO를 생성합니다. 노드가 해당 ISO로 부팅되면 노드는 자동으로 기존 클러스터에 연결합니다.

이로 인해 하나 이상의 CSR(CertificateSigningRequests)이 새 노드에서 기존 클러스터로 전송됩니다. CSR은 단순히 (기존) 클러스터에 대한 클라이언트 인증서를 얻기 위한 요청입니다. 이러한 요청을 명시적으로 승인해야 합니다. 승인되면 기존 클러스터는 새 노드에 클라이언트 인증서를 제공하고 새 노드는 기존 클러스터에 가입할 수 있습니다.

  1. 보조 설치 관리자 클라이언트로 사용 중인 컴퓨터(VM 또는 BMS)에 로그인합니다. Assisted Installer 클라이언트 머신은 Red Hat에서 호스팅하는 Assisted Installer 서비스에 대한 Assisted Installer API 호출을 실행하는 위치입니다.
  2. 이후 단계에서 사용할 환경 변수를 설정하여 배포를 준비합니다.
    1. 기존 클러스터에 사용하는 것과 동일한 SSH 키를 설정합니다.
      이 예제에서는 기본 위치 ~/. ssh/id_rsa.pub 에서 해당 SSH 키를 검색하고 변수에 저장합니다.
    2. 이미지 풀 시크릿 이 더 이상 없는 경우 Red Hat 계정에서 로컬 컴퓨터로 이미지 풀 시크릿을 다운로드합니다. 풀 시크릿을 사용하면 OpenShift 컴포넌트에 대한 컨테이너 이미지를 제공하는 서비스 및 레지스트리에 액세스할 수 있습니다.

      Red Hat 호스팅 Assisted Installer를 사용하는 경우 https://console.redhat.com/openshift/downloads 페이지에서 풀 시크릿 파일(pull-secret)을 다운로드할 수 있습니다. 풀 시크릿 파일을 Assisted Installer 클라이언트 시스템에 복사합니다. 이 예제에서는 pull-secret.txt라는 파일에 풀 시크릿을 저장합니다.

      공백을 제거하고, 내용을 JSON 문자열 형식으로 변환하고, 다음과 같이 환경 변수에 저장합니다.

    3. 오프라인 액세스 토큰이 더 이상 없는 경우 Red Hat 계정에서 오프라인 액세스 토큰을 복사합니다. OpenShift Cluster Manager API 토큰을 사용하면 (Assisted Installer 클라이언트 시스템에서) Red Hat에서 호스팅하는 Assisted Installer API 서비스와 상호 작용할 수 있습니다.
      토큰은 복사하여 로컬 환경 변수에 붙여넣을 수 있는 문자열입니다. Red Hat 호스팅 Assisted Installer를 사용하는 경우 https://console.redhat.com/openshift/downloads 에서 API 토큰을 복사할 수 있습니다.
    4. OFFLINE_ACCESS_TOKEN에서 토큰을 생성(새로 고침)합니다. API 명령을 실행할 때마다 이 생성된 토큰을 사용합니다.
      참고:

      이 토큰은 정기적으로 만료됩니다. 이 토큰이 만료되면 API 명령을 실행할 때마다 HTTP 4xx 응답을 받게 됩니다. 토큰이 만료될 때 새로 고치거나, 만료되기 전에 정기적으로 토큰을 새로 고칩니다. 토큰이 만료되지 않은 경우 새로 고쳐도 아무런 문제가 없습니다.

    5. 기존 클러스터의 OpenShift 클러스터 ID를 가져옵니다.
      예를 들면 다음과 같습니다. 변수에 저장합니다.
    6. 나머지 환경 변수를 설정합니다.
      표 1에는 이전 단계에서 설명한 환경 변수를 포함하여 이 절차에서 설정해야 하는 모든 환경 변수가 나열되어 있습니다.
      표 1: 환경 변수
      변수 설명 예제
      CLUSTER_SSHKEY 기존 클러스터에 사용하는 (공용) SSH 키입니다. 추가하는 새 노드에 대해 동일한 키를 사용해야 합니다.
      PULL_SECRET 다운로드하고, 제거하고, JSON 문자열 형식으로 변환한 이미지 끌어오기 암호입니다.
      OFFLINE_ACCESS_TOKEN 복사한 OpenShift Cluster Manager API 토큰입니다.
      토큰 OFFLINE_ACCESS_TOKEN에서 생성(새로 고침)한 토큰입니다.
      CLUSTER_NAME 기존 클러스터의 이름입니다. 마이클러스터
      CLUSTER_DOMAIN 기존 클러스터의 기본 도메인입니다. contrail.lan
      OS_CLUSTER_ID 기존 클러스터의 OpenShift 클러스터 ID입니다. 1777102A-1FE1-407A-9441-9D0BAD4F5968
      AI_URL Assisted Installer 서비스의 URL입니다. 이 예에서는 Red Hat Hosted Assisted Installer를 사용합니다. https://api.openshift.com
  3. 기존 클러스터를 가져옵니다.

    클러스터를 가져올 때 Assisted Installer 서비스는 AddHostsCluster에 대한 클러스터 ID를 반환합니다. 응답에 포함된 클러스터 ID를 주의 깊게 살펴봅니다. 예를 들어:

  4. 검색 부팅 ISO를 생성합니다. 이 ISO를 사용하여 클러스터에 추가할 노드를 부팅합니다.
    ISO는 설정할 인프라 환경에 따라 인프라에 맞게 사용자 지정됩니다.
    1. 인프라 환경을 설명하는 파일을 만듭니다. 이 예제에서는 이름을 infra-envs-addhost.json으로 지정합니다.
      어디:
      • InfraEnv Name 은 InfraEnv라고 부르려는 이름입니다.
      • AddHostsCluster ID 는 AddHostsCluster의 클러스터 ID입니다(이전 단계에서 가져옴).
      • user_managed_networkingvip_dhcp_allocation 기존 클러스터와 동일한 값으로 설정됩니다.
    2. InfraEnv를 등록합니다. 이에 대한 응답으로 Assisted Installer 서비스는 InfraEnv ID를 할당하고 지정된 인프라 환경을 기반으로 검색 부팅 ISO를 빌드합니다.

      InfraEnv를 등록하면 Assisted Installer 서비스가 InfraEnv ID를 반환합니다. 응답에 포함된 InfraEnv ID를 주의 깊게 확인합니다. 예를 들어:

      InfraEnv ID를 변수에 저장합니다. 예를 들어:

    3. 이미지 다운로드 URL을 가져옵니다.
      Assisted Installer 서비스는 이미지 URL을 반환합니다.
    4. ISO를 다운로드하여 파일에 저장합니다. 이 예제에서는 ai-liveiso-addhosts.iso에 저장합니다.
  5. 검색 부팅 ISO를 사용하여 새 작업자 노드를 부팅합니다. 인프라에 가장 편리한 부팅 방법을 선택합니다. 새 노드가 Red Hat 호스팅 Assisted Installer에 액세스할 수 있는 네트워크에 연결되어 부팅되는지 확인합니다.
  6. 기존 클러스터에 새 노드를 설치합니다.
    1. 새 노드를 검사하여 해당 역할이 작업자로 설정되어 있는지 확인합니다.

      호스트 역할이 worker로 설정된 경우에만 진행합니다.

    2. 새 노드의 호스트 ID를 가져옵니다.
    3. 새 노드를 설치합니다.
    4. 설치 진행 상황을 확인합니다.
      새 노드는 결국 재부팅됩니다.
  7. 새 노드가 다시 부팅되면 기존 클러스터에 가입하려고 시도합니다. 이로 인해 하나 이상의 CSR(CertificateSigningRequests)이 새 노드에서 기존 클러스터로 전송됩니다. CSR 요청을 승인해야 합니다.
    1. 보류 중인 CSR을 확인합니다.
      예를 들어:

      보류 중인 CSR이 표시될 때까지 이 명령을 주기적으로 반복해야 할 수 있습니다.

    2. CSR을 승인합니다.
      예를 들어:
  8. 새 노드가 기존 클러스터에서 실행 중인지 확인합니다.