mirror of
https://gitlab.sectorq.eu/jaydee/ansible.git
synced 2026-09-08 21:27:36 +02:00
build
This commit is contained in:
@@ -175,23 +175,23 @@
|
|||||||
enabled: yes
|
enabled: yes
|
||||||
state: started
|
state: started
|
||||||
|
|
||||||
# Optional UFW configuration
|
# # Optional UFW configuration
|
||||||
- name: Ensure UFW is installed
|
# - name: Ensure UFW is installed
|
||||||
apt:
|
# apt:
|
||||||
name: ufw
|
# name: ufw
|
||||||
state: present
|
# state: present
|
||||||
when: inventory_hostname == 'ubuntu24-vm01.home.lan'
|
# when: inventory_hostname == 'ubuntu24-vm01.home.lan'
|
||||||
|
|
||||||
- name: Allow Kubernetes ports
|
# - name: Allow Kubernetes ports
|
||||||
ufw:
|
# ufw:
|
||||||
rule: allow
|
# rule: allow
|
||||||
port: "{{ item }}"
|
# port: "{{ item }}"
|
||||||
proto: tcp
|
# proto: tcp
|
||||||
loop:
|
# loop:
|
||||||
- 6443
|
# - 6443
|
||||||
- 2379:2380
|
# - 2379:2380
|
||||||
- 10250
|
# - 10250
|
||||||
when: inventory_hostname == 'ubuntu24-vm01.home.lan'
|
# when: inventory_hostname == 'ubuntu24-vm01.home.lan'
|
||||||
|
|
||||||
- name: Configure containerd for kubeadm
|
- name: Configure containerd for kubeadm
|
||||||
copy:
|
copy:
|
||||||
@@ -268,3 +268,147 @@
|
|||||||
args:
|
args:
|
||||||
creates: /etc/kubernetes/kubelet.conf
|
creates: /etc/kubernetes/kubelet.conf
|
||||||
when: not inventory_hostname.endswith('-vm01.home.lan')
|
when: not inventory_hostname.endswith('-vm01.home.lan')
|
||||||
|
|
||||||
|
- name: get repository
|
||||||
|
git:
|
||||||
|
repo: 'https://github.com/ahmetb/kubectx'
|
||||||
|
dest: /opt/kubectx
|
||||||
|
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||||
|
|
||||||
|
- name: Create symbolic links for kubectx and kubens
|
||||||
|
file:
|
||||||
|
src: /opt/kubectx/{{ item }}
|
||||||
|
dest: /usr/local/bin/{{ item }}
|
||||||
|
state: link
|
||||||
|
loop:
|
||||||
|
- kubectx
|
||||||
|
- kubens
|
||||||
|
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||||
|
|
||||||
|
- name: Install Additional packages
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- nfs-utils
|
||||||
|
- tmux
|
||||||
|
- telnet
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Ensure aliases exist in user's .bashrc
|
||||||
|
lineinfile:
|
||||||
|
path: "/home/{{ user_name }}/.bashrc"
|
||||||
|
line: "alias {{ item.key }}='{{ item.value }}'"
|
||||||
|
state: present
|
||||||
|
create: yes
|
||||||
|
loop: "{{ aliases | dict2items }}"
|
||||||
|
when: inventory_hostname.endswith('-vm01.home.lan')
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# 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