By default, Kairos ISOs are configured to automatically get an IP from the network interface. However, depending on the base system you have chosen, there are different way to configure networking. This section collects information on setting network configuration depending on the base that is being chosen (openSUSE, Alpine, Ubuntu).
There are different network managers depending on the distro:
connmanis available on Alpine-based distribution. By default is enabled on Kairos Alpine flavored variants.
- systemd-based flavors are all using
To get a static IP, you can additionally define the following in your configuration file, depending on the network-manager being used:
stages: initramfs: - files: - path: /var/lib/connman/default.config permission: 0644 content: | [service_eth0] Type = ethernet IPv4 = 10.1.1.1/16/10.1.0.1 Nameservers = 10.1.0.1
stages: initramfs: - files: - path: /etc/systemd/network/config.network permissions: 0644 content: | [Match] Name=ens18 [Network] Address=10.1.1.1/16 Gateway=10.1.0.1 DNS=10.1.0.1
Bonding setup with Ubuntu can be configured via systemd-networkd (Ubuntu based images) and wicked (openSUSE based images), consider the following examples:
#node-config name: "My Deployment" stages: boot: - name: "Setup network" commands: - systemctl restart systemd-networkd initramfs: # Drop network config file - name: "Setup hostname" hostname: "hostname" - name: "Setup network files" files: - path: /etc/systemd/network/10-bond0.network content: | [Match] Name=bond0 [Network] DHCP=yes permissions: 0644 owner: 0 group: 0 - path: /etc/systemd/network/10-bond0.netdev content: | [NetDev] Name=bond0 Kind=bond [Bond] Mode=802.3ad permissions: 0644 owner: 0 group: 0 - path: /etc/systemd/network/15-enp.network content: | [Match] Name=enp* [Network] Bond=bond0 permissions: 0644 owner: 0 group: 0 - path: /etc/systemd/network/05-bond0.link content: | [Match] Driver=bonding Name=bond0 [Link] MACAddress=11:22:33:44:55:66 permissions: 0644 owner: 0 group: 0 network: - name: "Setup user ssh-keys" authorized_keys: kairos: - "ssh-rsa AAA..." - "ssh-rsa AAA..." # k3s settings k3s-agent: enabled: true env: K3S_TOKEN: "KubeSecret" K3S_URL: https://hostname:6443
stages: boot: - name: "Setup network" commands: - modprobe bonding mode=4 miimon=100 - ifenslave bond0 eno1 - ifenslave bond0 eno2 - ifenslave bond0 eno3 - ifenslave bond0 eno4 - ifconfig bond0 up hw ether 11:22:33:44:55:66 - ifup bond0 - sleep 5 - rc-service connman restart initramfs: - name: "Setup network files" files: - path: /var/lib/connman/default.config content: | [service_eth] Type = ethernet IPv4 = off IPv6 = off [service_bond0] Type = ethernet DeviceName = bond0 IPv4 = dhcp MAC = 11:22:33:44:55:66 permissions: 0644 owner: 0 group: 0
Was this page helpful?
Awesome! Glad to hear it! Please tell us how we can improve.
Oh snap! Sorry to hear that. Please tell us how we can improve.