I have a playbook to create a container:
- name: Create LXD Container #1
become: True
lxd_container:
name: "{{ lxc_CT_NAME }}"
state: started
source:
type: image
mode: pull
server: "{{ lxc_image_source }}"
protocol: simplestreams
alias: "{{ lxc_container_distro }}"
profiles: "{{ lxc_profiles }}"
wait_for_ipv4_addresses: true
timeout: 10
when: lxc_lxd_host is defined
register: container_created
After creating my containers has configaration file /etc/netplan/50-cloud-init.yaml as:
network:
version: 2
ethernets:
eth0:
dhcp4: true
My goal, edit this file in LXC container, and add new configuration:
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.100.119/24
gateway4: 192.168.100.11
mtu: 1400
nameservers:
addresses:
- 208.**.222.***
- 208.**.***.220
I tried to use module container_command:
and container_config:
but can not understand exactly code of this modules.
Could you please help with advice, how to edit file into LXC container using Ansible? Thank you!
One way is to add the information to cloud-init to configure the container:
- name: Create LXD Container #1
become: True
lxd_container:
name: "{{ lxc_CT_NAME }}"
state: started
source:
type: image
mode: pull
server: "{{ lxc_image_source }}"
protocol: simplestreams
alias: "{{ lxc_container_distro }}"
profiles: "{{ lxc_profiles }}"
config:
user.network-config: |
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
dhcp6: false
addresses:
- 192.168.100.119/24
routes:
- to: 0.0.0.0/24
via: 192.168.100.11
nameservers:
search:
- example.org (YOUR-DOMAIN-SUFFIX)
addresses:
- 192.168.100.1 (YOUR-DNS-SERVER)
wait_for_ipv4_addresses: true
timeout: 10
when: lxc_lxd_host is defined
register: container_created
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.