为 Ayatori 容器固定静态地址并发布 AD DNS
- dev 192.168.10.11、prod 192.168.10.12,位于 NEC IX DHCP 池之外 - 地址仅在 records.yml 声明一次,netplan 与 Samba DNS 同源读取 - 容器内禁用 cloud-init 网络模块,避免重启后回到 DHCP - dns.yml 扩展到 ayatori-dev / ayatori-prod 两条 A 记录 Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -1,21 +1,23 @@
|
||||
---
|
||||
- name: 仅协调 Incus 的 AD DNS 记录
|
||||
- name: 仅协调 Incus 与 Ayatori 容器的 AD DNS 记录
|
||||
hosts: samba_dc
|
||||
become: true
|
||||
gather_facts: false
|
||||
vars:
|
||||
incus_dns_names: [incus, ayatori-dev, ayatori-prod]
|
||||
vars_files:
|
||||
- ../../dns/records.yml
|
||||
- ../../samba-ad/ansible/group_vars/all/vars.yml
|
||||
tasks:
|
||||
- name: 从共享清单选择 Incus RRset
|
||||
- name: 从共享清单选择 Incus 相关 RRset
|
||||
ansible.builtin.set_fact:
|
||||
incus_dns_records: "{{ homelab_dns.samba.records | selectattr('name', 'equalto', 'incus') | selectattr('zone', 'equalto', 'ad.ddupan.top') | list }}"
|
||||
- name: 确认只有一个受管 A 记录
|
||||
incus_dns_records: "{{ homelab_dns.samba.records | selectattr('name', 'in', incus_dns_names) | selectattr('zone', 'equalto', 'ad.ddupan.top') | list }}"
|
||||
- name: 确认每个名称恰有一个受管 A 记录
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- incus_dns_records | length == 1
|
||||
- incus_dns_records[0].type == 'A'
|
||||
- name: 协调 Incus A 记录
|
||||
- incus_dns_records | length == incus_dns_names | length
|
||||
- incus_dns_records | map(attribute='type') | unique == ['A']
|
||||
- name: 协调 A 记录
|
||||
ddupan.homelab.samba_dns_record:
|
||||
server: "{{ samba_ad_dc_ip }}"
|
||||
zone: "{{ item.zone }}"
|
||||
|
||||
Reference in New Issue
Block a user