mirror of
https://gitlab.sectorq.eu/jaydee/ansible.git
synced 2026-09-08 21:27:36 +02:00
build
This commit is contained in:
@@ -1,5 +1,22 @@
|
||||
- name: Install kubernetes on Rocky 9
|
||||
become: "{{ 'no' if inventory_hostname == 'nas.home.lan' else 'yes' }}"
|
||||
vars:
|
||||
helm_version: "v3.15.4"
|
||||
helm_tar: "helm-{{ helm_version }}-linux-amd64.tar.gz"
|
||||
helm_url: "https://get.helm.sh/{{ helm_tar }}"
|
||||
|
||||
helm_bin: /usr/local/bin/helm
|
||||
|
||||
kubeconfig: /home/jd/.kube/config
|
||||
|
||||
nfs_server: "192.168.77.106"
|
||||
nfs_path: "/qda_1"
|
||||
|
||||
helm_env:
|
||||
PATH: /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
|
||||
HOME: /home/jd
|
||||
XDG_CONFIG_HOME: /home/jd/.config
|
||||
KUBECONFIG: "{{ kubeconfig }}"
|
||||
block:
|
||||
- name: Get root mount
|
||||
set_fact:
|
||||
@@ -321,3 +338,112 @@
|
||||
name: firewalld
|
||||
state: stopped
|
||||
enabled: false
|
||||
# ----------------------------
|
||||
# 1. Install Helm v3
|
||||
# ----------------------------
|
||||
- name: Download Helm
|
||||
get_url:
|
||||
url: "{{ helm_url }}"
|
||||
dest: "/tmp/{{ helm_tar }}"
|
||||
mode: '0644'
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
- name: Create Helm config directory
|
||||
file:
|
||||
path: /home/jd/.config/helm
|
||||
state: directory
|
||||
mode: '0755'
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
- name: Extract Helm archive
|
||||
unarchive:
|
||||
src: "/tmp/{{ helm_tar }}"
|
||||
dest: /tmp
|
||||
remote_src: true
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
- name: Install Helm binary
|
||||
copy:
|
||||
src: /tmp/linux-amd64/helm
|
||||
dest: "{{ helm_bin }}"
|
||||
mode: '0755'
|
||||
remote_src: true
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
- name: Verify Helm installation
|
||||
command: helm version
|
||||
environment: "{{ helm_env }}"
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
|
||||
- name: Ensure correct ownership of Helm config
|
||||
file:
|
||||
path: /home/jd/.kube
|
||||
state: directory
|
||||
owner: jd
|
||||
group: jd
|
||||
mode: '0700'
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
- name: Ensure correct ownership of Helm config
|
||||
file:
|
||||
path: /home/jd/.config/helm
|
||||
state: directory
|
||||
owner: jd
|
||||
group: jd
|
||||
mode: '0700'
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
# ----------------------------
|
||||
# 3. Add NFS Helm repo
|
||||
# ----------------------------
|
||||
- name: Add NFS Subdir External Provisioner repo
|
||||
kubernetes.core.helm_repository:
|
||||
name: nfs-subdir-external-provisioner
|
||||
repo_url: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
|
||||
environment: "{{ helm_env }}"
|
||||
become_user: "{{ ansible_user }}"
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
- name: Update Helm repos
|
||||
command: helm repo update
|
||||
environment: "{{ helm_env }}"
|
||||
become_user: "{{ ansible_user }}"
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
# ----------------------------
|
||||
# 4. Install NFS provisioner
|
||||
# ----------------------------
|
||||
- name: Install NFS Subdir External Provisioner
|
||||
kubernetes.core.helm:
|
||||
name: nfs-storage
|
||||
chart_ref: nfs-subdir-external-provisioner/nfs-subdir-external-provisioner
|
||||
release_namespace: kube-system
|
||||
create_namespace: true
|
||||
values:
|
||||
nfs:
|
||||
server: "{{ nfs_server }}"
|
||||
path: "{{ nfs_path }}"
|
||||
storageClass:
|
||||
name: nfs-client
|
||||
defaultClass: true
|
||||
kubeconfig: "{{ kubeconfig }}"
|
||||
environment: "{{ helm_env }}"
|
||||
become_user: "{{ ansible_user }}"
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
- name: Ensure correct ownership of Helm config
|
||||
file:
|
||||
path: /home/jd/.config
|
||||
state: directory
|
||||
owner: jd
|
||||
group: jd
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
|
||||
- name: Ensure correct ownership of Helm config
|
||||
file:
|
||||
path: /home/jd/.kube/config
|
||||
state: file
|
||||
owner: jd
|
||||
group: jd
|
||||
mode: '0600'
|
||||
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||
Reference in New Issue
Block a user