Compare commits

...

11 Commits

3 changed files with 73 additions and 7 deletions

View File

@ -22,7 +22,7 @@
replace:
path: /tmp/kube-flannel.yml
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
become: true
@ -40,12 +40,12 @@
debug:
var: flannel_manifest.stdout
- name: Adicionar --iface=enp6s19 ao flanneld
- name: Adicionar --iface=eth0 ao flanneld
become: true
ansible.builtin.lineinfile:
path: /tmp/kube-flannel.yml
insertafter: ' - --kube-subnet-mgr'
line: ' - --iface=enp6s19'
line: ' - --iface=eth0'
@ -55,8 +55,9 @@
argv:
- kubeadm
- init
- --pod-network-cidr=10.244.0.0/16 # .3.
- --apiserver-advertise-address=192.168.1.150
- --pod-network-cidr=10.240.0.0/16 # .3.
- --apiserver-advertise-address=192.168.1.50
- --service-cidr=10.95.0.0/12
creates: /etc/kubernetes/admin.conf
@ -161,6 +162,53 @@
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
become: true
shell: kubeadm token create --print-join-command

View File

@ -10,7 +10,7 @@ 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": "10.244.0.0/16",
"Network": "10.240.0.0/16",
"Backend": {
"Type": "vxlan"
},

View File

@ -50,3 +50,21 @@
kubectl apply -f /tmp/stolon/kubernetes-files/files/
environment:
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