Compare commits

...

9 Commits

Author SHA1 Message Date
jaydee 4698dd4594 build
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
2026-02-23 22:57:06 +01:00
jaydee 2e75feb6ea build 2026-02-23 22:24:03 +01:00
jaydee eb53ed12d9 build 2026-02-23 22:19:46 +01:00
jaydee e4b036da20 build 2026-02-23 22:18:24 +01:00
jaydee a661078405 build 2026-02-23 22:09:01 +01:00
jaydee d416f989f6 build 2026-02-23 22:03:51 +01:00
jaydee 1a2142cf14 build 2026-02-23 21:58:20 +01:00
jaydee 6fa22fc99f build 2026-02-23 21:47:35 +01:00
jaydee 0eb5c15d2b build 2026-02-23 21:38:58 +01:00
+89 -40
View File
@@ -1,7 +1,15 @@
- name: Install Kubernetes on Ubuntu 24
become: "{{ 'no' if inventory_hostname == 'nas.home.lan' else 'yes' }}"
block:
- name: Remove multiple files
file:
path: "{{ item }}"
state: absent
loop:
- /etc/apt/sources.list.d/docker.list
- /etc/apt/keyrings/docker.gpg
- /etc/apt/trusted.gpg.d/containerd.gpg
- /etc/apt/trusted.gpg.d/docker.gpg
- name: Update apt cache
apt:
update_cache: yes
@@ -49,39 +57,85 @@
- ca-certificates
- curl
- gpg
- curl
- gnupg2
- software-properties-common
state: present
- name: Add Kubernetes apt key
- name: Remove old Docker repository files (if any)
file:
path: "{{ item }}"
state: absent
loop:
- /etc/apt/sources.list.d/docker.list
- /etc/apt/keyrings/docker.gpg
- /etc/apt/trusted.gpg.d/containerd.gpg
- name: Create keyrings directory
file:
path: /etc/apt/keyrings
state: directory
mode: '0755'
- name: Download Docker GPG key
shell: |
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | \
gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
args:
creates: /etc/apt/keyrings/kubernetes-apt-keyring.gpg
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- name: Add Docker repository (Ubuntu 24 safe)
apt_repository:
repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu noble stable"
state: present
filename: docker
update_cache: no
- name: Update apt cache
apt:
update_cache: yes
- name: Install required packages
apt:
name:
- containerd.io
state: present
update_cache: yes
- name: Generate default containerd config
command: containerd config default
register: containerd_config
- name: Save containerd configuration
copy:
dest: /etc/containerd/config.toml
content: "{{ containerd_config.stdout }}"
owner: root
group: root
mode: 0644
- name: Enable SystemdCgroup in containerd config
replace:
path: /etc/containerd/config.toml
regexp: 'SystemdCgroup\s*=\s*false'
replace: 'SystemdCgroup = true'
- name: Restart containerd
systemd:
name: containerd
state: restarted
enabled: yes
- name: Add Kubernetes GPG key
ansible.builtin.apt_key:
url: https://pkgs.k8s.io/core:/stable:/v1.34/deb/Release.key
keyring: /etc/apt/keyrings/k8s.gpg
state: present
- name: Add Kubernetes repository
copy:
dest: /etc/apt/sources.list.d/kubernetes.list
content: |
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /
- name: Install containerd
apt:
name: containerd
state: present
- name: Configure containerd
shell: |
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
args:
creates: /etc/containerd/config.toml
- name: Enable and start containerd
systemd:
name: containerd
enabled: yes
state: started
dest: /etc/apt/sources.list.d/k8s.list
content: 'deb [signed-by=/etc/apt/keyrings/k8s.gpg] https://pkgs.k8s.io/core:/stable:/v1.34/deb/ /'
owner: root
group: root
mode: 0644
- name: Install Kubernetes packages
apt:
@@ -91,6 +145,7 @@
- kubectl
state: present
update_cache: yes
register: k8s_install
retries: 5
delay: 10
@@ -141,9 +196,9 @@
name: containerd
state: restarted
- name: Pause for 5 minutes to build app cache
ansible.builtin.pause:
minutes: 2
# - name: Pause for 5 minutes to build app cache
# ansible.builtin.pause:
# minutes: 2
- name: Create .kube directory
file:
@@ -170,9 +225,9 @@
group: "{{ ansible_user }}"
mode: '0644'
when: inventory_hostname == 'ubuntu24-vm01.home.lan'
- name: Pause for 5 minutes to build app cache
ansible.builtin.pause:
minutes: 2
# - name: Pause for 5 minutes to build app cache
# ansible.builtin.pause:
# minutes: 2
- name: Install Flannel CNI
ansible.builtin.command:
@@ -188,12 +243,6 @@
register: join_command
when: inventory_hostname == 'ubuntu24-vm01.home.lan'
- name: Save join command
set_fact:
worker_join_cmd: "{{ join_command.stdout }}"