Deploy multiple clusters in one time
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
7f36b6eae6
commit
2ce6678959
2 changed files with 43 additions and 32 deletions
|
|
@ -187,7 +187,7 @@
|
||||||
|
|
||||||
- name: Create KubernetesMasterConfigured group
|
- name: Create KubernetesMasterConfigured group
|
||||||
group_by:
|
group_by:
|
||||||
key: KubernetesMasterConfigured
|
key: KubernetesMasterConfigured_{{ kubernetes_cluster_name }}
|
||||||
when:
|
when:
|
||||||
- st.stat.exists
|
- st.stat.exists
|
||||||
|
|
||||||
|
|
@ -209,28 +209,25 @@
|
||||||
# - groups['KubernetesMasters'] | length > 1
|
# - groups['KubernetesMasters'] | length > 1
|
||||||
changed_when: False
|
changed_when: False
|
||||||
|
|
||||||
- name: Deploy initial kubeadm config
|
- name: Deploy First controler
|
||||||
template:
|
block:
|
||||||
src: kubeadm-config.yaml.j2
|
- name: Deploy initial kubeadm config
|
||||||
dest: /root/kubeadm-config.yaml
|
template:
|
||||||
owner: root
|
src: kubeadm-config.yaml.j2
|
||||||
group: root
|
dest: /root/kubeadm-config.yaml
|
||||||
mode: 0600
|
owner: root
|
||||||
when:
|
group: root
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
mode: 0600
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
|
||||||
|
|
||||||
- name: Init Kubernetes on {{ groups['KubernetesMasters'][0] }}
|
- name: Init Kubernetes on {{ groups['KubernetesMasters'][0] }}
|
||||||
command: kubeadm init --config=/root/kubeadm-config.yaml
|
command: kubeadm init --config=/root/kubeadm-config.yaml
|
||||||
when:
|
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- name: Add {{ ansible_hostname }} to KubernetesMasterConfigured group
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
group_by:
|
||||||
|
key: KubernetesMasterConfigured_{{ kubernetes_cluster_name }}
|
||||||
|
|
||||||
- name: Add {{ ansible_hostname }} to KubernetesMasterConfigured group
|
|
||||||
group_by:
|
|
||||||
key: KubernetesMasterConfigured
|
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
|
|
||||||
# End of first controler
|
# End of first controler
|
||||||
|
|
@ -242,7 +239,7 @@
|
||||||
changed_when: False
|
changed_when: False
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined
|
||||||
|
|
||||||
#- name: Deploy kubeadm config
|
#- name: Deploy kubeadm config
|
||||||
# template:
|
# template:
|
||||||
|
|
@ -260,7 +257,7 @@
|
||||||
register: kubernetes_certificateKey
|
register: kubernetes_certificateKey
|
||||||
delegate_to: "{{ lb_kubemaster }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
- kubernetes_master|bool
|
- kubernetes_master|bool
|
||||||
|
|
||||||
|
|
@ -269,7 +266,7 @@
|
||||||
register: kubetoken
|
register: kubetoken
|
||||||
delegate_to: "{{ lb_kubemaster }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Retreive hash certificat
|
- name: Retreive hash certificat
|
||||||
|
|
@ -282,7 +279,7 @@
|
||||||
register: cacerthash
|
register: cacerthash
|
||||||
delegate_to: "{{ lb_kubemaster }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Deploy kubeadm config
|
- name: Deploy kubeadm config
|
||||||
|
|
@ -293,11 +290,11 @@
|
||||||
group: root
|
group: root
|
||||||
mode: 0600
|
mode: 0600
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Join '{{ ansible_hostname }}' to Kubernetes cluster
|
- name: Join '{{ ansible_hostname }}' to Kubernetes cluster
|
||||||
command: kubeadm join --config=/root/kubeadm-config.yaml
|
command: kubeadm join --config=/root/kubeadm-config.yaml
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured_' ~ kubernetes_cluster_name] is not defined
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,17 @@
|
||||||
---
|
---
|
||||||
|
- name: Add master to KubernetesMasters_ClusterName group
|
||||||
|
group_by:
|
||||||
|
key: KubernetesMasters_{{ kubernetes_cluster_name }}
|
||||||
|
when:
|
||||||
|
- "'KubernetesMasters' in group_names"
|
||||||
|
|
||||||
|
- name: Add node to KubernetesNodes_ClusterName group
|
||||||
|
group_by:
|
||||||
|
key: KubernetesNodes_{{ kubernetes_cluster_name }}
|
||||||
|
when:
|
||||||
|
- "'KubernetesNodes' in group_names"
|
||||||
|
|
||||||
|
|
||||||
- name: Disable SWAP since kubernetes can't work with swap enabled (1/2)
|
- name: Disable SWAP since kubernetes can't work with swap enabled (1/2)
|
||||||
command: swapoff -a
|
command: swapoff -a
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
@ -15,11 +28,11 @@
|
||||||
thinpool: kubernetes
|
thinpool: kubernetes
|
||||||
size: 20g
|
size: 20g
|
||||||
|
|
||||||
# Install API loadbalancer
|
## Install API loadbalancer
|
||||||
- include_tasks: "load_balancer.yml"
|
#- include_tasks: "load_balancer.yml"
|
||||||
when:
|
# when:
|
||||||
- kubernetes_master|bool
|
# - kubernetes_master|bool
|
||||||
- groups['KubernetesMasters'] | length > 1
|
# - groups['KubernetesMasters'] | length > 1
|
||||||
|
|
||||||
- name: Kubernetes cluster with kubeadm
|
- name: Kubernetes cluster with kubeadm
|
||||||
include_tasks: "cluster_kubeadm.yml"
|
include_tasks: "cluster_kubeadm.yml"
|
||||||
|
|
@ -82,12 +95,13 @@
|
||||||
- name: Check if a node is still tainted
|
- name: Check if a node is still tainted
|
||||||
command: kubectl --kubeconfig=/etc/kubernetes/admin.conf get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
|
command: kubectl --kubeconfig=/etc/kubernetes/admin.conf get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
|
||||||
register: current_taint
|
register: current_taint
|
||||||
|
check_mode: no
|
||||||
when:
|
when:
|
||||||
- kubernetes_master_taint|bool
|
- kubernetes_master_taint|bool
|
||||||
|
|
||||||
- name: taint the machine if needed
|
- name: taint the machine if needed
|
||||||
# command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master-
|
# command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master-
|
||||||
command: kubectl taint nodes '{{ ansible_hostname | lower }}' node-role.kubernetes.io/master-
|
command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes '{{ ansible_hostname | lower }}' node-role.kubernetes.io/master-
|
||||||
when:
|
when:
|
||||||
- kubernetes_master_taint|bool
|
- kubernetes_master_taint|bool
|
||||||
- current_taint.stdout
|
- current_taint.stdout
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue