7.. 구성 파일 생성

예상 소요 시간: 3일

작동 가능한 구성요소 소유자: INV

기술 프로필: 배포 엔지니어

cellconfig는 Google Distributed Cloud (GDC) 에어 갭 적용 인스턴스를 부트스트랩하는 데 필요합니다. 인스턴스 하드웨어 기기 및 네트워크 구성을 비롯한 초기 Distributed Cloud API 객체 집합을 정의합니다.

cellconfig는 YAML 파일 디렉터리 내에 구성된 Kubernetes 커스텀 리소스 집합으로 형식이 지정됩니다.

gdcloud CLI 명령어를 실행하려면 /root 폴더에 작업 디렉터리를 만들고 다음 명령어를 사용하여 $PATH 변수를 변경해야 합니다.

PATH=$PATH:/root/WORKING_DIRECTORY

7.1. 개요

Distributed Cloud cellconfig를 만들려면 다음 단계를 수행하세요.

  1. 하드웨어 기기 사양 파일(devices.csv)의 수신을 확인합니다.
  2. 네트워크 케이블링 사양 파일(cables.csv)의 수신을 확인합니다.
  3. 고객 입력 설문지(CIQ) 파일(ciq.yaml)을 생성합니다.
  4. 인스턴스 보안 비밀 파일(secrets.yaml)을 생성합니다.
  5. 기기 라이선스 디렉터리(licenses/)의 수신을 확인합니다.
  6. 위의 입력으로 gdcloud system assets create 명령어를 실행하여 cellconfig를 만듭니다.

이전에는 devices.csv (기기 식별) 파일을 deid.csv 파일이라고 했습니다. gdcloud system assets format-deid 명령어를 사용하여 이전 파일을 새 파일 형식으로 변환할 수 있습니다.

7.1.1. devices.csv

devices.csv 파일은 Distributed Cloud 인스턴스의 모든 하드웨어 기기를 지정합니다. 파일 및 예상 형식에 대한 자세한 설명은 devices.csv 문서를 참고하세요.

7.1.2. cables.csv

cables.csv 파일은 Distributed Cloud 인스턴스의 하드웨어 기기 간 모든 연결을 자세히 설명합니다. 파일 및 예상 형식에 대한 자세한 설명은 cables.csv 문서를 참고하세요.

ciq에 지정된 설정에 따라 cables.csv 파일에 지정된 데이터 연결 집합을 수정합니다.

먼저 필요한 데이터 업링크 수를 확인합니다.

  • 모든 분산 클라우드 인스턴스가 고객 데이터 네트워크에 연결되려면 각 테두리 리프 스위치에 2개의 업링크 (총 4개)가 필요합니다.
  • 로컬 OCIT 인스턴스로의 연결이 구성된 경우 각 보더 리프 스위치에 2개의 업링크 (총 4개)가 필요합니다.
  • 원격 OIC 연결을 위해서는 각 보더 리프 스위치에 2개의 업링크 (총 4개)가 필요합니다.

다음으로 필요한 관리 업링크 수를 결정합니다.

  • 로컬 OIC 인스턴스에 대한 연결이 구성된 경우 각 관리 집계 스위치에 2개의 업링크가 필요합니다 (총 4개).
  • 원격 OCIT에 대한 연결이 구성된 경우 각 관리 집계 스위치에 2개의 업링크 (총 4개)가 필요합니다.

예를 들어 현재 Distributed Cloud 인스턴스가 로컬 OCIT에 연결되어 있고, 다중 영역 상호 연결을 사용하여 다른 Distributed Cloud 인스턴스와 피어링되어 있으며, 원격 OCIT 인스턴스에도 연결되어 있는 경우 다음이 적용됩니다.

  • 각 테두리 리프 스위치에 6개의 업링크가 필요합니다 (총 12개의 데이터 업링크).
  • 각 관리 집계 스위치에 4개의 업링크가 필요합니다 (총 8개의 관리 업링크).

각 외부 연결은 cables.csv의 두 행에 해당하는 두 케이블로 구성됩니다.

  • 스위치에서 스위치와 동일한 랙에 있는 패치 패널 뒷면으로 연결되는 케이블 1개 예를 들면 다음과 같습니다.
    • 36,kb-ab-aggsw01,Eth1/31,41,kb-ab-ppl01,c4-smf-port1-bk,(1) R8T17A + (1) R8S79A,(1) QSFP-100G-CWDM4-S + (1) F92ERQ1Q1SNM001,1 meter,,SMF,flag,Right,Link to Customer Border 05 (100G),back,kb-ab-aggsw01:Eth1/31<>kb-ab-ppl01:c4-smf-port1-bk
    • 이 연결의 경우 패치 패널 기기의 포트에 -bk 접미사가 있어야 합니다.
  • 패치 패널 전면에서 '가상' 외부 기기로 연결되는 케이블 1개
    • 36,kb-ab-ppl01,c4-smf-port1-ft,41,ext-kb-ab-aggsw01,Eth1/31,(1) R8T17A + (1) R8S79A,(1) QSFP-100G-CWDM4-S + (1) F92ERQ1Q1SNM001,1 meter,,SMF,flag,Right,Link to Customer Border 05 (100G),front,kb-ab-ppl01:c4-smf-port1-ft<>ext-kb-ab-aggsw01:Eth1/31
    • 이 연결의 경우 패치 패널 기기의 포트는 첫 번째 연결의 포트와 동일해야 하지만 -bk 접미사 대신 -ft 접미사가 있어야 합니다.
    • 이 연결의 경우 '가상' 외부 기기의 이름은 ext-<name-of-originating-switch> 패턴을 따라야 합니다.
    • 이 연결의 경우 '가상' 외부 기기의 포트가 스위치의 원래 포트와 일치해야 합니다.

필요한 업링크 연결의 총수를 세고 cables.csv 입력 파일에 테두리 리프 스위치와 관리 집계 스위치 모두에 필요한 모든 업링크 연결의 케이블 사양이 포함되어 있는지 확인합니다.

새 업링크 연결을 추가해야 하는 경우 다음 단계를 따르세요.

  1. 패치 패널에서 사용하지 않는 포트를 찾습니다.
  2. 필요한 업링크 연결에 새 케이블 사양을 추가합니다.
  3. 새 업링크 연결을 위해 Distributed Cloud 인스턴스에 새 케이블을 설치합니다.

7.1.3. ciq.yaml

ciq.yaml 파일에는 Distributed Cloud 인스턴스를 구성하는 데 필요한 모든 고객 환경 세부정보가 포함되어 있습니다. 파일과 예상 형식에 대한 자세한 내용은 ciq.yaml 문서를 참고하세요.

7.1.4. secrets.yaml

secrets.yaml에는 Distributed Cloud 인스턴스 보안 비밀이 포함되어 있습니다. 위의 입력을 사용하여 초기 secrets.yaml 파일 템플릿을 생성합니다.

gdcloud system assets generate-secrets-template \
  --devices ./devices.csv \
  --cables ./cables.csv \
  --ciq ./ciq.yaml \
  --output ./secrets.yaml

secrets.yaml를 업데이트하여 모든 TO-BE-FILLED 값을 각 기기에 사용할 비밀번호로 바꿔야 합니다. 8자 이상의 비밀번호로 보안을 유지하세요.

7.1.5. licenses/

licenses/ 디렉터리에는 Distributed Cloud 인스턴스의 하드웨어 및 소프트웨어 인프라 구성요소의 모든 라이선스가 포함되어 있습니다. 디렉터리 및 예상 형식에 대한 자세한 설명은 라이선스 문서를 참고하세요.

7.1.6. cellconfig 만들기

앞의 입력을 모두 사용하여 cellconfig를 만듭니다.

gdcloud system assets create \
  --devices ./devices.csv \
  --cables ./cables.csv \
  --ciq ./ciq.yaml \
  --license-dir ./licenses/ \
  --secrets secrets.yaml \
  --output ./output

자세한 내용은 INV-E1001 또는 관련 오류 코드 런북을 참고하세요.

잘못된 스위치에 문제가 없는지 확인하려면 다음을 실행하세요.

gdcloud system preinstall install --config <cellcfg> --config-file-only

7.2. 잠재적 문제

7.2.1. 셀 구성의 셀 ID에 주의

요약: devices.csv 또는 cables.csv에 잘못된 셀 식별자가 있는 경우가 있어 생성된 셀 구성 파일에 잘못된 리소스 이름이 포함됩니다.

해결 방법: 셀 구성 파일을 확인하여 리소스 이름의 접두사가 예상되는 접두사와 일치하는지 확인합니다.

예: 셀 식별자가 ai이면 모든 리소스 이름이 ai-로 시작해야 합니다. 일부 파일의 접두사가 다른 경우 사전에 해결해야 하는 문제입니다.

7.2.2. 방화벽 MAC 주소가 누락됨

요약: HPE에서 수신한 devices.csv 파일에 Palo Alto 방화벽의 MAC 주소가 누락되어 있습니다.

해결 방법:

처음인 경우 기본 사용자 인증 정보로 Palo Alto 어플라이언스에 액세스합니다.

사용자 인증 정보가 제공되지 않으면 이 Palo Alto 가이드에 따라 사용자 인증 정보를 설정하세요.

액세스한 후 다음 명령어를 실행하여 어플라이언스의 MAC 주소를 가져오고 devices.csv 파일의 nic3mac 열에 추가합니다.

show system info

7.2.3. HSM MAC 주소가 누락됨

요약: HPE에서 수신한 devices.csv 파일에 HSM 기기의 MAC 주소가 누락되어 있습니다.

해결 방법 (각 HSM 기기):

  1. 직렬 콘솔을 통해 기기에 로그인합니다.

  2. 관리 네트워크 인터페이스의 MAC 주소를 확인합니다.

    ip -brief link \
        | grep --color=never '^e' \
        | grep -v DOWN \
        | grep -o -E --color=none '([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}' \
        | grep -vf <(nmcli \
            | grep i40e \
            | cut -d "," -f 2 \
            | sed -e 's/^[[:space:]]*//' \
            | sed 's/[A-Z]/\L&/g'))
    

    다음 예시는 명령어를 실행한 후 획득한 샘플 MAC 주소의 출력을 보여줍니다.

    ksadmin@ciphertrust:~$ ip -brief link \
        | grep --color=never '^e' \
        | grep -v DOWN \
        | grep -o -E --color=none '([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}' \
        | grep -vf <(nmcli \
            | grep i40e \
            | cut -d "," -f 2 \
            | sed -e 's/^[[:space:]]*//' \
            | sed 's/[A-Z]/\L&/g'))
    00:15:b2:b0:3e:80
    
  3. devices.csv를 수정하고 기기의 nic3mac 열에 관리 MAC 주소를 입력합니다.

  4. devices.csv를 수정하고 기기의 nic3_MGMT_port_name 열에 mgmt0을 입력합니다.

  5. 첫 번째 데이터 플레인 네트워크 인터페이스의 MAC 주소를 식별합니다.

    export DATA0_MAC=$(nmcli | grep i40e | cut -d "," -f 4 \
      | sed 's/port//g' \
      | sed -e 's/^[[:space:]]*//' \
      | sed 's/[A-Z]/\L&/g' \
      | sed 's/.\{2\}/&:/g' \
      | sed 's/:$//g' \
      | sort | head -1); echo ${DATA0_MAC}
    
  6. devices.csv를 수정하고 기기의 nic1mac 열에 DATA0_MAC 주소를 입력합니다.

  7. devices.csv를 수정하고 기기의 nic1_Data1_port_name 열에 data0을 입력합니다.

  8. 두 번째 데이터 플레인 네트워크 인터페이스의 MAC 주소를 확인합니다.

    export DATA1_MAC=$(nmcli | grep i40e | cut -d "," -f 4 \
      | sed 's/port//g' \
      | sed -e 's/^[[:space:]]*//' \
      | sed 's/[A-Z]/\L&/g' \
      | sed 's/.\{2\}/&:/g' \
      | sed 's/:$//g' \
      | sort | tail -1); echo ${DATA1_MAC}
    
  9. devices.csv를 수정하고 기기의 nic2mac 열에 DATA1_MAC 주소를 입력합니다.

  10. devices.csv를 수정하고 기기의 nic2_Data2_port_name 열에 data1을 입력합니다.

7.2.4. 객체 스토리지의 일련번호가 누락됨

요약: HPE에서 받은 devices.csv 파일에 객체 스토리지 어플라이언스의 일련번호가 누락되어 있습니다.

해결 방법: 구성을 생성할 때 serial number () should be alphanumeric during cellcfg validation와 유사한 오류가 표시되고 xx-ac-objs0n 유형의 기기를 참조하는 경우 기기의 일련번호를 복구해야 합니다. 기기 상단에 있는 인쇄된 슬라이드 아웃 라벨에서 확인할 수 있습니다. 일련번호는 devices.csv 파일의 serial_number 열에 입력해야 합니다.