kube-ovn 如何使用 dhcp dns

338 阅读2分钟

和 openstack ovn 一样,这个点,openstack ovn 那边的文档已经十分清楚了。所以拿来直接解释了:

OVN 支持 DHCP options

DHCP options 包含如下配置:

IP version 4

Option name / codeOVN value
arp-timeoutarp_cache_timeout
bootfile-namebootfile_name
classless-static-routeclassless_static_route
default-ttldefault_ttl
dns-serverdns_server
domain-namedomain_name
domain-searchdomain_search_list
ethernet-encapethernet_encap
ip-forward-enableip_forward_enable
lease-timelease_time
log-serverlog_server
lpr-serverlpr_server
ms-classless-static-routems_classless_static_route
mtumtu
netmasknetmask
nis-servernis_server
ntp-serverntp_server
path-prefixpath_prefix
policy-filterpolicy_filter
router-discoveryrouter_discovery
routerrouter
router-solicitationrouter_solicitation
server-idserver_id
server-ip-addresstftp_server_address
swap-serverswap_server
T1T1
T2T2
tcp-ttltcp_ttl
tcp-keepalivetcp_keepalive_interval
tftp-server-addresstftp_server_address
tftp-servertftp_server
wpadwpad
1netmask
3router
6dns_server
7log_server
9lpr_server
15domain_name
16swap_server
19ip_forward_enable
21policy_filter
23default_ttl
26mtu
31router_discovery
32router_solicitation
35arp_cache_timeout
36ethernet_encap
37tcp_ttl
38tcp_keepalive_interval
41nis_server
42ntp_server
51lease_time
54server_id
58T1
59T2
66tftp_server
67bootfile_name
119domain_search_list
121classless_static_route
150tftp_server_address
210path_prefix
249ms_classless_static_route
252wpad

IP version 6

Option name / codeOVN value
dns-serverdns_server
domain-searchdomain_search
ia-addria_addr
server-idserver_id
2server_id
5ia_addr
23dns_server
24domain_search

查看 OVN NB 数据库

查看 DHCP_Options 表

给 neutron port 添加 DHCP option :

$ openstack port set --extra-dhcp-option name='server-ip-address',value='10.0.0.1' b4c3f265-369e-4bf5-8789-7caa9a1efb9c

查看设置后的详情:

$ ovn-nbctl find Logical_Switch_Port name=b4c3f265-369e-4bf5-8789-7caa9a1efb9c
...
dhcpv4_options      : 5f00d1a2-c57d-4d1f-83ea-09bf8be13288
dhcpv6_options      : []
...

下面看到的是 dhcpv4_options 

$ ovn-nbctl list DHCP_Options 5f00d1a2-c57d-4d1f-83ea-09bf8be13288
_uuid               : 5f00d1a2-c57d-4d1f-83ea-09bf8be13288
cidr                : "10.0.0.0/26"
external_ids        : {"neutron:revision_number"="0", port_id="b4c3f265-369e-4bf5-8789-7caa9a1efb9c", subnet_id="5157ed8b-e7f1-4c56-b789-fa420098a687"}
options             : {classless_static_route="{169.254.169.254/32,10.0.0.2, 0.0.0.0/0,10.0.0.1}", dns_server="{8.8.8.8}", domain_name=""openstackgate.local"", lease_time="43200", log_server="127.0.0.3", mtu="1442", router="10.0.0.1", server_id="10.0.0.1", server_mac="fa:16:3e:dc:57:22", tftp_server_address="10.0.0.1"}

可以看到 tftp_server_address 就是 server-ip-address (option 150). Take a look at the table in this document to find out more about the supported options and their counterpart names in OVN.

参考: docs.openstack.org/neutron/lat…