Make some work
This commit is contained in:
parent
799dd340ea
commit
b37e69c7bc
4 changed files with 89 additions and 54 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
---
|
---
|
||||||
kubernetes_cri: "containerd"
|
kubernetes_cri: "containerd"
|
||||||
kubernetes_server: false
|
kubernetes_server: false
|
||||||
|
kubernetes_version: 1.15.0
|
||||||
|
|
@ -28,16 +28,22 @@
|
||||||
owner: root
|
owner: root
|
||||||
mode: 0644
|
mode: 0644
|
||||||
register: need_firewalld_reload
|
register: need_firewalld_reload
|
||||||
|
when:
|
||||||
|
- kubernetes_server == true
|
||||||
|
|
||||||
#- name: Reload firewalld configuration
|
#- name: Reload firewalld configuration
|
||||||
# service:
|
# service:
|
||||||
# name: firewalld
|
# name: firewalld
|
||||||
# state: reloaded
|
# state: reloaded
|
||||||
# enabled: yes
|
# enabled: yes
|
||||||
|
# when:
|
||||||
|
# - kubernetes_server == true
|
||||||
|
|
||||||
- name: reload firewalld to refresh service list
|
- name: reload firewalld to refresh service list
|
||||||
command: firewall-cmd --reload
|
command: firewall-cmd --reload
|
||||||
when:
|
when:
|
||||||
- need_firewalld_reload is changed
|
- need_firewalld_reload is changed
|
||||||
|
- kubernetes_server == true
|
||||||
|
|
||||||
# Définir interface
|
# Définir interface
|
||||||
#- name: Open Firewalld
|
#- name: Open Firewalld
|
||||||
|
|
@ -49,3 +55,4 @@
|
||||||
# when:
|
# when:
|
||||||
# - need_firewall == true
|
# - need_firewall == true
|
||||||
# - firewall_name == "firewalld"
|
# - firewall_name == "firewalld"
|
||||||
|
# - kubernetes_server == true
|
||||||
|
|
|
||||||
|
|
@ -39,33 +39,15 @@
|
||||||
- "sysconfig/kubelet"
|
- "sysconfig/kubelet"
|
||||||
|
|
||||||
- name: Enable kubelet on boot
|
- name: Enable kubelet on boot
|
||||||
service: name=kubelet state=started enabled=yes
|
service:
|
||||||
|
name: kubelet
|
||||||
- stat: path=/etc/kubernetes/admin.conf
|
state: started
|
||||||
register: st
|
enabled: yes
|
||||||
changed_when: False
|
|
||||||
|
|
||||||
- name: Create KubernetesMasterConfigured group
|
|
||||||
group_by: key=KubernetesMasterConfigured
|
|
||||||
when:
|
|
||||||
- st.stat.exists
|
|
||||||
|
|
||||||
- include_tasks: "init_cluster.yml"
|
|
||||||
when:
|
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
|
||||||
|
|
||||||
# Install API loadbalancer
|
# Install API loadbalancer
|
||||||
- include_tasks: "load_balancer.yml"
|
- include_tasks: "load_balancer.yml"
|
||||||
when:
|
when:
|
||||||
- kubernetes_master is true
|
- kubernetes_master == true
|
||||||
- groups['KubernetesMaster'] | length > 1
|
|
||||||
|
|
||||||
# Prepare first master for extend procedure
|
|
||||||
- include_tasks: "prepare_first_master.yml"
|
|
||||||
when:
|
|
||||||
- groups['KubernetesMasterConfigured'][0] == ansible_hostname
|
|
||||||
- groups['KubernetesMasterConfigured'] | length == 1 # to be tested (potential syntax error)
|
|
||||||
- groups['KubernetesMaster'] | length > 1
|
- groups['KubernetesMaster'] | length > 1
|
||||||
|
|
||||||
- stat: path=/etc/kubernetes/admin.conf
|
- stat: path=/etc/kubernetes/admin.conf
|
||||||
|
|
@ -77,21 +59,54 @@
|
||||||
when:
|
when:
|
||||||
- st.stat.exists
|
- st.stat.exists
|
||||||
|
|
||||||
|
- name: Retreive kubeadm Major version
|
||||||
|
shell: kubeadm version | sed 's/.*{Major:"\([0-9]\)".*/\1/'
|
||||||
|
register: kubeadm_version_major
|
||||||
|
|
||||||
|
- name: Retreive kubeadm Minor version
|
||||||
|
shell: kubeadm version | sed -e 's/.* Minor:"\([0-9]*\)".*/\1/'
|
||||||
|
register: kubeadm_version_minor
|
||||||
|
|
||||||
|
- name: Deploy kubeadm config
|
||||||
|
template:
|
||||||
|
src: kubeadmin-config.yaml.j2
|
||||||
|
dest: /root/kubeadmin-config.yaml
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 600
|
||||||
|
when:
|
||||||
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
|
- kubeadm_version_major.rc == 1
|
||||||
|
- kubeadm_version_minor.rc > 15
|
||||||
|
|
||||||
|
- name: Init Kubernetes on {{ groups['KubernetesMasters'][0] }}
|
||||||
|
command: kubeadm init --config=kubeadm-config.yaml --upload-certs --apiserver-advertise-address={{ ansible_host }} --ignore-preflight-errors=SystemVerification
|
||||||
|
when:
|
||||||
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
|
- kubeadm_version_major.rc == 1
|
||||||
|
- kubeadm_version_minor.rc > 15
|
||||||
|
|
||||||
|
- name: Create KubernetesMasterConfigured group
|
||||||
|
group_by: key=KubernetesMasterConfigured
|
||||||
|
when:
|
||||||
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
|
|
||||||
- name: Extend Master services on unconfigured hosts
|
- name: Extend Master services on unconfigured hosts
|
||||||
include_tasks: "add_master.yml"
|
include_tasks: "add_master.yml"
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMaster'] | length > 1
|
- groups['KubernetesMaster'] | length > 1
|
||||||
|
|
||||||
#- name: Check if a node is still tainted
|
- name: Check if a node is still tainted
|
||||||
# command: kubectl get nodes '{{ ansible_host }}' -o jsonpath='{.spec.taints}'
|
command: kubectl get nodes '{{ ansible_host }}' -o jsonpath='{.spec.taints}'
|
||||||
# when: taint_master
|
when: kubernetes_master_taint
|
||||||
# register: current_taint
|
register: current_taint
|
||||||
# tags: taint
|
|
||||||
#
|
- name: taint the machine if needed
|
||||||
#- name: taint the machine if needed
|
command: kubectl taint nodes --all node-role.kubernetes.io/master-
|
||||||
# command: kubectl taint nodes --all node-role.kubernetes.io/master-
|
when: kubernetes_master_taint == true and current_taint.stdout
|
||||||
# when: taint_master == true and current_taint.stdout
|
|
||||||
# tags: taint
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# At this point, we have a kubernetes up and running, but ready for it
|
# At this point, we have a kubernetes up and running, but ready for it
|
||||||
|
|
|
||||||
|
|
@ -2,35 +2,47 @@
|
||||||
- name: Include vars for {{ ansible_os_family }}
|
- name: Include vars for {{ ansible_os_family }}
|
||||||
include_vars: "{{ ansible_os_family }}.yml"
|
include_vars: "{{ ansible_os_family }}.yml"
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
kubernetes_server: true
|
||||||
|
kubernetes_master: true
|
||||||
|
kubernetes_master_taint: false
|
||||||
|
when:
|
||||||
|
- "'KubernetesMasters' in group_names"
|
||||||
|
- "'KubernetesNodes' not in group_names"
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
kubernetes_server: true
|
||||||
|
kubernetes_master: false
|
||||||
|
kubernetes_master_taint: false
|
||||||
|
when:
|
||||||
|
- "'KubernetesNodes' in group_names"
|
||||||
|
- "'KubernetesMasters' not in group_names"
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
kubernetes_server: true
|
||||||
|
kubernetes_master: true
|
||||||
|
kubernetes_master_taint: true
|
||||||
|
when:
|
||||||
|
- "'KubernetesNodes' in group_names"
|
||||||
|
- "'KubernetesMasters' in group_names"
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
krubernetes_sever: false
|
||||||
|
when:
|
||||||
|
- "'KubernetesMasters' not in group_names"
|
||||||
|
- "'KubernetesNodes' not in group_names"
|
||||||
|
|
||||||
- name: Install kubernetes rules for {{ ansible_os_family }} OS family
|
- name: Install kubernetes rules for {{ ansible_os_family }} OS family
|
||||||
include_tasks: "{{ ansible_os_family }}.yml"
|
include_tasks: "{{ ansible_os_family }}.yml"
|
||||||
|
|
||||||
- name: Install kubernetes tools
|
- name: Install kubernetes tools
|
||||||
package: name="{{ kubernetes_package_name }}" state=latest update_cache=yes
|
package: name="{{ kubernetes_package_name }}" state=latest update_cache=yes
|
||||||
notify: Restart kubelet
|
# notify: Restart kubelet
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
kubernetes_server: true
|
|
||||||
kubernetes_master: true
|
|
||||||
when:
|
|
||||||
- "'KubernetesMasters' in group_names"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
kubernetes_server: true
|
|
||||||
kubernetes_master: false
|
|
||||||
when:
|
|
||||||
- "'KubernetesMasters' in group_names"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
kubernetes_server: false
|
|
||||||
when:
|
|
||||||
- "'KubernetesMasters' not in group_names"
|
|
||||||
- "'KubernetesNodes' not in group_names"
|
|
||||||
|
|
||||||
- name: Include kubernetes server rules
|
- name: Include kubernetes server rules
|
||||||
include_tasks: "install_server.yml"
|
include_tasks: "install_server.yml"
|
||||||
when:
|
when:
|
||||||
- kubernetes_server is true
|
- kubernetes_server == true
|
||||||
|
|
||||||
#- name: Install python library for docker
|
#- name: Install python library for docker
|
||||||
# package: name="{{ python_openshift_lib }}" state=latest update_cache=yes
|
# package: name="{{ python_openshift_lib }}" state=latest update_cache=yes
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue