14 changed files with 263 additions and 270 deletions
Split View
Diff Options
-
0roles/kubernetes/preinstall/tasks/0010-swapoff.yml
-
12roles/kubernetes/preinstall/tasks/0020-verify-settings.yml
-
0roles/kubernetes/preinstall/tasks/0030-pre_upgrade.yml
-
33roles/kubernetes/preinstall/tasks/0040-set_facts.yml
-
58roles/kubernetes/preinstall/tasks/0050-create_directories.yml
-
0roles/kubernetes/preinstall/tasks/0060-resolvconf.yml
-
94roles/kubernetes/preinstall/tasks/0070-system-packages.yml
-
53roles/kubernetes/preinstall/tasks/0080-system-configurations.yml
-
0roles/kubernetes/preinstall/tasks/0090-etchosts.yml
-
0roles/kubernetes/preinstall/tasks/0100-dhclient-hooks.yml
-
0roles/kubernetes/preinstall/tasks/0110-dhclient-hooks-undo.yml
-
0roles/kubernetes/preinstall/tasks/0120-growpart-azure-centos-7.yml
-
266roles/kubernetes/preinstall/tasks/main.yml
-
17roles/kubernetes/preinstall/tasks/set_facts.yml
@ -0,0 +1,58 @@ |
|||
- name: Create kubernetes directories |
|||
file: |
|||
path: "{{ item }}" |
|||
state: directory |
|||
owner: kube |
|||
when: inventory_hostname in groups['k8s-cluster'] |
|||
become: true |
|||
tags: |
|||
- kubelet |
|||
- k8s-secrets |
|||
- kube-controller-manager |
|||
- kube-apiserver |
|||
- bootstrap-os |
|||
- apps |
|||
- network |
|||
- master |
|||
- node |
|||
with_items: |
|||
- "{{bin_dir}}" |
|||
- "{{ kube_config_dir }}" |
|||
- "{{ kube_config_dir }}/ssl" |
|||
- "{{ kube_manifest_dir }}" |
|||
- "{{ kube_script_dir }}" |
|||
|
|||
- name: Create cni directories |
|||
file: |
|||
path: "{{ item }}" |
|||
state: directory |
|||
owner: kube |
|||
with_items: |
|||
- "/etc/cni/net.d" |
|||
- "/opt/cni/bin" |
|||
- "/var/lib/calico" |
|||
when: |
|||
- kube_network_plugin in ["calico", "weave", "canal", "flannel", "contiv", "cilium"] |
|||
- inventory_hostname in groups['k8s-cluster'] |
|||
tags: |
|||
- network |
|||
- cilium |
|||
- calico |
|||
- weave |
|||
- canal |
|||
- contiv |
|||
- bootstrap-os |
|||
|
|||
- name: Create local volume provisioner directories |
|||
file: |
|||
path: "{{ item }}" |
|||
state: directory |
|||
owner: kube |
|||
with_items: |
|||
- "{{ local_volume_provisioner_base_dir }}" |
|||
- "{{ local_volume_provisioner_mount_dir }}" |
|||
when: |
|||
- inventory_hostname in groups['k8s-cluster'] |
|||
- local_volume_provisioner_enabled |
|||
tags: |
|||
- persistent_volumes |
@ -0,0 +1,94 @@ |
|||
- name: Update package management cache (YUM) |
|||
yum: |
|||
update_cache: yes |
|||
name: '*' |
|||
register: yum_task_result |
|||
until: yum_task_result|succeeded |
|||
retries: 4 |
|||
delay: "{{ retry_stagger | random + 3 }}" |
|||
when: |
|||
- ansible_pkg_mgr == 'yum' |
|||
- ansible_distribution != 'RedHat' |
|||
- not is_atomic |
|||
|
|||
- name: Expire management cache (YUM) for Updation - Redhat |
|||
shell: yum clean expire-cache |
|||
register: expire_cache_output |
|||
until: expire_cache_output|succeeded |
|||
retries: 4 |
|||
delay: "{{ retry_stagger | random + 3 }}" |
|||
when: |
|||
- ansible_pkg_mgr == 'yum' |
|||
- ansible_distribution == 'RedHat' |
|||
- not is_atomic |
|||
tags: bootstrap-os |
|||
|
|||
- name: Update package management cache (YUM) - Redhat |
|||
shell: yum makecache |
|||
register: make_cache_output |
|||
until: make_cache_output|succeeded |
|||
retries: 4 |
|||
delay: "{{ retry_stagger | random + 3 }}" |
|||
when: |
|||
- ansible_pkg_mgr == 'yum' |
|||
- ansible_distribution == 'RedHat' |
|||
- expire_cache_output.rc == 0 |
|||
- not is_atomic |
|||
tags: bootstrap-os |
|||
|
|||
- name: Update package management cache (zypper) - SUSE |
|||
shell: zypper -n --gpg-auto-import-keys ref |
|||
register: make_cache_output |
|||
until: make_cache_output|succeeded |
|||
retries: 4 |
|||
delay: "{{ retry_stagger | random + 3 }}" |
|||
when: |
|||
- ansible_pkg_mgr == 'zypper' |
|||
tags: bootstrap-os |
|||
|
|||
- name: Update package management cache (APT) |
|||
apt: |
|||
update_cache: yes |
|||
cache_valid_time: 3600 |
|||
when: ansible_os_family == "Debian" |
|||
tags: |
|||
- bootstrap-os |
|||
|
|||
- name: Install python-dnf for latest RedHat versions |
|||
command: dnf install -y python-dnf yum |
|||
register: dnf_task_result |
|||
until: dnf_task_result|succeeded |
|||
retries: 4 |
|||
delay: "{{ retry_stagger | random + 3 }}" |
|||
when: |
|||
- ansible_distribution == "Fedora" |
|||
- ansible_distribution_major_version|int > 21 |
|||
- not is_atomic |
|||
changed_when: False |
|||
tags: |
|||
- bootstrap-os |
|||
|
|||
- name: Install epel-release on RedHat/CentOS |
|||
yum: |
|||
name: epel-release |
|||
state: present |
|||
when: |
|||
- ansible_distribution in ["CentOS","RedHat"] |
|||
- not is_atomic |
|||
- epel_enabled|bool |
|||
tags: |
|||
- bootstrap-os |
|||
|
|||
- name: Install packages requirements |
|||
action: |
|||
module: "{{ ansible_pkg_mgr }}" |
|||
name: "{{ item }}" |
|||
state: latest |
|||
register: pkgs_task_result |
|||
until: pkgs_task_result|succeeded |
|||
retries: 4 |
|||
delay: "{{ retry_stagger | random + 3 }}" |
|||
with_items: "{{required_pkgs | default([]) | union(common_required_pkgs|default([]))}}" |
|||
when: not (ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] or is_atomic) |
|||
tags: |
|||
- bootstrap-os |
@ -0,0 +1,53 @@ |
|||
# Todo : selinux configuration |
|||
- name: Confirm selinux deployed |
|||
stat: |
|||
path: /etc/selinux/config |
|||
when: ansible_os_family == "RedHat" |
|||
register: slc |
|||
|
|||
- name: Set selinux policy |
|||
selinux: |
|||
policy: targeted |
|||
state: "{{ preinstall_selinux_state }}" |
|||
when: |
|||
- ansible_os_family == "RedHat" |
|||
- slc.stat.exists == True |
|||
changed_when: False |
|||
tags: |
|||
- bootstrap-os |
|||
|
|||
- name: Disable IPv6 DNS lookup |
|||
lineinfile: |
|||
dest: /etc/gai.conf |
|||
line: "precedence ::ffff:0:0/96 100" |
|||
state: present |
|||
backup: yes |
|||
when: |
|||
- disable_ipv6_dns |
|||
- not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"] |
|||
tags: |
|||
- bootstrap-os |
|||
|
|||
- name: Stat sysctl file configuration |
|||
stat: |
|||
path: "{{sysctl_file_path}}" |
|||
register: sysctl_file_stat |
|||
tags: |
|||
- bootstrap-os |
|||
|
|||
- name: Change sysctl file path to link source if linked |
|||
set_fact: |
|||
sysctl_file_path: "{{sysctl_file_stat.stat.lnk_source}}" |
|||
when: |
|||
- sysctl_file_stat.stat.islnk is defined |
|||
- sysctl_file_stat.stat.islnk |
|||
tags: |
|||
- bootstrap-os |
|||
|
|||
- name: Enable ip forwarding |
|||
sysctl: |
|||
sysctl_file: "{{sysctl_file_path}}" |
|||
name: net.ipv4.ip_forward |
|||
value: 1 |
|||
state: present |
|||
reload: yes |
@ -1,17 +0,0 @@ |
|||
--- |
|||
- name: check if atomic host |
|||
stat: |
|||
path: /run/ostree-booted |
|||
register: ostree |
|||
|
|||
- set_fact: |
|||
is_atomic: "{{ ostree.stat.exists }}" |
|||
|
|||
- set_fact: |
|||
kube_cert_group: "kube" |
|||
when: is_atomic |
|||
|
|||
- import_tasks: set_resolv_facts.yml |
|||
tags: |
|||
- resolvconf |
|||
- facts |
Write
Preview
Loading…
Cancel
Save