mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-03-11 06:29:38 -02:30
Wait for kube-apiserver availability before starting upgrade (#6243)
* Wait for kube-apiserver availability before starting upgrade I am experiencing a timing issue when upgrading from kubespray 2.11.0(k8s 1.15.3) to kubespray 2.12.6(k8s 1.16.9). The certificates get replaced in `kubeadm-secondary-legacy.yml` and kube-apiserver notices a mismatch (for a fraction of a second) between `apiserver.crt` and `apiserver.key` which causes it to restart. And sometimes ( ~ 1 out of 5 upgrades) the kube-apiserver isn't back on time for the start of the upgrade task. It fails when kubeadm checks with the kube-apiserver to start the upgrade. The kube-apiserver returns a `connect: connection refused`. I have created this small task to check the availability of the kube-apiserver before starting the upgrade, so that the upgrade will run without an issue. Signed-off-by: Rick Haan <rickhaan94@gmail.com> * Fix markdownlint * Remove old CI Co-authored-by: Maxime Guyot <maxime@root314.com>
This commit is contained in:
@@ -1,4 +1,15 @@
|
||||
---
|
||||
- name: "kubeadm | Wait for master kube-apiserver"
|
||||
uri:
|
||||
url: "https://{{ kube_apiserver_access_address }}:{{ kube_apiserver_port }}/version"
|
||||
status_code: 200
|
||||
validate_certs: false
|
||||
register: kube_api_server_available
|
||||
until: kube_api_server_available.status == 200
|
||||
retries: 180
|
||||
delay: 1
|
||||
when: inventory_hostname == groups['kube-master']
|
||||
|
||||
- name: kubeadm | Upgrade first master
|
||||
command: >-
|
||||
timeout -k 600s 600s
|
||||
|
||||
Reference in New Issue
Block a user