반응형
오늘은 Kubernetes의 Kubevirt를 이용하여 vm을 생성시에
사용되는 sample yaml을 포스팅 하려고 합니다.
vm.yaml안에 사용할 수 있는 여러 기능들을 정의하였습니다.
vm sample yaml는 다음과 같습니다.
// vm.yaml
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
name: ubuntu
spec:
running: false
template:
metadata:
labels:
kubevirt.io/size: small
kubevirt.io/domain: ubuntu
spec:
domain:
cpu:
cores: 2
devices:
disks:
- name: containervolume
disk:
bus: virtio
- name: cloudinitvolume
disk:
bus: virtio
interfaces:
- name: default
bridge: {}
resources:
requests:
memory: 2048M
networks:
- name: default
pod: {}
volumes:
- name: containervolume
containerDisk:
image: tedezed/ubuntu-container-disk:20.0
- name: cloudinitvolume
cloudInitNoCloud:
userData: |-
#cloud-config
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1 ...
ssh_pwauth: True
disable_root: false
bootcmd:
#!/bin/bash
- "touch /aaa.txt"
runcmd:
- "touch /bbb.txt"
chpasswd:
list: |
ubuntu:ubuntu
root:toor
expire: False
vm의 OS image는 다음 링크를 통해 centos, ubuntu, fedora등의 os image를 사용할 수 있습니다.
https://github.com/Tedezed/kubevirt-images-generator
ssh_authorized_keys를 통해 현재 서버에서 생성한 ssh_pub_key 값을 입력하여
virtctl console을 사용하지 않고 ssh로 연결할 수 있습니다.
bootcmd, runcmd를 통해 vm이 실행될때 정의된 shell 명령어를 입력되도록 할 수 있습니다.
chpasswd를 통해 vm에 OS 계정 아이디, 패스워드를 생성할 수 있습니다.
지금까지 Kubernetes Kubevirt vm sample yaml에 대한 포스팅 이었습니다.
반응형
'Develope > Kubernetes' 카테고리의 다른 글
[Kubernetes] kubevirt uploadproxy unexpected return value 502 에러 해결 방법 (0) | 2022.07.10 |
---|---|
[Kubernetes] VirtualBox Node INTERNAL-IP 설정 방법 (2) | 2022.07.07 |
[Kubernetes] Unable to read config path err="path does not exist, ignoring" path="/etc/kubernetes/manifests" 해결 방법 (0) | 2022.07.05 |
[Kubernetes] Kubevirt 환경설정 및 vm 생성하기 (0) | 2022.06.10 |
[Kubernetes] 쿠버네티스 설치 및 환경구성(CentOS 7.9) (3) | 2022.04.13 |