mirror of
https://gitea.fenix-dev.com/fenix-gitea-admin/iac-ansible-private.git
synced 2025-10-27 08:43:05 +00:00
Compare commits
3 Commits
297354bf83
...
9bbe345dba
| Author | SHA1 | Date | |
|---|---|---|---|
| 9bbe345dba | |||
| d1d03f45e9 | |||
| d0a6f334ed |
@ -1,39 +1,47 @@
|
|||||||
- name: Instalar pip3 no host remoto
|
- name: Instalar pip3 no host remoto
|
||||||
|
become: true
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: python3-pip
|
name: python3-pip
|
||||||
state: present
|
state: present
|
||||||
update_cache: true
|
update_cache: true
|
||||||
|
|
||||||
- name: Instalar ruamel.yaml no host remoto
|
- name: Instalar ruamel.yaml no host remoto
|
||||||
|
become: true
|
||||||
ansible.builtin.pip:
|
ansible.builtin.pip:
|
||||||
name: ruamel.yaml
|
name: ruamel.yaml
|
||||||
executable: pip3
|
executable: pip3
|
||||||
|
|
||||||
- name: Fazer download do manifest oficial do Flannel
|
- name: Fazer download do manifest oficial do Flannel
|
||||||
|
become: true
|
||||||
get_url:
|
get_url:
|
||||||
url: https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
|
url: https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
|
||||||
dest: /tmp/kube-flannel.yml
|
dest: /tmp/kube-flannel.yml
|
||||||
|
|
||||||
- name: Substituir o CIDR da rede no manifest
|
- name: Substituir o CIDR da rede no manifest
|
||||||
|
become: true
|
||||||
replace:
|
replace:
|
||||||
path: /tmp/kube-flannel.yml
|
path: /tmp/kube-flannel.yml
|
||||||
regexp: '10\.244\.0\.0/16'
|
regexp: '10\.244\.0\.0/16'
|
||||||
replace: '192.168.3.0/16'
|
replace: '192.168.2.0/16' # .3.
|
||||||
|
|
||||||
- name: Corrigir net-conf.json no manifest do Flannel
|
- name: Corrigir net-conf.json no manifest do Flannel
|
||||||
|
become: true
|
||||||
ansible.builtin.script:
|
ansible.builtin.script:
|
||||||
cmd: patch_netconf.py
|
cmd: patch_netconf.py
|
||||||
|
|
||||||
- name: cat flannel
|
- name: cat flannel
|
||||||
|
become: true
|
||||||
shell: |
|
shell: |
|
||||||
cat /tmp/kube-flannel.yml
|
cat /tmp/kube-flannel.yml
|
||||||
register: flannel_manifest
|
register: flannel_manifest
|
||||||
|
|
||||||
- name: Mostrar conteúdo do manifest
|
- name: Mostrar conteúdo do manifest
|
||||||
|
become: true
|
||||||
debug:
|
debug:
|
||||||
var: flannel_manifest.stdout
|
var: flannel_manifest.stdout
|
||||||
|
|
||||||
- name: Forçar uso da interface correta
|
- name: Forçar uso da interface correta
|
||||||
|
become: true
|
||||||
replace:
|
replace:
|
||||||
path: /tmp/kube-flannel.yml
|
path: /tmp/kube-flannel.yml
|
||||||
regexp: 'command:
|
regexp: 'command:
|
||||||
@ -49,11 +57,12 @@
|
|||||||
|
|
||||||
|
|
||||||
- name: Inicializar o cluster com kubeadm
|
- name: Inicializar o cluster com kubeadm
|
||||||
|
become: true
|
||||||
command:
|
command:
|
||||||
argv:
|
argv:
|
||||||
- kubeadm
|
- kubeadm
|
||||||
- init
|
- init
|
||||||
- --pod-network-cidr=192.168.3.0/16
|
- --pod-network-cidr=192.168.2.0/16 # .3.
|
||||||
- --apiserver-advertise-address=192.168.1.150
|
- --apiserver-advertise-address=192.168.1.150
|
||||||
- --cri-socket=unix:///run/containerd/containerd.sock
|
- --cri-socket=unix:///run/containerd/containerd.sock
|
||||||
creates: /etc/kubernetes/admin.conf
|
creates: /etc/kubernetes/admin.conf
|
||||||
@ -62,12 +71,14 @@
|
|||||||
|
|
||||||
|
|
||||||
- name: Verificar se o diretório .kube já existe
|
- name: Verificar se o diretório .kube já existe
|
||||||
|
become: true
|
||||||
stat:
|
stat:
|
||||||
path: /home/fenix/.kube
|
path: /home/fenix/.kube
|
||||||
register: kube_dir
|
register: kube_dir
|
||||||
|
|
||||||
|
|
||||||
- name: Criar diretório .kube para o usuário ubuntu
|
- name: Criar diretório .kube para o usuário ubuntu
|
||||||
|
become: true
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: /home/fenix/.kube
|
path: /home/fenix/.kube
|
||||||
state: directory
|
state: directory
|
||||||
@ -77,6 +88,7 @@
|
|||||||
when: not kube_dir.stat.exists
|
when: not kube_dir.stat.exists
|
||||||
|
|
||||||
- name: Set up kubeconfig for user
|
- name: Set up kubeconfig for user
|
||||||
|
become: true
|
||||||
copy:
|
copy:
|
||||||
src: /etc/kubernetes/admin.conf
|
src: /etc/kubernetes/admin.conf
|
||||||
dest: /home/fenix/.kube/config
|
dest: /home/fenix/.kube/config
|
||||||
@ -87,6 +99,7 @@
|
|||||||
when: not kube_dir.stat.exists
|
when: not kube_dir.stat.exists
|
||||||
|
|
||||||
- name: 33 Wait for Kubernetes API to be ready
|
- name: 33 Wait for Kubernetes API to be ready
|
||||||
|
become: true
|
||||||
shell: |
|
shell: |
|
||||||
kubectl get --raw='/healthz'
|
kubectl get --raw='/healthz'
|
||||||
environment:
|
environment:
|
||||||
@ -98,11 +111,13 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: cat flannel
|
- name: cat flannel
|
||||||
|
become: true
|
||||||
shell: |
|
shell: |
|
||||||
cat /tmp/kube-flannel.yml
|
cat /tmp/kube-flannel.yml
|
||||||
register: flannel_manifest2
|
register: flannel_manifest2
|
||||||
|
|
||||||
- name: Mostrar conteúdo do manifest
|
- name: Mostrar conteúdo do manifest
|
||||||
|
become: true
|
||||||
debug:
|
debug:
|
||||||
var: flannel_manifest2.stdout
|
var: flannel_manifest2.stdout
|
||||||
|
|
||||||
@ -115,6 +130,7 @@
|
|||||||
# KUBECONFIG: /home/fenix/.kube/config
|
# KUBECONFIG: /home/fenix/.kube/config
|
||||||
|
|
||||||
- name: 34 Wait for Kubernetes API to be ready
|
- name: 34 Wait for Kubernetes API to be ready
|
||||||
|
become: true
|
||||||
shell: |
|
shell: |
|
||||||
kubectl get --raw='/healthz'
|
kubectl get --raw='/healthz'
|
||||||
environment:
|
environment:
|
||||||
@ -126,9 +142,11 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Get kubeadm join command
|
- name: Get kubeadm join command
|
||||||
|
become: true
|
||||||
shell: kubeadm token create --print-join-command
|
shell: kubeadm token create --print-join-command
|
||||||
register: join_cmd
|
register: join_cmd
|
||||||
|
|
||||||
- name: Set join command as fact
|
- name: Set join command as fact
|
||||||
|
become: true
|
||||||
set_fact:
|
set_fact:
|
||||||
kubeadm_join_command: "{{ join_cmd.stdout }}"
|
kubeadm_join_command: "{{ join_cmd.stdout }}"
|
||||||
@ -89,6 +89,7 @@
|
|||||||
|
|
||||||
|
|
||||||
- name: Criar arquivo de configuração sysctl para Kubernetes
|
- name: Criar arquivo de configuração sysctl para Kubernetes
|
||||||
|
become: true
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
dest: /etc/sysctl.d/k8s.conf
|
dest: /etc/sysctl.d/k8s.conf
|
||||||
content: |
|
content: |
|
||||||
@ -100,11 +101,13 @@
|
|||||||
notify: Reload sysctl
|
notify: Reload sysctl
|
||||||
|
|
||||||
- name: Carregar módulo br_netfilter se necessário
|
- name: Carregar módulo br_netfilter se necessário
|
||||||
|
become: true
|
||||||
ansible.builtin.modprobe:
|
ansible.builtin.modprobe:
|
||||||
name: br_netfilter
|
name: br_netfilter
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Garantir que o módulo br_netfilter seja carregado na inicialização
|
- name: Garantir que o módulo br_netfilter seja carregado na inicialização
|
||||||
|
become: true
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
dest: /etc/modules-load.d/k8s.conf
|
dest: /etc/modules-load.d/k8s.conf
|
||||||
content: |
|
content: |
|
||||||
|
|||||||
Reference in New Issue
Block a user