Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { config, pkgs, ... }:
- {
- nixpkgs.config.virtualbox.enableExtensionPack = true;
- virtualisation = {
- docker = {
- enable = true;
- enableOnBoot = true;
- liveRestore = false;
- logDriver = "json-file";
- extraOptions = ''
- -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 --log-opt max-size=1M --log-opt max-file=1 --iptables=false --ip-masq=false --bip $FLANNEL_SUBNET
- '';
- };
- virtualbox = {
- host.enable = false;
- guest.enable = true;
- };
- };
- services.etcd = {
- enable = true;
- peerClientCertAuth = false;
- listenClientUrls = ["https://0.0.0.0:2379"];
- listenPeerUrls = ["https://0.0.0.0:2380"];
- name = "etcd";
- advertiseClientUrls = [ "https://127.0.0.1:2379" ];
- initialAdvertisePeerUrls = [ "https://127.0.0.1:2380" ];
- initialCluster = [ "etcd=https://127.0.0.1:2380" ];
- };
- environment.variables = {
- ETCDCTL_PEERS = "https://127.0.0.1:2379";
- };
- services.flannel = {
- enable = true;
- network = "10.10.0.0/16";
- iface = "enp0s3";
- etcd = {
- endpoints = ["https://127.0.0.1:2379"];
- };
- };
- systemd.services.docker.after = ["flannel.service"];
- systemd.services.docker.serviceConfig.EnvironmentFile = "/run/flannel/subnet.env";
- services.kubernetes = {
- verbose = true;
- roles = [ "master" "node" ];
- etcd = {
- servers = ["https://127.0.0.1:2379"];
- };
- scheduler.leaderElect = true;
- controllerManager.leaderElect = true;
- apiserver = {
- publicAddress = "0.0.0.0";
- };
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement