9.3. cloud-init를 사용하여 VMDK 이미지에 대한 사용자 생성


VM에 로그인하려면 사용자 계정을 생성해야 합니다. 이를 위해 CLI의 단계를 수행합니다.

참고

GUI 마법사는 cloud-init 를 지원하지 않습니다.

사전 요구 사항

  • govc VMware CLI 도구 클라이언트를 구성하셨습니다.

    • govc VMware CLI 도구 클라이언트를 사용하려면 환경에서 다음 값을 설정해야 합니다.

      GOVC_URL
      GOVC_DATACENTER
      GOVC_FOLDER
      GOVC_DATASTORE
      GOVC_RESOURCE_POOL
      GOVC_NETWORK

절차

  1. .vmdk 이미지를 다운로드한 디렉터리에 액세스합니다.
  2. metadata.yaml 이라는 파일을 생성합니다. 이 파일에 다음 정보를 추가합니다.

    instance-id: cloud-vm
    local-hostname: vmname
  3. userdata.yaml 이라는 파일을 생성합니다. 파일에 다음 정보를 추가합니다.

    #cloud-config
    users
    - name: admin
      sudo: "ALL=(ALL) NOPASSWD:ALL"
      ssh_authorized_keys:
      - ssh-rsa AAA...fhHQ== your.email@example.com
    • ssh_authorized_keys 는 SSH 공개 키입니다. SSH 공개 키는 ~/.ssh/id_rsa.pub 에서 찾을 수 있습니다.
  4. metadata.yamluserdata.yaml 파일을 다음과 같이 base64 로 인코딩된 gzip 으로 압축한 환경으로 내보냅니다. 다음 단계에서 사용됩니다.

    export METADATA=$(gzip -c9 <metadata.yaml | { base64 -w0 2>/dev/null || base64; }) \
    USERDATA=$(gzip -c9 <userdata.yaml | { base64 -w0 2>/dev/null || base64; })
  5. metadata.yamluserdata.yaml 파일을 사용하여 vSphere에서 이미지를 시작합니다.

    1. .vmdk 이미지를 vSphere로 가져옵니다.

      $ govc import.vmdk ./composer-api.vmdk foldername
    2. VSphere에 전원을 끄지 않고 VM을 생성합니다.

      govc vm.create \
      -net.adapter=vmxnet3 \
      -m=4096 -c=2 -g=rhel8_64Guest \
      -firmware=bios -disk=”foldername/composer-api.vmdk” \
      -disk.controller=ide -on=false \
       vmname
    3. VM을 변경하여 ExtraConfig 변수인 cloud-init 구성을 추가합니다.

      govc vm.change -vm vmname \
      -e guestinfo.metadata="${METADATA}" \
      -e guestinfo.metadata.encoding="gzip+base64" \
      -e guestinfo.userdata="${USERDATA}" \
      -e guestinfo.userdata.encoding="gzip+base64"
    4. VM의 전원을 켭니다.

      govc vm.power -on vmname
    5. VM IP 주소를 검색합니다.

      HOST=$(govc vm.ip vmname)
    6. cloud-init 파일 구성에 지정된 user-data를 사용하여 VM에 SSH를 사용하여 로그인합니다.

      $ ssh admin@HOST
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.