This commit is contained in:
2025-09-30 11:23:27 -05:00
parent 6f5bc65171
commit 3f31f77bc8
6 changed files with 95 additions and 23 deletions

View File

@@ -1,17 +1,17 @@
--- ---
- name: Step 1 - Install Prerequisites # - name: Step 1 - Install Prerequisites
hosts: fastpass # hosts: fastpass
become: true
gather_facts: true
roles:
- role: kubernetes-prerequisites
# - name: Step 2 - Deploy First Control Plane Node
# hosts: fastpass_control_plane[0]
# become: true # become: true
# gather_facts: false # gather_facts: true
# roles: # roles:
# - role: fastpass-first-control-plane # - role: kubernetes-prerequisites
- name: Step 2 - Deploy First Control Plane Node
hosts: fastpass_control_plane[0]
become: true
gather_facts: true # false
roles:
- role: fastpass-first-control-plane
# - name: Step 3 - Deploy Additional Control Plane Nodes # - name: Step 3 - Deploy Additional Control Plane Nodes
# hosts: fastpass_control_plane[1:] # hosts: fastpass_control_plane[1:]

View File

@@ -0,0 +1,15 @@
---
# FastPass First Control Plane Role Defaults
# Kubernetes services for control plane
kubernetes_services_control_plane:
- kubernetes_API
- etcd
- kubelet
- kube-scheduler
- kube-controller-manager
kubernetes_services_worker:
- kubelet
- kube-proxy
- NodePort

View File

@@ -0,0 +1,66 @@
---
# role: fastpass-first-control-plane
# description: FastPass First Control Plane
# author: mk-labs
# version: 1.0.0
# date: 2025-09-27
# Open sevices for control plane
- name: Open services for control plane
become: true
when: ansible_os_family == "Debian"
block:
- name: Open firewall ports for control plane
community.general.ufw:
rule: allow
name: "{{ item }}"
loop:
"{{ kubernetes_services_control_plane }}"
- name: Create initial kubelet config file
become: true
ansible.builtin.copy:
dest: /var/lib/kubelet/config.yaml
owner: root
group: root
mode: '0644'
content: |
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
containerRuntimeEndpoint: unix:///run/containerd/containerd.sock
# - name: Initialize Kubernetes cluster
# become: true
# ansible.builtin.command: kubeadm init --ignore-preflight-errors=NumCPU,Mem --control-plane-endpoint=fastpass # {{ cluster_name }}
# args:
# creates: /etc/kubernetes/admin.conf
# register: kubeadm_init
# changed_when: kubeadm_init.rc == 0
- name: Ensure kubelet is enabled and started
become: true
ansible.builtin.systemd:
name: kubelet
enabled: true
state: started
- name: Debug ansible_env.HOME
delegate_to: localhost
ansible.builtin.debug:
var: ansible_env.HOME
- name: Create .kube directory for user
delegate_to: localhost
ansible.builtin.file:
path: "{{ ansible_env.HOME }}/.kube"
state: directory
mode: '0755'
- name: Copy admin.conf to user's .kube directory on controller
ansible.builtin.fetch:
src: /etc/kubernetes/admin.conf
dest: "{{ ansible_env.HOME }}/.kube/config-fastpass" # {{cluster_name}}"
mode: '0644'

View File

@@ -17,9 +17,9 @@ required_kernel_modules:
# Sysctl parameters for Kubernetes # Sysctl parameters for Kubernetes
k8s_sysctl_params: k8s_sysctl_params:
- "net.bridge.bridge-nf-call-iptables: 1" - "net.bridge.bridge-nf-call-iptables = 1"
- "net.bridge.bridge-nf-call-ip6tables: 1" - "net.bridge.bridge-nf-call-ip6tables = 1"
- "net.ipv4.ip_forward: 1" - "net.ipv4.ip_forward = 1"
containerd_dependencies: containerd_dependencies:
- curl - curl

View File

@@ -1,8 +0,0 @@
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version | default('1.33') | regex_replace('^v?(.*)$', '\\1') | regex_replace('^(\\d+\\.\\d+).*$', '\\1') }}/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version | default('1.33') | regex_replace('^v?(.*)$', '\\1') | regex_replace('^(\\d+\\.\\d+).*$', '\\1') }}/rpm/repodata/repomd.xml.key

View File

@@ -1,3 +1,2 @@
#SPDX-License-Identifier: MIT-0
--- ---
# defaults file for kubernetes # defaults file for kubernetes