Compare commits

...

3 commits

Author SHA1 Message Date
5db5bbbb4d Install specific K8s version 2023-01-11 21:04:00 +01:00
ddc2730fc3 Redo variable handling 2023-01-11 20:22:27 +01:00
6c485e0a51 Install system tools 2023-01-11 19:52:18 +01:00
11 changed files with 58 additions and 21 deletions

View file

@ -1,7 +1,21 @@
IMAGE_NAME = "bento/ubuntu-22.04" IMAGE_NAME = "bento/ubuntu-22.04"
CONTROL_PLANES = 1 CONTROL_PLANES = 1
NODES = 0 NODES = 0
ansible_groups = {
"control_planes" => [
"control-plane-[1:#{CONTROL_PLANES}]"
],
"nodes" => [
"node-[1:#{NODES}]"
],
"local_dev" => [
"control-plane-[1:#{CONTROL_PLANES}]",
"node-[1:#{NODES}]"
],
}
Vagrant.configure("2") do |config| Vagrant.configure("2") do |config|
config.ssh.insert_key = false config.ssh.insert_key = false
@ -17,10 +31,9 @@ Vagrant.configure("2") do |config|
control_plane.vm.hostname = "control-plane-#{i}" control_plane.vm.hostname = "control-plane-#{i}"
control_plane.vm.provision "ansible" do |ansible| control_plane.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yaml" ansible.playbook = "playbook.yaml"
ansible.groups = ansible_groups
ansible.extra_vars = { ansible.extra_vars = {
cluster_name: "gerar", node_ip: "192.168.56.#{10 + i}"
node_ip: "192.168.56.#{10 + i}",
is_control_plane: true,
} }
end end
end end
@ -33,10 +46,9 @@ Vagrant.configure("2") do |config|
node.vm.hostname = "node-#{i}" node.vm.hostname = "node-#{i}"
node.vm.provision "ansible" do |ansible| node.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yaml" ansible.playbook = "playbook.yaml"
ansible.groups = ansible_groups
ansible.extra_vars = { ansible.extra_vars = {
cluster_name: "gerar",
node_ip: "192.168.56.#{20 + i}", node_ip: "192.168.56.#{20 + i}",
is_control_plane: false,
control_plane_endpoint: "192.168.56.11", control_plane_endpoint: "192.168.56.11",
} }
end end

View file

@ -0,0 +1 @@
kubeadmin_config: "/etc/kubernetes/admin.conf"

View file

@ -0,0 +1 @@
is_control_plane: true

View file

@ -0,0 +1,5 @@
ansible_user: servant
cluster_name: "gerar"
k8s_version: "1.26"
pod_network_cidr: "10.254.0.0/16"
service_cidr: "10.255.0.0/16"

View file

@ -0,0 +1,5 @@
cluster_name: "local-dev"
k8s_version: "1.26"
pod_network_cidr: "10.254.0.0/16"
service_cidr: "10.255.0.0/16"
kubeadmin_config: "/etc/kubernetes/admin.conf"

View file

@ -0,0 +1 @@
is_control_plane: false

View file

@ -5,19 +5,7 @@ all:
control_planes: control_planes:
hosts: hosts:
matthew.gerar.jilits.se: matthew.gerar.jilits.se:
vars:
is_control_plane: true
nodes: nodes:
hosts: hosts:
mark.gerar.jilits.se: mark.gerar.jilits.se:
luke.gerar.jilits.se: luke.gerar.jilits.se:
vars:
is_control_plane: false
vars:
ansible_user: servant
cluster_name: "gerar"
k8s_version: 1.26
pod_network_cidr: "10.254.0.0/16"
service_cidr: "10.255.0.0/16"
vars:
kubeadmin_config: /etc/kubernetes/admin.conf

View file

@ -2,6 +2,8 @@
- hosts: all - hosts: all
gather_facts: yes gather_facts: yes
roles: roles:
- include_role:
name: install_system_tools
- include_role: - include_role:
name: remove_swap name: remove_swap
- include_role: - include_role:

View file

@ -0,0 +1,10 @@
---
- name: Install system tools
become: true
vars:
packages:
- less
ansible.builtin.apt:
name: "{{ packages }}"
state: present
update_cache: yes

View file

@ -9,8 +9,9 @@
- curl - curl
ansible.builtin.apt: ansible.builtin.apt:
name: "{{ packages }}" name: "{{ packages }}"
state: present state: latest
update_cache: yes update_cache: yes
cache_valid_time: 3600
- name: Setup Kubernetes repository - name: Setup Kubernetes repository
become: true become: true
@ -25,19 +26,29 @@
repo: deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main repo: deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main
state: present state: present
- name: Update apt cache
ansible.builtin.apt:
update_cache: yes
- name: Get Kubernetes package version
ansible.builtin.shell: "apt-cache show kubeadm | grep -F 'Version: {{ k8s_version }}.' | cut -d' ' -f2 | sort -n | tail -n 1"
register: k8s_pkg_ver
- name: Setup Kubernetes packages - name: Setup Kubernetes packages
become: true become: true
vars: vars:
packages: packages:
- kubelet - kubelet={{ k8s_pkg_ver.stdout }}
- kubeadm - kubeadm={{ k8s_pkg_ver.stdout }}
- kubectl - kubectl={{ k8s_pkg_ver.stdout }}
block: block:
- name: Install kubelet, kubeadm and kubectl - name: Install kubelet, kubeadm and kubectl
ansible.builtin.apt: ansible.builtin.apt:
name: "{{ packages }}" name: "{{ packages }}"
state: present state: present
update_cache: yes update_cache: yes
allow_downgrade: no
cache_valid_time: 3600
- name: Hold Kubernetes packages - name: Hold Kubernetes packages
loop: "{{ packages }}" loop: "{{ packages }}"

View file

@ -53,6 +53,7 @@
name: "{{ packages }}" name: "{{ packages }}"
state: present state: present
update_cache: yes update_cache: yes
cache_valid_time: 3600
- name: Install Kubernetes module dependencies - name: Install Kubernetes module dependencies
ansible.builtin.pip: ansible.builtin.pip: