mirror of
https://gitea.fenix-dev.com/fenix-gitea-admin/iac-ansible-private.git
synced 2025-10-27 16:53:04 +00:00
Compare commits
39 Commits
9bbe345dba
...
kubernetes
| Author | SHA1 | Date | |
|---|---|---|---|
| c3a225ca05 | |||
| 9385da0ed1 | |||
| feefc19d09 | |||
| 3c990702ed | |||
| 55ac95fc90 | |||
| 880c7b23f1 | |||
| 78e1bb9b48 | |||
| 2391d89175 | |||
| 47b3cb9bd4 | |||
| b016fd12ca | |||
| 805b5c0817 | |||
| def84bb4de | |||
| 8b7a067374 | |||
| 249f9cadf3 | |||
| ff172ce20d | |||
| 542b70c057 | |||
| 13fc57c614 | |||
| 52ddca4910 | |||
| 05600edcec | |||
| ac9d93a0fb | |||
| 0324d38eb4 | |||
| 1c5db46acc | |||
| fd6cae2c81 | |||
| 75ca33bfa9 | |||
| c0022c470d | |||
| 88ad914efe | |||
| 24a1fc02fd | |||
| 965d2d80c3 | |||
| 19ae31c442 | |||
| ce5cd6d275 | |||
| d06a6ac646 | |||
| 7d6530ba4e | |||
| 34cc967d0b | |||
| 5401347945 | |||
| 16a6fae38e | |||
| ee12fcec8b | |||
| 9721f54e7e | |||
| 808ddb03eb | |||
| f14a0a137a |
@ -2,7 +2,7 @@ name: IACAnsible
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
branches: [ kubernetes-vazio ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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"
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user