이 섹션에서는 Cloud-init 패키지를 사용하여 인스턴스 이른 초기화를 처리하는 방법을 설명합니다.

Cloud-init 정보

Cloud-init는 인스턴스의 이른 초기화를 처리하는 Linux 패키지입니다. 배포에서 사용가능한 경우 설치 후 바로 인스턴스의 여러 공통 매개 변수를 구성할 수 있습니다. 이렇게 하면 일련의 입력을 기준으로 구성된 전 기능 인스턴스가 생성됩니다.

Cloud-init 동작은 user-data를 통해 구성할 수 있습니다. user-data는 인스턴스 실행 시 사용자가 지정할 수 있습니다. 이 작업은 일반적으로 Cloud-init가 첫 번째 부팅 시에 찾게 되는 ISO 형식의 보조 디스크를 연결하여 수행합니다. 이 디스크에는 해당 시점에 적용되는 모든 초기 구성 데이터가 포함되어 있습니다.

SD-WAN Orchestrator는 Cloud-init를 지원하며 모든 필수 구성은 ISO 이미지에 패키지할 수 있습니다.

Cloud-init 메타데이터 파일 생성

최종 설치 구성 옵션은 한 쌍의 Cloud-init 구성 파일을 사용하여 설정됩니다. 첫 번째 설치 구성 파일에는 메타데이터가 포함되어 있습니다. 텍스트 편집기를 사용하여 이 파일을 생성하고 meta-data로 레이블을 지정합니다. 이 파일은 설치 중인 SD-WAN Orchestrator 인스턴스를 식별하는 정보를 제공합니다. instance-id는 식별 가능한 이름이 될 수 있으며 local-hostname은 사이트 표준을 따르는 다음과 같은 호스트 이름이어야 합니다.

instance-id: vco01
local-hostname: vco-01

또한 네트워크 인터페이스 정보(예: DHCP를 통해 네트워크가 구성되지 않음)를 지정할 수 있습니다.

instance-id: vco01
local-hostname: vco-01
network-interfaces: |
  auto eth0
  iface eth0 inet static
  address 10.0.1.2
  network 10.0.1.0
  netmask 255.255.255.0
  broadcast 10.0.1.255
  gateway 10.0.1.1

Cloud-init user-data 파일 생성

두 번째 설치 구성 옵션 파일은 사용자 데이터 파일입니다. 이 파일은 시스템의 사용자에 대한 정보를 제공합니다. 텍스트 편집기를 사용하여 이 파일을 생성하고 user-data로 지정합니다. 이 파일은 SD-WAN Orchestrator 설치에 대한 액세스를 사용하도록 설정하는 데 사용됩니다.  다음은 user-data 파일의 예입니다.

#cloud-config 
            password: Velocloud123 
            chpasswd: {expire: False} 
            ssh_pwauth: True 
            ssh_authorized_keys:
              - ssh-rsa AAA...SDvz user1@yourdomain.com
              - ssh-rsa AAB...QTuo user2@yourdomain.com
            vco:
              super_users:
                list: |
                  user1@yourdomain.com:password1
                remove_default_users: True
              system_properties:
                 list: |
                    mail.smtp.port:34
                    mail.smtp.host:smtp.yourdomain.com
                    service.maxmind.enable:True
                    service.maxmind.license:todo_license
                    service.maxmind.userid:todo_user
                    service.twilio.phoneNumber:222123123
                    network.public.address:222123123
            write_files:
               - path: /etc/nginx/velocloud/ssl/server.crt
                 permissions: '0644'
                 content: "-----BEGIN CERTIFICATE-----\nMI….ow==\n-----END CERTIFICATE-----\n"
               - path: /etc/nginx/velocloud/ssl/server.key
                 permissions: '0600'
                 content: "-----BEGIN RSA PRIVATE KEY-----\nMII...D/JQ==\n-----END RSA PRIVATE KEY-----\n" 
               - path: /etc/nginx/velocloud/ssl/velocloudCA.crt
user-data 파일은 기본 사용자인 vcadmin이 암호 또는 SSH 키를 사용하여 로그인할 수 있도록 합니다. 두 방법을 사용할 수 있지만 필수는 아닙니다. 암호 로그인은 passwordchpasswd 줄에서 사용하도록 설정합니다.
  • password에는 vcadmin 사용자에 대한 일반 텍스트 암호가 포함되어 있습니다.
  • chpasswd 줄은 암호 만료를 해제하여 첫 번째 로그인 시 암호 변경 여부를 묻는 메시지가 표시되지 않도록 합니다. 이것은 선택 사항입니다.
참고: 암호를 설정한 경우 암호가 일반 텍스트 파일에 저장되므로 처음 로그인할 때 암호를 변경하는 것이 좋습니다.

ssh_pwauth 줄은 SSH 로그인을 사용하도록 설정합니다. ssh_authorized_keys 줄은 하나 이상의 인증 키 블록을 시작합니다. ssh-rsa 줄에 나열된 각 공용 SSH 키가 vcadmin ~/.ssh/authorized_keys 파일에 추가됩니다.

이 예에서는 두 개의 키가 나열되어 있습니다. 이 예에서는 키가 잘렸습니다. 실제 파일에는 전체 공용 키가 나열되어야 합니다. ssh-rsa 줄 앞에는 공백 2개, 하이픈 1개, 다른 공백이 차례로 나와야 합니다.

vco 섹션은 구성된 SD-WAN Orchestrator 서비스를 지정합니다.

super_users에는 VMware 슈퍼 운영자 계정 및 해당 암호 목록이 포함되어 있습니다.

system_properties 섹션에서는 Orchestrator 시스템 속성을 사용자 지정할 수 있습니다. 시스템 속성 구성에 대한 자세한 내용은 시스템 속성을 참조하십시오.

write_files 섹션에서는 시스템의 파일을 교체할 수 있습니다. 기본적으로 SD-WAN Orchestrator 웹 서비스는 자체 서명된 SSL 인증서를 사용하여 구성됩니다. 다른 SSL 인증서를 제공하려는 경우 위 예에서는 /etc/nginx/velocloud/ssl/ 폴더의 server.crtserver.key 파일을 사용자 제공 파일로 바꿉니다.
참고: server.key 파일은 암호화되지 않아야 합니다. 암호화되면 키 암호가 없을 경우 서비스가 시작되지 않습니다.

ISO 파일 생성

파일을 완료한 후에는 ISO 이미지로 패키지해야 합니다. 이 ISO 이미지는 가상 시스템을 포함하는 가상 구성 CD로 사용됩니다. vco01-cidata.iso라고 하는 이 ISO 이미지는 Linux 시스템에서 다음 명령을 사용하여 생성됩니다.

genisoimage -output vco01-cidata.iso -volid cidata -joliet -rock user-data meta-data

새로 생성된 ISO 이미지를 VMware를 실행하는 호스트의 데이터스토어로 전송합니다.