Add k8s-server configuration and deployment scripts

This commit is contained in:
2025-12-15 17:12:10 +01:00
parent cdf71a5ded
commit 0425868cdc
8 changed files with 291 additions and 1 deletions
@@ -0,0 +1,49 @@
{ config, pkgs, ... }:
{
imports = [ ./hardware-configuration.nix ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
security.sudo.wheelNeedsPassword = false;
networking.hostName = "k8s-server";
networking.useDHCP = false;
networking.interfaces.ens18.ipv4.addresses = [
{
address = "10.202.82.7";
prefixLength = 24;
}
];
networking.defaultGateway = "10.202.82.1";
networking.nameservers = [ "10.202.82.3" "10.202.82.4" ];
time.timeZone = "Europe/Berlin";
services.openssh.enable = true;
networking.firewall = {
enable = true;
allowedTCPPorts = [ 22 6443 ];
allowedUDPPorts = [ 8472 ];
};
users.users.danlin = {
isNormalUser = true;
extraGroups = [ "wheel" ];
initialPassword = "changeme";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAzAW0DTpdQJaQOWDC3YJCmPc/veBQ0R3e1q9nOlWgxC danlin@MacBook-Pro-von-Daniel.fritz.box"
];
};
users.users.root.initialPassword = "root";
environment.systemPackages = with pkgs; [
vim
htop
];
system.stateVersion = "25.05";
}
+23
View File
@@ -0,0 +1,23 @@
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
../../modules/common.nix
../../modules/kubernetes.nix
];
networking.hostName = "k8s-server";
networking.useDHCP = false;
networking.interfaces.ens18.ipv4.addresses = [
{
address = "10.202.82.7";
prefixLength = 24;
}
];
networking.defaultGateway = "10.202.82.1";
networking.nameservers = [ "10.202.82.3" "10.202.82.4" ];
system.stateVersion = "25.05";
}
@@ -0,0 +1,37 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/839f8ac5-3391-4bc2-bf64-9df42ae6613b";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D25C-46DC";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}