14 changed files with 263 additions and 270 deletions
Unified 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