[英]How to edit /etc/netplan/50-cloud-init.yaml with Ansible in LXC 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
創建我的容器后,配置文件 /etc/netplan/50-cloud-init.yaml 為:
network:
version: 2
ethernets:
eth0:
dhcp4: true
我的目標是在 LXC 容器中編輯此文件,並添加新配置:
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
我嘗試使用模塊container_command:
和container_config:
但無法准確理解此模塊的代碼。
您能否提供建議,如何使用 Ansible 將文件編輯到 LXC 容器中? 謝謝!
一種方法是將信息添加到 cloud-init 以配置容器:
- 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.