mirror of
https://gitea.fenix-dev.com/fenix-gitea-admin/iac-ansible-private.git
synced 2026-03-22 12:29:47 +00:00
Compare commits
11 Commits
9e50c6c110
...
d6d5a94fd1
| Author | SHA1 | Date | |
|---|---|---|---|
| d6d5a94fd1 | |||
| d47040565a | |||
| a794dcd037 | |||
| fee0b08777 | |||
| d047d1da32 | |||
| 0d93657131 | |||
| 1b1d683d38 | |||
| 2bca89aa2d | |||
| e2450e477a | |||
| 4be17277b9 | |||
| f45445443f |
@ -22,7 +22,7 @@
|
|||||||
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: '10.244.0.0/16' # .3.
|
replace: '10.240.0.0/16' # .3.
|
||||||
|
|
||||||
- name: Corrigir net-conf.json no manifest do Flannel
|
- name: Corrigir net-conf.json no manifest do Flannel
|
||||||
become: true
|
become: true
|
||||||
@ -40,12 +40,12 @@
|
|||||||
debug:
|
debug:
|
||||||
var: flannel_manifest.stdout
|
var: flannel_manifest.stdout
|
||||||
|
|
||||||
- name: Adicionar --iface=enp6s19 ao flanneld
|
- name: Adicionar --iface=eth0 ao flanneld
|
||||||
become: true
|
become: true
|
||||||
ansible.builtin.lineinfile:
|
ansible.builtin.lineinfile:
|
||||||
path: /tmp/kube-flannel.yml
|
path: /tmp/kube-flannel.yml
|
||||||
insertafter: ' - --kube-subnet-mgr'
|
insertafter: ' - --kube-subnet-mgr'
|
||||||
line: ' - --iface=enp6s19'
|
line: ' - --iface=eth0'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -55,8 +55,9 @@
|
|||||||
argv:
|
argv:
|
||||||
- kubeadm
|
- kubeadm
|
||||||
- init
|
- init
|
||||||
- --pod-network-cidr=10.244.0.0/16 # .3.
|
- --pod-network-cidr=10.240.0.0/16 # .3.
|
||||||
- --apiserver-advertise-address=192.168.1.150
|
- --apiserver-advertise-address=192.168.1.50
|
||||||
|
- --service-cidr=10.95.0.0/12
|
||||||
creates: /etc/kubernetes/admin.conf
|
creates: /etc/kubernetes/admin.conf
|
||||||
|
|
||||||
|
|
||||||
@ -161,6 +162,53 @@
|
|||||||
var: resultado_nfs.stdout_lines
|
var: resultado_nfs.stdout_lines
|
||||||
|
|
||||||
|
|
||||||
|
- name: Instalar MetalLB (manifest oficial)
|
||||||
|
shell: kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.9/config/manifests/metallb-native.yaml
|
||||||
|
become_user: fenix
|
||||||
|
environment:
|
||||||
|
KUBECONFIG: /home/fenix/.kube/config
|
||||||
|
|
||||||
|
- name: Esperar pelo webhook do MetalLB
|
||||||
|
shell: kubectl get endpoints webhook-service -n metallb-system -o jsonpath='{.subsets[*].addresses[*].ip}'
|
||||||
|
register: webhook_ready
|
||||||
|
until: webhook_ready.stdout != ""
|
||||||
|
retries: 10
|
||||||
|
delay: 5
|
||||||
|
become_user: fenix
|
||||||
|
environment:
|
||||||
|
KUBECONFIG: /home/fenix/.kube/config
|
||||||
|
|
||||||
|
- name: Criar IP pool
|
||||||
|
shell: |
|
||||||
|
cat <<EOF | kubectl apply -f -
|
||||||
|
apiVersion: metallb.io/v1beta1
|
||||||
|
kind: IPAddressPool
|
||||||
|
metadata:
|
||||||
|
name: local-pool
|
||||||
|
namespace: metallb-system
|
||||||
|
spec:
|
||||||
|
addresses:
|
||||||
|
- 10.240.0.100-10.240.0.250
|
||||||
|
EOF
|
||||||
|
become_user: fenix
|
||||||
|
environment:
|
||||||
|
KUBECONFIG: /home/fenix/.kube/config
|
||||||
|
|
||||||
|
- name: Criar anúncio L2
|
||||||
|
shell: |
|
||||||
|
cat <<EOF | kubectl apply -f -
|
||||||
|
apiVersion: metallb.io/v1beta1
|
||||||
|
kind: L2Advertisement
|
||||||
|
metadata:
|
||||||
|
name: advert
|
||||||
|
namespace: metallb-system
|
||||||
|
EOF
|
||||||
|
become_user: fenix
|
||||||
|
environment:
|
||||||
|
KUBECONFIG: /home/fenix/.kube/config
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: Get kubeadm join command
|
- name: Get kubeadm join command
|
||||||
become: true
|
become: true
|
||||||
shell: kubeadm token create --print-join-command
|
shell: kubeadm token create --print-join-command
|
||||||
|
|||||||
@ -10,7 +10,7 @@ with open("/tmp/kube-flannel.yml", "r") as f:
|
|||||||
for doc in docs:
|
for doc in docs:
|
||||||
if doc.get("kind") == "ConfigMap" and doc.get("metadata", {}).get("name") == "kube-flannel-cfg":
|
if doc.get("kind") == "ConfigMap" and doc.get("metadata", {}).get("name") == "kube-flannel-cfg":
|
||||||
doc["data"]["net-conf.json"] = '''{
|
doc["data"]["net-conf.json"] = '''{
|
||||||
"Network": "10.244.0.0/16",
|
"Network": "10.240.0.0/16",
|
||||||
"Backend": {
|
"Backend": {
|
||||||
"Type": "vxlan"
|
"Type": "vxlan"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -49,4 +49,22 @@
|
|||||||
kubectl apply -f /tmp/stolon/kubernetes-files/files/stolon-namespace.yaml
|
kubectl apply -f /tmp/stolon/kubernetes-files/files/stolon-namespace.yaml
|
||||||
kubectl apply -f /tmp/stolon/kubernetes-files/files/
|
kubectl apply -f /tmp/stolon/kubernetes-files/files/
|
||||||
environment:
|
environment:
|
||||||
KUBECONFIG: /home/fenix/.kube/config
|
KUBECONFIG: /home/fenix/.kube/config
|
||||||
|
|
||||||
|
- name: Verificar se o cluster Stolon já existe
|
||||||
|
shell: kubectl get configmap -n postgresql kube-stolon
|
||||||
|
register: stolon_cluster_check
|
||||||
|
failed_when: false
|
||||||
|
changed_when: false
|
||||||
|
become_user: fenix
|
||||||
|
environment:
|
||||||
|
KUBECONFIG: /home/fenix/.kube/config
|
||||||
|
|
||||||
|
#- name: Aplicar o stolon
|
||||||
|
# become: yes
|
||||||
|
# become_user: fenix
|
||||||
|
# shell: |
|
||||||
|
# kubectl run -i -n=postgresql -t stolonctl --image=sorintlab/stolon:master-pg10 --restart=Never --rm -- /usr/local/bin/stolonctl --cluster-name=kube-stolon --store-backend=kubernetes --kube-resource-kind=configmap init
|
||||||
|
# when: stolon_cluster_check.rc != 0
|
||||||
|
# environment:
|
||||||
|
# KUBECONFIG: /home/fenix/.kube/config
|
||||||
Reference in New Issue
Block a user