Compare commits

..

39 Commits

Author SHA1 Message Date
c3a225ca05 Update .gitea/workflows/deploy-k8s.yml 2025-10-24 18:43:35 +00:00
9385da0ed1 Update inventory.ini 2025-10-23 07:52:40 +00:00
feefc19d09 Update roles/kube-master/tasks/main.yml 2025-10-21 16:06:18 +00:00
3c990702ed Update roles/kube-master/tasks/patch_netconf.py 2025-10-21 15:43:10 +00:00
55ac95fc90 Update roles/kube-master/tasks/main.yml 2025-10-21 15:09:51 +00:00
880c7b23f1 Update roles/kube-node/tasks/main.yml 2025-10-21 09:12:45 +00:00
78e1bb9b48 Update roles/kube-master/tasks/patch_netconf.py 2025-10-21 09:11:30 +00:00
2391d89175 Update roles/kube-master/tasks/main.yml 2025-10-21 09:11:06 +00:00
47b3cb9bd4 Update roles/kube-node/tasks/main.yml 2025-10-20 20:21:19 +00:00
b016fd12ca Update roles/kube-node/tasks/main.yml 2025-10-20 20:14:40 +00:00
805b5c0817 Update roles/kube-node/tasks/main.yml 2025-10-20 20:13:46 +00:00
def84bb4de Update roles/kube-node/tasks/main.yml 2025-10-20 20:05:16 +00:00
8b7a067374 Update roles/kube-node/tasks/main.yml 2025-10-20 19:53:34 +00:00
249f9cadf3 Update roles/kube-node/tasks/main.yml 2025-10-20 19:48:09 +00:00
ff172ce20d Update roles/kube-node/tasks/main.yml 2025-10-20 19:38:21 +00:00
542b70c057 Update roles/kube-node/tasks/main.yml 2025-10-20 19:32:29 +00:00
13fc57c614 Update roles/kube-node/tasks/main.yml 2025-10-20 19:26:10 +00:00
52ddca4910 Update roles/kube-node/tasks/main.yml 2025-10-20 19:15:51 +00:00
05600edcec Update roles/kube-node/tasks/main.yml 2025-10-20 17:22:04 +00:00
ac9d93a0fb Update roles/kube-node/tasks/main.yml 2025-10-20 17:10:57 +00:00
0324d38eb4 Update roles/kube-master/tasks/main.yml 2025-10-20 16:45:07 +00:00
1c5db46acc Update roles/kube-master/tasks/patch_netconf.py 2025-10-20 16:44:35 +00:00
fd6cae2c81 Update roles/kubernetes/tasks/main.yml 2025-10-20 14:38:11 +00:00
75ca33bfa9 Update roles/kubernetes/tasks/main.yml 2025-10-20 13:55:08 +00:00
c0022c470d Update roles/kubernetes/tasks/main.yml 2025-10-20 13:49:55 +00:00
88ad914efe Update roles/kubernetes/tasks/main.yml 2025-10-20 13:32:39 +00:00
24a1fc02fd Update roles/kubernetes/tasks/main.yml 2025-10-20 13:24:55 +00:00
965d2d80c3 Update roles/kubernetes/tasks/main.yml 2025-10-20 13:18:49 +00:00
19ae31c442 Update roles/kubernetes/tasks/main.yml 2025-10-20 13:13:50 +00:00
ce5cd6d275 Update roles/kubernetes/tasks/main.yml 2025-10-20 13:07:56 +00:00
d06a6ac646 Update roles/kubernetes/tasks/main.yml 2025-10-20 13:02:01 +00:00
7d6530ba4e Update roles/kube-master/tasks/main.yml 2025-10-20 12:53:09 +00:00
34cc967d0b Update roles/kubernetes/tasks/main.yml 2025-10-20 12:51:59 +00:00
5401347945 Update roles/kubernetes/tasks/main.yml 2025-10-20 12:51:32 +00:00
16a6fae38e Update roles/kubernetes/tasks/main.yml 2025-10-20 12:23:53 +00:00
ee12fcec8b Update roles/kubernetes/tasks/main.yml 2025-10-20 12:16:29 +00:00
9721f54e7e Update roles/kube-master/tasks/main.yml 2025-10-20 11:03:40 +00:00
808ddb03eb Update roles/kube-master/tasks/patch_netconf.py 2025-10-20 09:45:03 +00:00
f14a0a137a Update roles/kube-master/tasks/main.yml 2025-10-20 08:49:45 +00:00
6 changed files with 113 additions and 51 deletions

View File

@ -2,7 +2,7 @@ name: IACAnsible
on:
push:
branches: [ main ]
branches: [ kubernetes-vazio ]
workflow_dispatch:
jobs:

View File

@ -1,9 +1,9 @@
[kube-master]
master1 ansible_host=192.168.1.10 ansible_user=ubuntu
master1 ansible_host=192.168.1.10 ansible_user=ubuntu ansible_ssh_common_args='-o StrictHostKeyChecking=no'
[kube-node]
node1 ansible_host=192.168.1.11 ansible_user=ubuntu
node2 ansible_host=192.168.1.12 ansible_user=ubuntu
node1 ansible_host=192.168.1.11 ansible_user=ubuntu ansible_ssh_common_args='-o StrictHostKeyChecking=no'
node2 ansible_host=192.168.1.12 ansible_user=ubuntu ansible_ssh_common_args='-o StrictHostKeyChecking=no'
[all:vars]
ansible_python_interpreter=/usr/bin/python3
#[all:vars]
#ansible_python_interpreter=/usr/bin/python3

View File

@ -22,7 +22,7 @@
replace:
path: /tmp/kube-flannel.yml
regexp: '10\.244\.0\.0/16'
replace: '192.168.2.0/16' # .3.
replace: '10.244.0.0/16' # .3.
- name: Corrigir net-conf.json no manifest do Flannel
become: true
@ -40,19 +40,12 @@
debug:
var: flannel_manifest.stdout
- name: Forçar uso da interface correta
- name: Adicionar --iface=eth0 ao flanneld
become: true
replace:
ansible.builtin.lineinfile:
path: /tmp/kube-flannel.yml
regexp: 'command:
\[.*?flanneld.*?\]
'
replace: |
command:
- /opt/bin/flanneld
- --ip-masq
- --kube-subnet-mgr
- --iface=eth1
insertafter: ' - --kube-subnet-mgr'
line: ' - --iface=eth0'
@ -62,9 +55,8 @@
argv:
- kubeadm
- init
- --pod-network-cidr=192.168.2.0/16 # .3.
- --pod-network-cidr=10.244.0.0/16 # .3.
- --apiserver-advertise-address=192.168.1.150
- --cri-socket=unix:///run/containerd/containerd.sock
creates: /etc/kubernetes/admin.conf
@ -121,13 +113,13 @@
debug:
var: flannel_manifest2.stdout
#- name: Aplicar o manifest do Flannel
# become: yes
# become_user: fenix
# shell: |
# kubectl apply -f /tmp/kube-flannel.yml
# environment:
# KUBECONFIG: /home/fenix/.kube/config
- name: Aplicar o manifest do Flannel
become: yes
become_user: fenix
shell: |
kubectl apply -f /tmp/kube-flannel.yml
environment:
KUBECONFIG: /home/fenix/.kube/config
- name: 34 Wait for Kubernetes API to be ready
become: true

View File

@ -10,11 +10,11 @@ with open("/tmp/kube-flannel.yml", "r") as f:
for doc in docs:
if doc.get("kind") == "ConfigMap" and doc.get("metadata", {}).get("name") == "kube-flannel-cfg":
doc["data"]["net-conf.json"] = '''{
"Network": "192.168.3.0/16",
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan"
},
"Interface": "eth1"
"Interface": "eth0"
}'''
with open("/tmp/kube-flannel.yml", "w") as f:

View File

@ -2,6 +2,30 @@
hostname:
name: "ubuntu-{{ ansible_play_hosts.index(inventory_hostname) }}"
- name: Obter hostname real do nó
become: true
command: hostname
register: node_hostname
- name: Verificar se o nó já está no cluster
shell: |
kubectl get nodes --no-headers | grep -w {{ node_hostname.stdout }} || echo "NOT_IN_CLUSTER"
register: node_status
environment:
KUBECONFIG: /etc/kubernetes/kubelet.conf
- name: Join Kubernetes cluster
shell: "{{ hostvars['master1']['kubeadm_join_command'] }}"
when: hostvars['master1']['kubeadm_join_command'] is defined
when:
- hostvars['master1']['kubeadm_join_command'] is defined
- node_status.stdout | trim == "NOT_IN_CLUSTER"
#- name: Atribuir podCIDR ao nó via hostname real
# shell: |
# kubectl patch node {{ node_hostname.stdout }} -p '{"spec":{"podCIDR":"192.168.2.0/24"}}'
# when:
# - hostvars['master1']['kubeadm_join_command'] is defined
# - node_status.stdout | trim == "NOT_IN_CLUSTER"

View File

@ -1,23 +1,69 @@
- name: Install containerd
- name: disable UFW firewall for labs
service:
name: ufw
state: stopped
enabled: false
- name: Disable SWAP
shell: |
swapoff -a
- name: Disable SWAP in fstab
lineinfile:
path: /etc/fstab
regexp: '^.*swap.*$'
line: '#\0'
backrefs: yes
- name: Installation of apt-utils
become: true
apt:
name:
- apt-transport-https
state: present
update_cache: yes
- name: Instalar containerd
become: true
apt:
name: containerd
state: present
update_cache: no
become: true
update_cache: yes
- name: Hold Kubernetes packages
- name: Criar diretório de configuração do containerd
become: true
ansible.builtin.shell: |
apt-mark hold containerd
#- name: Add Kubernetes APT key
# apt_key:
# url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
# state: present
file:
path: /etc/containerd
state: directory
mode: '0755'
- name: Gerar config.toml padrão do containerd
become: true
shell: containerd config default > /etc/containerd/config.toml
args:
creates: /etc/containerd/config.toml
- name: Ativar SystemdCgroup no containerd
become: true
replace:
path: /etc/containerd/config.toml
regexp: 'SystemdCgroup = false'
replace: 'SystemdCgroup = true'
- name: Reiniciar e habilitar containerd
become: true
systemd:
name: containerd
state: restarted
enabled: true
- name: Setting value of SystemdCgroup
shell: |
containerd config default | sudo tee /etc/containerd/config.toml | grep SystemdCgroup
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
#- name: Add Kubernetes repo
# apt_repository:
# repo: deb http://apt.kubernetes.io/ kubernetes-jammy main
# state: present
- name: Adicionar chave GPG do Kubernetes
become: true
@ -63,13 +109,13 @@
state: absent
- name: Ativar ip_forward de forma idempotente
become: true
ansible.builtin.sysctl:
name: net.ipv4.ip_forward
value: '1'
state: present
reload: yes
#- name: Ativar ip_forward de forma idempotente
# become: true
# ansible.builtin.sysctl:
# name: net.ipv4.ip_forward
# value: '1'
# state: present
# reload: yes
- name: Configurar sysctl para Kubernetes
become: true