7.4.2.3.4. 명령줄을 사용하여 동적 키 삽입 활성화
명령줄을 사용하여 VM(가상 머신)에 동적 키 삽입을 활성화할 수 있습니다. 그런 다음 런타임 시 공용 SSH 키를 업데이트할 수 있습니다.
참고
RHEL(Red Hat Enterprise Linux) 9만 동적 키 삽입을 지원합니다.
키는 RHEL 9와 함께 자동으로 설치되는 QEMU 게스트 에이전트에 의해 VM에 추가됩니다.
사전 요구 사항
-
ssh-keygen명령을 실행하여 SSH 키 쌍을 생성했습니다.
프로세스
VirtualMachine오브젝트 및Secret오브젝트에 대한 매니페스트 파일을 생성합니다.매니페스트 예
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: example-vm namespace: example-namespace spec: dataVolumeTemplates: - metadata: name: example-vm-volume spec: sourceRef: kind: DataSource name: rhel9 namespace: openshift-virtualization-os-images storage: resources: {} instancetype: name: u1.medium preference: name: rhel.9 running: true template: spec: domain: devices: {} volumes: - dataVolume: name: example-vm-volume name: rootdisk - cloudInitNoCloud:1 userData: |- #cloud-config runcmd: - [ setsebool, -P, virt_qemu_ga_manage_ssh, on ] name: cloudinitdisk accessCredentials: - sshPublicKey: propagationMethod: qemuGuestAgent: users: ["cloud-user"] source: secret: secretName: authorized-keys2 --- apiVersion: v1 kind: Secret metadata: name: authorized-keys data: key: c3NoLXJzYSB...3 다음 명령을 실행하여
VirtualMachine및Secret오브젝트를 생성합니다.$ oc create -f <manifest_file>.yaml다음 명령을 실행하여 VM을 시작합니다.
$ virtctl start vm example-vm -n example-namespace
검증
VM 구성을 가져옵니다.
$ oc describe vm example-vm -n example-namespace출력 예
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: example-vm namespace: example-namespace spec: template: spec: accessCredentials: - sshPublicKey: propagationMethod: qemuGuestAgent: users: ["cloud-user"] source: secret: secretName: authorized-keys # ...