Loading .ansible-lint 0 → 100644 +5 −0 Original line number Diff line number Diff line --- warn_list: - var-naming[no-role-prefix] - yaml[comments-indentation] - yaml[line-length] Vagrantfile 0 → 100644 +56 −0 Original line number Diff line number Diff line # ENV['VAGRANT_NO_PARALLEL'] = 'no' NODE_ROLES = ["server-0", "server-1", "server-2", "agent-0", "agent-1"] NODE_BOXES = ['generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004'] NODE_CPUS = 2 NODE_MEMORY = 2048 # Virtualbox >= 6.1.28 require `/etc/vbox/network.conf` for expanded private networks NETWORK_PREFIX = "10.10.10" def provision(vm, role, node_num) vm.box = NODE_BOXES[node_num] vm.hostname = role # An expanded netmask is required to allow VM<-->VM communication, virtualbox defaults to /32 node_ip = "#{NETWORK_PREFIX}.#{100+node_num}" vm.network "private_network", ip: node_ip, netmask: "255.255.255.0" vm.provision "ansible", run: 'once' do |ansible| ansible.compatibility_mode = "2.0" ansible.verbose = "vv" ansible.playbook = "playbook/site.yml" ansible.groups = { "server" => NODE_ROLES.grep(/^server/), "agent" => NODE_ROLES.grep(/^agent/), "k3s_cluster:children" => ["server", "agent"], } ansible.extra_vars = { k3s_version: "v1.26.5+k3s1", api_endpoint: "#{NETWORK_PREFIX}.100", api_port: 6443, extra_server_args: "", extra_server_init_args: "", extra_agent_args: "", } end end Vagrant.configure("2") do |config| # Default provider is libvirt, virtualbox is only provided as a backup config.vm.provider "libvirt" do |v| v.cpus = NODE_CPUS v.memory = NODE_MEMORY end config.vm.provider "virtualbox" do |v| v.cpus = NODE_CPUS v.memory = NODE_MEMORY end # Must iterate on the index, vagrant does not understand iterating # over the node roles themselves NODE_ROLES.each_with_index do |name, i| config.vm.define name do |node| provision(node.vm, name, i) end end end inventory-sample.yml +5 −2 Original line number Diff line number Diff line Loading @@ -9,14 +9,17 @@ k3s_cluster: 192.16.35.12 192.16.35.13 # Required Vars vars: ansible_port: 22 ansible_user: debian k3s_version: v1.25.5+k3s2 k3s_server_location: /var/lib/rancher/k3s systemd_dir: /etc/systemd/system api_endpoint: "{{ hostvars[groups['server'][0]]['ansible_host'] | default(groups['server'][0]) }}" api_port: 6443 extra_server_args: "" extra_server_init_args: "" extra_agent_args: "" # Optional vars # k3s_server_location: /var/lib/rancher/k3s # systemd_dir: /etc/systemd/system roles/k3s/agent/defaults/main.yml 0 → 100644 +3 −0 Original line number Diff line number Diff line --- k3s_server_location: "/var/lib/rancher/k3s" systemd_dir: "/etc/systemd/system" roles/k3s/agent/tasks/main.yml +1 −0 Original line number Diff line number Diff line --- - name: Copy K3s service file ansible.builtin.template: src: "k3s-agent.service.j2" Loading Loading
.ansible-lint 0 → 100644 +5 −0 Original line number Diff line number Diff line --- warn_list: - var-naming[no-role-prefix] - yaml[comments-indentation] - yaml[line-length]
Vagrantfile 0 → 100644 +56 −0 Original line number Diff line number Diff line # ENV['VAGRANT_NO_PARALLEL'] = 'no' NODE_ROLES = ["server-0", "server-1", "server-2", "agent-0", "agent-1"] NODE_BOXES = ['generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004', 'generic/ubuntu2004'] NODE_CPUS = 2 NODE_MEMORY = 2048 # Virtualbox >= 6.1.28 require `/etc/vbox/network.conf` for expanded private networks NETWORK_PREFIX = "10.10.10" def provision(vm, role, node_num) vm.box = NODE_BOXES[node_num] vm.hostname = role # An expanded netmask is required to allow VM<-->VM communication, virtualbox defaults to /32 node_ip = "#{NETWORK_PREFIX}.#{100+node_num}" vm.network "private_network", ip: node_ip, netmask: "255.255.255.0" vm.provision "ansible", run: 'once' do |ansible| ansible.compatibility_mode = "2.0" ansible.verbose = "vv" ansible.playbook = "playbook/site.yml" ansible.groups = { "server" => NODE_ROLES.grep(/^server/), "agent" => NODE_ROLES.grep(/^agent/), "k3s_cluster:children" => ["server", "agent"], } ansible.extra_vars = { k3s_version: "v1.26.5+k3s1", api_endpoint: "#{NETWORK_PREFIX}.100", api_port: 6443, extra_server_args: "", extra_server_init_args: "", extra_agent_args: "", } end end Vagrant.configure("2") do |config| # Default provider is libvirt, virtualbox is only provided as a backup config.vm.provider "libvirt" do |v| v.cpus = NODE_CPUS v.memory = NODE_MEMORY end config.vm.provider "virtualbox" do |v| v.cpus = NODE_CPUS v.memory = NODE_MEMORY end # Must iterate on the index, vagrant does not understand iterating # over the node roles themselves NODE_ROLES.each_with_index do |name, i| config.vm.define name do |node| provision(node.vm, name, i) end end end
inventory-sample.yml +5 −2 Original line number Diff line number Diff line Loading @@ -9,14 +9,17 @@ k3s_cluster: 192.16.35.12 192.16.35.13 # Required Vars vars: ansible_port: 22 ansible_user: debian k3s_version: v1.25.5+k3s2 k3s_server_location: /var/lib/rancher/k3s systemd_dir: /etc/systemd/system api_endpoint: "{{ hostvars[groups['server'][0]]['ansible_host'] | default(groups['server'][0]) }}" api_port: 6443 extra_server_args: "" extra_server_init_args: "" extra_agent_args: "" # Optional vars # k3s_server_location: /var/lib/rancher/k3s # systemd_dir: /etc/systemd/system
roles/k3s/agent/defaults/main.yml 0 → 100644 +3 −0 Original line number Diff line number Diff line --- k3s_server_location: "/var/lib/rancher/k3s" systemd_dir: "/etc/systemd/system"
roles/k3s/agent/tasks/main.yml +1 −0 Original line number Diff line number Diff line --- - name: Copy K3s service file ansible.builtin.template: src: "k3s-agent.service.j2" Loading