조직 리소스 관리

Google Distributed Cloud (GDC) 에어갭의 인프라 운영자 (IO)로서 시스템 상태를 확인하고, 사용자 및 네트워크를 구성하고, 컴퓨팅, 스토리지, 네트워킹과 같은 기본 하드웨어 시스템의 수명 주기를 관리합니다.

시작하기 전에

이 문서를 완료하려면 다음 리소스에 대해 액세스 권한이 필요합니다.

  • gdcloud CLI 또는 kubectl CLI

  • Linux 환경

조직을 관리하는 데 필요한 권한을 얻으려면 보안 관리자에게 조직 관리자 (organization-admin) 역할을 부여해 달라고 요청하세요.

서버 액세스 및 모니터링

GDC 서버에 액세스하고 상태를 모니터링하여 안전하고 최신 상태이며 작동하는지 확인합니다.

조직의 서버 모니터링에 대한 자세한 내용은 측정항목 쿼리 및 보기 페이지를 참고하세요.

서버 수명 주기 관리

서버 수명 주기 관리에는 다음 기능이 포함됩니다.

  • 전원을 껐다가 다시 켜거나 재부팅합니다.
  • 이미지 재처리 중
  • 베이스보드 관리 컨트롤러 (BMC) 및 복잡한 프로그래밍 가능 논리 장치(CPLD) 펌웨어 업데이트
  • 운영체제 또는 소프트웨어 업데이트
  • 보안 설정과 같은 운영체제 구성

기본 운영체제 보안 패치, 서버 호스트 소프트웨어 번들 업그레이드, 서버 펌웨어 업그레이드는 유지보수 기간 중에 정기적으로 실행됩니다.

유지보수 기간에는 다음 작업이 포함됩니다.

  • 서버 운영체제에 긴급 보안 업데이트를 설치합니다.
  • 하나 이상의 서버에서 호스트 소프트웨어 번들을 업그레이드합니다.
  • 하나 이상의 서버에서 펌웨어를 업그레이드합니다.

워크로드 서버 추가 및 관리

워크로드 서버를 추가하거나 기존 워크로드 서버를 관리하려면 iac 저장소에 저장된 OrganizationZonalConfig 커스텀 리소스를 업데이트합니다.

  1. 사용 가능한 서버 및 서버 유형 목록을 생성합니다.

    kubectl get servers -n gpc-system -o \
        jsonpath='{range .items[?(@.status.bareMetalHostStatus.provisionState=="available")]}{.metadata.name}{"\t"}{.spec.serverHardware.machineClassName}{"\t"}{.status.bareMetalHostStatus.provisionState}{"\n"}{end}'
    

    결과는 다음과 유사합니다.

    ag-aa-bm04   o1-standard1-64-gdc-metal   available
    ag-ab-bm07   o1-standard1-64-gdc-metal   available
    ag-ab-bm11   o1-highmem1-96-gdc-metal    available
    ag-ab-bm12   o1-highmem1-96-gdc-metal    available
    ag-ab-bm13   o1-highmem1-96-gdc-metal    available
    ag-ab-bm14   o1-highgpu1-48-gdc-metal    available
    ag-ab-bm15   o1-highgpu1-48-gdc-metal    available
    ag-ab-bm16   o1-highgpu1-48-gdc-metal    available
    

    사용 가능한 서버를 확인하고 조직의 워크로드 서버를 수정할 때 사용 가능한 서버만 할당해야 합니다.

  2. iac 저장소에서 OrganizationZonalConfig 커스텀 리소스 YAML 파일을 엽니다.

    vim IAC_REPO_PATH/iac/infrastructure/global/orgs/root/ORG_NAME-ZONE.yaml
    

    다음을 바꿉니다.

    • IAC_REPO_PATH: iac 저장소의 폴더 경로입니다.
    • ORG_NAME: 조직 이름
    • ZONE: 유니버스의 영역 이름입니다. 영역 이름은 {generalRegion}-{regionQualifier}{regionCounter}-{zoneLetter} 형식을 사용하여 파생됩니다. 예를 들면 us-central1-b입니다. 지역 속성 값에 대한 설명은 고객 접수 설문지의 지역 섹션을 참고하세요.
  3. YAML 파일의 workloadServers 섹션을 업데이트합니다. 새 워크로드 서버를 추가하거나 각 유형의 기존 서버 수를 관리합니다.

    ...
    workloadServers:
      o1-highmem1-40-gdc-metal: 1
      o1-standard1-64-gdc-metal: 2
      o1-highmem1-96-gdc-metal: 3
      o1-highmem1-104-gdc-metal: 4
      o1-highmem1-448-gdc-metal: 5
      o1-highgpu1-48-gdc-metal: 6
    ...
    
  4. 대화형 편집기를 저장하고 닫습니다.

  5. 조직 영역 구성 YAML 파일의 변경사항을 스테이징하고 커밋합니다.

    git add IAC_REPO_PATH/iac/infrastructure/global/orgs/root/ORG_NAME-ZONE
    git commit
    
  6. GitLab에 업데이트를 푸시합니다.

    git -c http.sslVerify=false push
    
  7. 코드 검토 및 병합을 기다립니다.

  8. Distributed Cloud 배포의 모든 Distributed Cloud 영역의 모든 GitLab 저장소에 대해 동일한 콘텐츠와 디렉터리 구조로 이러한 단계를 반복합니다.

    Distributed Cloud 배포에서 각 영역에는 연결이 끊긴 개별 GitLab 인스턴스가 포함됩니다. GitLab에서 생성, 업데이트 또는 삭제된 모든 전역 리소스에 대해 각 영역의 GitLab 저장소에 정확히 동일한 콘텐츠를 커밋해야 합니다. 전역 루트 조정자 포드는 전역 API의 zoneselectionresult 커스텀 리소스의 primary 필드에 정의된 기본 Distributed Cloud 영역에서 실행됩니다. 조정자는 기본 영역의 GitLab에서 글로벌 API로 데이터를 동기화합니다.

  9. 할당한 워크로드 서버를 사용할 수 있는지 확인합니다.

    kubectl --kubeconfig /root/release/root-admin/root-admin-kubeconfig get servers -n gpc-system -o \
        jsonpath='{range .items[?(@.spec.nodePoolClaimRef.namespace=="org-1")]}{.metadata.name}{"\t"}{.status.provisionReady}{"\n"}{end}'
    

    워크로드 서버가 true로 설정된 경우 사용할 수 있습니다. 출력은 다음과 비슷합니다.

    zi-aa-bm04      true
    zi-aa-bm05      true
    zi-aa-bm06      true
    

저장용량 확장

영역에서 각 조직에 사용할 수 있는 스토리지 양은 OrganizationZonalConfig 리소스의 capacities 필드에 정의되어 있습니다.

이러한 스토리지 클래스의 할당량을 늘리려면 각 영역에서 OrganizationZonalConfig 리소스를 업데이트하세요.

  1. iac 저장소에서 OrganizationZonalConfig 커스텀 리소스 YAML 파일을 엽니다.

    vim IAC_REPO_PATH/iac/infrastructure/global/orgs/root/ORG_NAME-ZONE.yaml
    

    다음을 바꿉니다.

    • IAC_REPO_PATH: iac 저장소의 폴더 경로입니다.
    • ORG_NAME: 조직 이름
    • ZONE: 유니버스의 영역 이름입니다(예: us-central1-b). 지역 속성 값에 대한 자세한 내용은 고객 접수 설문지의 지역 섹션을 참고하세요.
  2. 스토리지 유형의 새 할당량 값으로 YAML 파일의 capacities 섹션을 업데이트합니다. 예를 들면 다음과 같습니다.

    # Several lines of code are omitted here.
    spec:
      capacities:
        storage:
          file-standard: FILE_QUOTA
          block-standard: BLOCK_QUOTA
          object-standard: OBJECT_QUOTA
    

    다음을 바꿉니다.

    • FILE_QUOTA: 영역의 파일 스토리지에 대한 새 할당량 값입니다(예: 10Ti).
    • BLOCK_QUOTA: 영역의 블록 스토리지에 대한 새 할당량 값입니다(예: 10Ti).
    • OBJECT_QUOTA: 영역의 객체 스토리지에 대한 새 할당량 값입니다(예: 10Ti).

    OrganizationZonalConfig 리소스 내에서 스토리지 용량을 정의하는 방법에 대한 자세한 내용은 TypedResourceCapacities 참고 문서를 참고하세요.

  3. 대화형 편집기를 저장하고 닫습니다.

  4. 조직 영역 구성 YAML 파일의 변경사항을 스테이징하고 커밋합니다.

    git add IAC_REPO_PATH/iac/infrastructure/global/orgs/root/ORG_NAME-ZONE
    git commit
    
  5. GitLab에 업데이트를 푸시합니다.

    git -c http.sslVerify=false push
    
  6. 코드 검토 및 병합을 기다립니다.

  7. GDC 배포의 모든 GDC 영역에 있는 모든 GitLab 저장소에 대해 동일한 콘텐츠와 디렉터리 구조로 위 단계를 반복합니다.