Я пытаюсь использовать CloudInit для раскрутки виртуальных машин в среде гипервизора KVM.
Я загрузил образ Ubuntu 18.04 и создал следующий файл конфигурации:
#cloud-config
package_upgrade: true
users:
- name: <your_user>
groups: wheel
lock_passwd: false
passwd: <your_passord_hash>
shell: /bin/bash
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh-authorized-keys:
- <your_public_ssh_key>
Я могу развернуть виртуальную машину и войти в систему через консоль.
Я осмотрелся, но не нашел никакой информации о том, как настроить мою сеть
интерфейсы, IP-адреса и т. д.
Я не мог понять документы CloudInit.
Любые ссылки или советы будут оценены.
Хорошо, вот как я это решил
для образа Ubuntu вы можете использовать файл netplan, расположенный в /etc/netplan/SOMEFILE.yaml
для centos я заметил, что у изображения нет плана сети, поэтому я просто написал файлы интерфейса в своей конфигурации
используйте write_files для создания файла netplan в ubuntu и файлов интерфейса в centos
после этого используйте runcmd для инициализации интерфейсов, выполнив соответствующие команды
вот мои файлы config.yaml для ubuntu и centos соответственно
#cloud-config
package_upgrade: true
users:
- name: USER
groups: wheel
lock_passwd: false
passwd: PASSWORD_HASH
shell: /bin/bash
ssh_pwauth: true
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh-authorized-keys:
- ssh-rsa YOUR_KEY
write_files:
- path: /etc/netplan/50-cloud-init.yaml
permissions: '0644'
content: |
network:
version: 2
renderer: networkd
ethernets:
ens3:
addresses: [IP/SUBNET]
routes:
- to: NETWORK
via: NEXT_HOP
ens4:
addresses: [IP/SUBNET]
gateway4: GATEWAY
nameservers:
addresses: [DNS]
runcmd:
- [sudo, ifconfig, IFNAME, up]
- [sudo, ifconfig, IFNAME, up]
- [sudo, netplan, generate]
- [sudo, netplan, apply]
- [sudo, sed ,-i, 's/PasswordAuthentication no/PasswordAuthentication yes/g', /etc/ssh/sshd_config]
- [sudo, systemctl, restart, sshd]
#cloud-config
package_upgrade: true
users:
- name: USER
groups: wheel
lock_passwd: false
passwd: PASSWORD_HASH
shell: /bin/bash
ssh_pwauth: true
sudo: ['ALL=(ALL) NOPASSWD:ALL']
ssh-authorized-keys:
- ssh-rsa YOUT_KEY
write_files:
- path: /etc/sysconfig/network-scripts/ifcfg-INTERFACE
permissions: '0644'
content: |
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
IPV4_FAILURE_FATAL="no"
NAME="INTERFACE"
DEVICE="INTERFACE"
ONBOOT="yes"
IPADDR="IP"
PREFIX="PREFIX"
GATEWAY="GATEWAY"
DNS1="DNS"
ZONE=ZONE
- path: /etc/sysconfig/network-scripts/ifcfg-INTERFACE
permissions: '0644'
content: |
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
NAME=INTERFACE
DEVICE=INTERFACE
ONBOOT=yes
IPADDR=IP
PREFIX=PREFIX
IPV6_PRIVACY=no
ZONE=ZONE
runcmd:
- [sudo, ifup, INTERFACE]
- [sudo, ifup, INTERFACE]
- [sudo, sed ,-i, 's/PasswordAuthentication no/PasswordAuthentication yes/g', /etc/ssh/sshd_config]
- [sudo, systemctl, restart, sshd]