Files
ansible-k8s-pi-cluster/install_kubernetes.yml

68 lines
1.4 KiB
YAML

- name: Install prerequisits
apt:
name: "{{ item }}"
update_cache: true
loop:
- apt-transport-https
- ca-certificates
- curl
- name: Enable modules
community.general.modprobe:
name: "{{ item }}"
state: present
loop:
- overlay
- br_netfilter
- name: Enable modules persistantly
lineinfile:
path: /etc/modules
line: "{{ item }}"
state: present
insertafter: EOF
loop:
- overlay
- br_netfilter
- name: Set br_netfilter sysctl parameters
ansible.posix.sysctl:
name: "{{ item }}"
state: present
value: '1'
sysctl_set: true
sysctl_file: /etc/sysctl.d/99-kubernetes-cri.conf
loop:
- net.bridge.bridge-nf-call-iptables
- net.ipv4.ip_forward
- net.bridge.bridge-nf-call-ip6tables
- name: Install kubernetes repo key
apt_key:
url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
state: present
- name: Install kubernetes repo
apt_repository:
repo: "deb https://apt.kubernetes.io/ kubernetes-xenial main"
state: present
filename: kubernetes
- name: Install kubeadm
apt:
name: "{{ item }}"
allow_downgrade: true
state: present
loop:
- "kubectl=1.22.1-00"
- "kubelet=1.22.1-00"
- "kubeadm=1.22.1-00"
- name: Hold kubeadm
dpkg_selections:
name: "{{ item }}"
selection: hold
loop:
- kubeadm
- kubelet
- kubectl