diff --git a/group_vars/all b/group_vars/all index 2a31070..98418ba 100644 --- a/group_vars/all +++ b/group_vars/all @@ -1,19 +1,27 @@ --- +# Utilisateur utilisé par ansible pour ce connecter en SSH ansible_user: ansuser +# +# Réseau Interne du cluster - Valeur par défaut +# La définition de ce subnet ne doit jamais entrer en conflit avec un réseau existant pods_subnet: "10.244.0.0/16" -#services_subnet: "10.96.0.0/12" -os: "Debian_11" -# Version de Kubernetes -version: "1.27" -flannel: - network: "192.168.64.0/20" - subnet: "192.168.64.1/24" +# +# Définition du réseau overlay du CNI +# subnet doit toujours être inclu dans network +cni: + network: "10.96.0.0/12" + subnet: "10.96.1.0/24" +# Pour définir la plage DHCP du Loadbalancer +lb: + pool: 192.168.230.100-192.168.230.200 + subnet: 192.168.230.0/24 +# Paramètre propre à notre application Gitea +# extrenalips doit être dans le réseau du LoadBalancer mais ne doit pas entrer en conflit avec le pool ou l'IP des nodes gitea: replicacount: 3 servicetype: LoadBalancer externalips: 192.168.230.10 -metallb: - iprange: 192.168.230.100-192.168.230.200 -purelb: - pool: 192.168.230.100-192.168.230.200 - subnet: 192.168.230.0/24 +# Variable utilisé uniquement pour le téléchargement de CRI-O +#os: "Debian_11" +# Version de Kubernetes - utilisé pour le téchargement de CRI-O +#version: "1.27" diff --git a/initialize-kubernetes.yaml b/initialize-kubernetes.yaml index 4046794..51b40cf 100644 --- a/initialize-kubernetes.yaml +++ b/initialize-kubernetes.yaml @@ -17,7 +17,8 @@ - name: kubadm init become: yes -# command: kubeadm init --pod-network-cidr={{ pods_subnet }} --service-cidr={{ services_subnet }} --apiserver-advertise-address={{ ansible_default_ipv4.address }} --cri-socket=unix:///var/run/crio/crio.sock +# Variante avec CRI-O/Calico - Non fonctionnel +# command: kubeadm init --pod-network-cidr={{ pods_subnet }} --service-cidr={{ cni.network }} --apiserver-advertise-address={{ ansible_default_ipv4.address }} --cri-socket=unix:///var/run/crio/crio.sock command: kubeadm init --pod-network-cidr={{ pods_subnet }} register: kubeadminit - debug: var=kubeadminit.stdout_lines diff --git a/roles/flannel/templates/flannel.j2 b/roles/flannel/templates/flannel.j2 index 666747c..7375240 100644 --- a/roles/flannel/templates/flannel.j2 +++ b/roles/flannel/templates/flannel.j2 @@ -1,4 +1,4 @@ -FLANNEL_NETWORK={{ flannel.network }} -FLANNEL_SUBNET={{ flannel.subnet }} +FLANNEL_NETWORK={{ cni.network }} +FLANNEL_SUBNET={{ cni.subnet }} FLANNEL_MTU=1450 FLANNEL_IPMASQ=true diff --git a/roles/metallb/tasks/main.yaml b/roles/metallb/tasks/main.yaml index a00a017..bf6b947 100644 --- a/roles/metallb/tasks/main.yaml +++ b/roles/metallb/tasks/main.yaml @@ -12,7 +12,7 @@ - name: copy MetalLB config become: yes template: - src: metallb-config.yaml + src: metallb-config.yaml.j2 dest: /tmp/metallb-config.yaml - name: install MetalLB config diff --git a/roles/metallb/templates/metallb-config.yaml b/roles/metallb/templates/metallb-config.yaml.j2 similarity index 88% rename from roles/metallb/templates/metallb-config.yaml rename to roles/metallb/templates/metallb-config.yaml.j2 index aebfd60..266fa07 100644 --- a/roles/metallb/templates/metallb-config.yaml +++ b/roles/metallb/templates/metallb-config.yaml.j2 @@ -6,7 +6,7 @@ metadata: namespace: metallb-system spec: addresses: - - "{{ metallb.iprange }}" + - "{{ lb.pool }}" --- apiVersion: metallb.io/v1beta1 kind: L2Advertisement diff --git a/roles/metallb/templates/metallb-values.yaml.j2 b/roles/metallb/templates/metallb-values.yaml.j2 index d641183..e858ca8 100644 --- a/roles/metallb/templates/metallb-values.yaml.j2 +++ b/roles/metallb/templates/metallb-values.yaml.j2 @@ -3,4 +3,4 @@ configInline: - name: default protocol: layer2 addresses: - - {{ metallb.iprange }} + - {{ lb.pool }} diff --git a/roles/purelb/tasks/main.yaml b/roles/purelb/tasks/main.yaml index 749684c..13b0290 100644 --- a/roles/purelb/tasks/main.yaml +++ b/roles/purelb/tasks/main.yaml @@ -7,7 +7,9 @@ - name: install PureLB command: kubectl apply -f https://gitlab.com/api/v4/projects/purelb%2Fpurelb/packages/generic/manifest/0.0.1/purelb-complete.yaml retries: 2 - delay: 5 + delay: 10 + register: result + until: result.rc == 0 - name: install PureLB config command: kubectl apply -f /etc/purelb-config.yaml diff --git a/roles/purelb/templates/purelb-config.yaml.j2 b/roles/purelb/templates/purelb-config.yaml.j2 index c5bd509..c9d4f80 100644 --- a/roles/purelb/templates/purelb-config.yaml.j2 +++ b/roles/purelb/templates/purelb-config.yaml.j2 @@ -6,6 +6,6 @@ metadata: spec: local: v4pools: - - subnet: '{{ purelb.subnet }}' - pool: '{{ purelb.pool }}' + - subnet: '{{ lb.subnet }}' + pool: '{{ lb.pool }}' aggregation: default