42 lines
1.4 KiB
YAML
42 lines
1.4 KiB
YAML
---
|
|
|
|
- name: Ensure that user manifests directory exists
|
|
file:
|
|
path: "{{ kubernetes_user_manifests_path }}/kubernetes"
|
|
state: directory
|
|
recurse: true
|
|
tags: [init, cni]
|
|
|
|
- name: Apply kube-proxy nodeselector
|
|
tags: init
|
|
when:
|
|
- kube_proxy_deployed
|
|
block:
|
|
# Due to https://github.com/kubernetes/kubernetes/issues/58212 we cannot rely on exit code for "kubectl patch"
|
|
- name: Check current nodeselector for kube-proxy daemonset
|
|
command: >-
|
|
{{ kubectl }}
|
|
get ds kube-proxy --namespace=kube-system
|
|
-o jsonpath={.spec.template.spec.nodeSelector.{{ kube_proxy_nodeselector | regex_replace('\.', '\\.') }}}
|
|
register: current_kube_proxy_state
|
|
retries: 60
|
|
delay: 5
|
|
until: current_kube_proxy_state is succeeded
|
|
changed_when: false
|
|
|
|
- name: Apply nodeselector patch for kube-proxy daemonset
|
|
command: >
|
|
{{ kubectl }}
|
|
patch ds kube-proxy --namespace=kube-system --type=strategic -p
|
|
'{"spec":{"template":{"spec":{"nodeSelector":{"{{ kube_proxy_nodeselector }}":"linux"} }}}}'
|
|
register: patch_kube_proxy_state
|
|
when: current_kube_proxy_state.stdout | trim | lower != "linux"
|
|
|
|
- debug: # noqa name[missing]
|
|
msg: "{{ patch_kube_proxy_state.stdout_lines }}"
|
|
when: patch_kube_proxy_state is not skipped
|
|
|
|
- debug: # noqa name[missing]
|
|
msg: "{{ patch_kube_proxy_state.stderr_lines }}"
|
|
when: patch_kube_proxy_state is not skipped
|