Browse Source
Merge pull request #3140 from kubernetes-incubator/preinstall-tasks_num
Merge pull request #3140 from kubernetes-incubator/preinstall-tasks_num
Add support for etcd arm64pull/3207/head
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 354 additions and 293 deletions
Split View
Diff Options
-
2.gitlab-ci.yml
-
3roles/dnsmasq/defaults/main.yml
-
6roles/docker/tasks/main.yml
-
0roles/docker/vars/ubuntu-amd64.yml
-
43roles/docker/vars/ubuntu-arm64.yml
-
29roles/download/defaults/main.yml
-
4roles/etcd/templates/etcd-events.env.j2
-
4roles/etcd/templates/etcd.env.j2
-
0roles/etcd/templates/etcd.j2
-
3roles/kubernetes-apps/ansible/defaults/main.yml
-
0roles/kubernetes/preinstall/tasks/0010-swapoff.yml
-
14roles/kubernetes/preinstall/tasks/0020-verify-settings.yml
-
0roles/kubernetes/preinstall/tasks/0030-pre_upgrade.yml
-
47roles/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
-
2roles/network_plugin/calico/tasks/check.yml
-
2roles/vault/defaults/main.yml
@ -0,0 +1,43 @@ |
|||
--- |
|||
docker_kernel_min_version: '3.10' |
|||
docker_version: 17.09 |
|||
# https://download.docker.com/linux/ubuntu/ |
|||
docker_versioned_pkg: |
|||
'latest': docker-ce |
|||
'17.09': docker-ce=17.09.1~ce-0~ubuntu |
|||
'stable': docker-ce=17.09.1~ce-0~ubuntu |
|||
'edge': docker-ce=17.12.1~ce-0~ubuntu |
|||
|
|||
docker_package_info: |
|||
pkg_mgr: apt |
|||
pkgs: |
|||
- name: "{{ docker_versioned_pkg[docker_version | string] }}" |
|||
force: yes |
|||
|
|||
docker_repo_key_info: |
|||
pkg_key: apt_key |
|||
url: '{{ docker_ubuntu_repo_gpgkey }}' |
|||
repo_keys: |
|||
- 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 |
|||
|
|||
docker_repo_info: |
|||
pkg_repo: apt_repository |
|||
repos: |
|||
- > |
|||
deb {{ docker_ubuntu_repo_base_url }} |
|||
{{ ansible_distribution_release|lower }} |
|||
stable |
|||
|
|||
dockerproject_repo_key_info: |
|||
pkg_key: apt_key |
|||
url: '{{ dockerproject_apt_repo_gpgkey }}' |
|||
repo_keys: |
|||
- 58118E89F3A912897C070ADBF76221572C52609D |
|||
|
|||
dockerproject_repo_info: |
|||
pkg_repo: apt_repository |
|||
repos: |
|||
- > |
|||
deb {{ dockerproject_apt_repo_base_url }} |
|||
{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }} |
|||
main |
@ -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