summaryrefslogtreecommitdiff
path: root/roles/kubernetes
diff options
context:
space:
mode:
Diffstat (limited to 'roles/kubernetes')
-rw-r--r--roles/kubernetes/kubeadm/base/tasks/main.yml20
1 files changed, 16 insertions, 4 deletions
diff --git a/roles/kubernetes/kubeadm/base/tasks/main.yml b/roles/kubernetes/kubeadm/base/tasks/main.yml
index 0fab7845..abc0f3af 100644
--- a/roles/kubernetes/kubeadm/base/tasks/main.yml
+++ b/roles/kubernetes/kubeadm/base/tasks/main.yml
@@ -1,4 +1,15 @@
---
+- name: generate apt pin files for kubeadm and kubectl
+ loop:
+ - kubeadm
+ - kubectl
+ copy:
+ dest: "/etc/apt/preferences.d/{{ item }}.pref"
+ content: |
+ Package: {{ item }}
+ Pin: version {{ kubernetes_version }}-00
+ Pin-Priority: 1001
+
- name: install kubeadm packages
apt:
name:
@@ -8,17 +19,18 @@
- "kubectl={{ kubernetes_version }}-00"
state: present
force: yes
- ## TODO: remove force once the following changes are available
- ## https://github.com/ansible/ansible/pull/73629 or https://github.com/ansible/ansible/pull/72562
+ # allow_downgrade: yes
+ ## TODO: replace force with allow_downgrade once the following change is available (ansible >= 5.0)
## https://github.com/ansible/ansible/pull/74852
-- name: disable automatic upgrades for kubeadm/kubectl
+ ## TODO: remove this when all machines are migrated to use pin files
+- name: unhold packages (we now use APT pinning)
loop:
- kubeadm
- kubectl
dpkg_selections:
name: "{{ item }}"
- selection: hold
+ selection: install
- name: set kubelet node-ip
when: kubernetes_overlay_node_ip is defined