feat(bootstrap): static ips and default ntp/dns servers (#1618)
This commit is contained in:
1 parent
48a7a16f90
commit
e5a7ba8da8
7 files changed
+32
-47
No files matched your search
@@ -12,7 +12,7 @@ cgroup:
|
|||||||
hostRoot: /sys/fs/cgroup
|
hostRoot: /sys/fs/cgroup
|
||||||
cluster:
|
cluster:
|
||||||
id: 1
|
id: 1
|
||||||
name: "#{ bootstrap_cluster_name|default('home-kubernetes', true) }#"
|
name: "#{ bootstrap_cluster_name | default('home-kubernetes', true) }#"
|
||||||
cni:
|
cni:
|
||||||
exclusive: false
|
exclusive: false
|
||||||
# NOTE: devices might need to be set if you have more than one active NIC on your hosts
|
# NOTE: devices might need to be set if you have more than one active NIC on your hosts
|
||||||
@@ -43,7 +43,7 @@ l2announcements:
|
|||||||
#% endif %#
|
#% endif %#
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
algorithm: maglev
|
algorithm: maglev
|
||||||
mode: "#{ bootstrap_loadbalancer_mode|default('dsr', true) }#"
|
mode: "#{ bootstrap_loadbalancer_mode | default('dsr', true) }#"
|
||||||
localRedirectPolicy: true
|
localRedirectPolicy: true
|
||||||
operator:
|
operator:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ spec:
|
|||||||
#% for item in bootstrap_bgp.peers %#
|
#% for item in bootstrap_bgp.peers %#
|
||||||
- peerAddress: "#{ item }#/32"
|
- peerAddress: "#{ item }#/32"
|
||||||
peerASN: #{ bootstrap_bgp.peer_asn }#
|
peerASN: #{ bootstrap_bgp.peer_asn }#
|
||||||
peerPort: #{ bootstrap_bgp.peer_port | default(179) }#
|
peerPort: #{ bootstrap_bgp.peer_port | default(179, true) }#
|
||||||
#% endfor %#
|
#% endfor %#
|
||||||
#% else %#
|
#% else %#
|
||||||
#% if bootstrap_node_default_gateway %#
|
#% if bootstrap_node_default_gateway %#
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
machine:
|
||||||
|
network:
|
||||||
|
nameservers:
|
||||||
|
#% for item in bootstrap_dns_servers | default(["1.1.1.1","1.0.0.1"], true) %#
|
||||||
|
- #{ item }#
|
||||||
|
#% endfor %#
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
machine:
|
||||||
|
time:
|
||||||
|
disabled: false
|
||||||
|
servers:
|
||||||
|
#% for item in bootstrap_ntp_servers | default(["time.cloudflare.com"], true) %#
|
||||||
|
- #{ item }#
|
||||||
|
#% endfor %#
|
||||||
@@ -36,9 +36,9 @@ nodes:
|
|||||||
#% if bootstrap_secureboot.enabled %#
|
#% if bootstrap_secureboot.enabled %#
|
||||||
machineSpec:
|
machineSpec:
|
||||||
secureboot: true
|
secureboot: true
|
||||||
talosImageURL: factory.talos.dev/installer-secureboot/#{ item.schematic_id | default(bootstrap_schematic_id) }#
|
talosImageURL: factory.talos.dev/installer-secureboot/#{ item.schematic_id | default(bootstrap_schematic_id, true) }#
|
||||||
#% else %#
|
#% else %#
|
||||||
talosImageURL: factory.talos.dev/installer/#{ item.schematic_id | default(bootstrap_schematic_id) }#
|
talosImageURL: factory.talos.dev/installer/#{ item.schematic_id | default(bootstrap_schematic_id, true) }#
|
||||||
#% endif %#
|
#% endif %#
|
||||||
controlPlane: #{ (item.controller) | string | lower }#
|
controlPlane: #{ (item.controller) | string | lower }#
|
||||||
networkInterfaces:
|
networkInterfaces:
|
||||||
@@ -49,7 +49,7 @@ nodes:
|
|||||||
- vlanId: #{ bootstrap_vlan }#
|
- vlanId: #{ bootstrap_vlan }#
|
||||||
addresses:
|
addresses:
|
||||||
- "#{ item.address }#/#{ bootstrap_node_network.split('/') | last }#"
|
- "#{ item.address }#/#{ bootstrap_node_network.split('/') | last }#"
|
||||||
mtu: #{ item.mtu | default(1500) }#
|
mtu: #{ item.mtu | default(1500, true) }#
|
||||||
routes:
|
routes:
|
||||||
- network: 0.0.0.0/0
|
- network: 0.0.0.0/0
|
||||||
#% if bootstrap_node_default_gateway %#
|
#% if bootstrap_node_default_gateway %#
|
||||||
@@ -62,7 +62,6 @@ nodes:
|
|||||||
ip: "#{ bootstrap_controller_vip }#"
|
ip: "#{ bootstrap_controller_vip }#"
|
||||||
#% endif %#
|
#% endif %#
|
||||||
#% else %#
|
#% else %#
|
||||||
#% if item.address %#
|
|
||||||
dhcp: false
|
dhcp: false
|
||||||
addresses:
|
addresses:
|
||||||
- "#{ item.address }#/#{ bootstrap_node_network.split('/') | last }#"
|
- "#{ item.address }#/#{ bootstrap_node_network.split('/') | last }#"
|
||||||
@@ -73,10 +72,7 @@ nodes:
|
|||||||
#% else %#
|
#% else %#
|
||||||
gateway: "#{ bootstrap_node_network | nthhost(1) }#"
|
gateway: "#{ bootstrap_node_network | nthhost(1) }#"
|
||||||
#% endif %#
|
#% endif %#
|
||||||
#% else %#
|
mtu: #{ item.mtu | default(1500, true) }#
|
||||||
dhcp: true
|
|
||||||
#% endif %#
|
|
||||||
mtu: #{ item.mtu | default(1500) }#
|
|
||||||
#% if item.controller %#
|
#% if item.controller %#
|
||||||
vip:
|
vip:
|
||||||
ip: "#{ bootstrap_controller_vip }#"
|
ip: "#{ bootstrap_controller_vip }#"
|
||||||
@@ -116,27 +112,6 @@ nodes:
|
|||||||
|
|
||||||
# Global patches
|
# Global patches
|
||||||
patches:
|
patches:
|
||||||
#% if bootstrap_dns_servers | length %#
|
|
||||||
- # Force nameserver
|
|
||||||
|-
|
|
||||||
machine:
|
|
||||||
network:
|
|
||||||
nameservers:
|
|
||||||
#% for item in bootstrap_dns_servers %#
|
|
||||||
- #{ item }#
|
|
||||||
#% endfor %#
|
|
||||||
#% endif %#
|
|
||||||
#% if bootstrap_ntp_servers | length %#
|
|
||||||
- # Configure NTP
|
|
||||||
|-
|
|
||||||
machine:
|
|
||||||
time:
|
|
||||||
disabled: false
|
|
||||||
servers:
|
|
||||||
#% for item in bootstrap_ntp_servers %#
|
|
||||||
- #{ item }#
|
|
||||||
#% endfor %#
|
|
||||||
#% endif %#
|
|
||||||
#% if bootstrap_secureboot.enabled and bootstrap_secureboot.encrypt_disk_with_tpm %#
|
#% if bootstrap_secureboot.enabled and bootstrap_secureboot.encrypt_disk_with_tpm %#
|
||||||
- # Encrypt system disk with TPM
|
- # Encrypt system disk with TPM
|
||||||
|-
|
|-
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ spec:
|
|||||||
name: github-deploy-key
|
name: github-deploy-key
|
||||||
#% endif %#
|
#% endif %#
|
||||||
ref:
|
ref:
|
||||||
branch: "#{ bootstrap_github_branch|default('main', true) }#"
|
branch: "#{ bootstrap_github_branch | default('main', true) }#"
|
||||||
ignore: |
|
ignore: |
|
||||||
# exclude all
|
# exclude all
|
||||||
/*
|
/*
|
||||||
|
|||||||
+11
-14
@@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# (Optional) Cluster name; affects Cilium and Talos
|
# (Optional) Cluster name; affects Cilium and Talos
|
||||||
# Default is "home-kubernetes"
|
# DEFAULT: "home-kubernetes"
|
||||||
bootstrap_cluster_name: ""
|
bootstrap_cluster_name: ""
|
||||||
|
|
||||||
# (Required) Generated schematic id from https://factory.talos.dev/
|
# (Required) Generated schematic id from https://factory.talos.dev/
|
||||||
@@ -18,12 +18,12 @@ bootstrap_node_network: ""
|
|||||||
# Worker nodes are optional
|
# Worker nodes are optional
|
||||||
bootstrap_node_inventory: []
|
bootstrap_node_inventory: []
|
||||||
# - name: "" # (Required) Name of the node (must match [a-z0-9-\]+)
|
# - name: "" # (Required) Name of the node (must match [a-z0-9-\]+)
|
||||||
# address: "" # (Optional) IP address of the node (Remove if node has a static DHCP reservation)
|
# address: "" # (Optional) IP address of the node
|
||||||
# controller: true # (Required) Set to true if this is a controller node
|
# controller: true # (Required) Set to true if this is a controller node
|
||||||
# disk: "" # (Required) Device path or serial number of the disk for this node (talosctl disks -n <ip> --insecure)
|
# disk: "" # (Required) Device path or serial number of the disk for this node (talosctl disks -n <ip> --insecure)
|
||||||
# mac_addr: "" # (Required) MAC address of the NIC for this node (talosctl get links -n <ip> --insecure)
|
# mac_addr: "" # (Required) MAC address of the NIC for this node (talosctl get links -n <ip> --insecure)
|
||||||
# schematic_id: "" # (Optional) Override the 'bootstrap_schematic_id' with a node specific schematic ID from https://factory.talos.dev/
|
# schematic_id: "" # (Optional) Override the 'bootstrap_schematic_id' with a node specific schematic ID from https://factory.talos.dev/
|
||||||
# mtu: "" # (Optional) MTU for the NIC, default is 1500
|
# mtu: "" # (Optional) MTU for the NIC. DEFAULT: 1500
|
||||||
# manifests: # (Optional) Additional manifests to include after MachineConfig
|
# manifests: # (Optional) Additional manifests to include after MachineConfig
|
||||||
# - extra.yaml # Ref: https://www.talos.dev/v1.7/reference/configuration/extensions/extensionserviceconfig/
|
# - extra.yaml # Ref: https://www.talos.dev/v1.7/reference/configuration/extensions/extensionserviceconfig/
|
||||||
# extension_services: # (Optional) Additional talhelper ExtensionServices (supports talenv.sops.yaml envsubst)
|
# extension_services: # (Optional) Additional talhelper ExtensionServices (supports talenv.sops.yaml envsubst)
|
||||||
@@ -36,18 +36,15 @@ bootstrap_node_inventory: []
|
|||||||
# - key=value
|
# - key=value
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
# (Optional) The DNS servers to use for the cluster nodes.
|
# The DNS servers to use for the cluster nodes.
|
||||||
# Default is pulled from your DHCP server.
|
# DEFAULT: [1.1.1.1, 1.0.0.1]
|
||||||
# If using a local DNS server make sure it meets the following requirements:
|
# If using a local DNS server make sure it meets the following requirements:
|
||||||
# 1. your nodes can reach it
|
# 1. your nodes can reach it
|
||||||
# 2. it is configured to forward requests to a public DNS server
|
# 2. it is configured to forward requests to a public DNS server
|
||||||
# 3. you are not force redirecting DNS requests to it - this will break cert generation over DNS01
|
|
||||||
# If using multiple DNS servers make sure they are setup the same way, there is no
|
|
||||||
# guarantee that the first DNS server will always be used for every lookup.
|
|
||||||
bootstrap_dns_servers: []
|
bootstrap_dns_servers: []
|
||||||
|
|
||||||
# (Optional) The NTP servers to use for the cluster nodes.
|
# The NTP servers to use for the cluster nodes.
|
||||||
# Default is pulled from your DHCP server.
|
# DEFAULT: [time.cloudflare.com]
|
||||||
bootstrap_ntp_servers: []
|
bootstrap_ntp_servers: []
|
||||||
|
|
||||||
# (Required) The pod CIDR for the cluster, this must NOT overlap with any
|
# (Required) The pod CIDR for the cluster, this must NOT overlap with any
|
||||||
@@ -71,7 +68,7 @@ bootstrap_controller_vip: ""
|
|||||||
bootstrap_tls_sans: []
|
bootstrap_tls_sans: []
|
||||||
|
|
||||||
# (Optional) The default gateway for the nodes
|
# (Optional) The default gateway for the nodes
|
||||||
# Default is derrived from bootstrap_node_network (e.g. 192.168.1.1)
|
# DEFAULT: .1 derrived from bootstrap_node_network (e.g. 192.168.1.1)
|
||||||
bootstrap_node_default_gateway: ""
|
bootstrap_node_default_gateway: ""
|
||||||
|
|
||||||
# (Optional) Add vlan tag to network master device, leave blank if you tag ports on your switch instead
|
# (Optional) Add vlan tag to network master device, leave blank if you tag ports on your switch instead
|
||||||
@@ -90,13 +87,13 @@ bootstrap_age_pubkey: ""
|
|||||||
bootstrap_bgp:
|
bootstrap_bgp:
|
||||||
enabled: false
|
enabled: false
|
||||||
# (Optional) If using multiple BGP peers add them here.
|
# (Optional) If using multiple BGP peers add them here.
|
||||||
# Default is .1 derrived from host_network: ['x.x.x.1']
|
# DEFAULT: .1 derrived from host_network: ['x.x.x.1']
|
||||||
peers: []
|
peers: []
|
||||||
# (Required) Set the BGP Autonomous System Number for the router(s) and nodes.
|
# (Required) Set the BGP Autonomous System Number for the router(s) and nodes.
|
||||||
# If these match, iBGP will be used. If not, eBGP will be used.
|
# If these match, iBGP will be used. If not, eBGP will be used.
|
||||||
peer_asn: "" # Router(s) AS
|
peer_asn: "" # Router(s) AS
|
||||||
local_asn: "" # Node(s) AS
|
local_asn: "" # Node(s) AS
|
||||||
peer_port: 179 # BGP Port - default is TCP port 179
|
peer_port: 179 # BGP Port. DEFAULT: 179
|
||||||
# (Required) The advertised CIDR for the cluster, this must NOT overlap with any
|
# (Required) The advertised CIDR for the cluster, this must NOT overlap with any
|
||||||
# existing networks and is usually a /16 (64K IPs).
|
# existing networks and is usually a /16 (64K IPs).
|
||||||
# If you want to use IPv6 check the advanced flags below
|
# If you want to use IPv6 check the advanced flags below
|
||||||
@@ -112,7 +109,7 @@ bootstrap_secureboot:
|
|||||||
encrypt_disk_with_tpm: false
|
encrypt_disk_with_tpm: false
|
||||||
|
|
||||||
# (Optional) Change Cilium load balancer mode
|
# (Optional) Change Cilium load balancer mode
|
||||||
# Default is "dsr" (Direct Server Return)
|
# DEFAULT: "dsr"
|
||||||
# Ref: https://docs.cilium.io/en/stable/network/kubernetes/kubeproxy-free/
|
# Ref: https://docs.cilium.io/en/stable/network/kubernetes/kubeproxy-free/
|
||||||
bootstrap_loadbalancer_mode: ""
|
bootstrap_loadbalancer_mode: ""
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user