2ab365825f
Pod opbject is not reschedulable by kubernetes. It means that if node with netchecker-server goes down, netchecker-server won't be scheduled somewhere. This commit changes the type of netchecker-server to Deployment, so netchecker-server will be scheduled on other nodes in case of failures.
34 lines
1.4 KiB
YAML
34 lines
1.4 KiB
YAML
- name: Kubernetes Apps | Lay Down Netchecker Template
|
|
template:
|
|
src: "{{item.file}}"
|
|
dest: "{{kube_config_dir}}/{{item.file}}"
|
|
with_items:
|
|
- {file: netchecker-agent-ds.yml.j2, type: ds, name: netchecker-agent}
|
|
- {file: netchecker-agent-hostnet-ds.yml.j2, type: ds, name: netchecker-agent-hostnet}
|
|
- {file: netchecker-server-deployment.yml.j2, type: po, name: netchecker-server}
|
|
- {file: netchecker-server-svc.yml.j2, type: svc, name: netchecker-service}
|
|
register: manifests
|
|
when: inventory_hostname == groups['kube-master'][0]
|
|
|
|
#FIXME: remove if kubernetes/features#124 is implemented
|
|
- name: Kubernetes Apps | Purge old Netchecker daemonsets
|
|
kube:
|
|
name: "{{item.item.name}}"
|
|
namespace: "{{netcheck_namespace}}"
|
|
kubectl: "{{bin_dir}}/kubectl"
|
|
resource: "{{item.item.type}}"
|
|
filename: "{{kube_config_dir}}/{{item.item.file}}"
|
|
state: absent
|
|
with_items: "{{ manifests.results }}"
|
|
when: inventory_hostname == groups['kube-master'][0] and item.item.type == "ds" and item.changed
|
|
|
|
- name: Kubernetes Apps | Start Netchecker Resources
|
|
kube:
|
|
name: "{{item.item.name}}"
|
|
namespace: "{{netcheck_namespace}}"
|
|
kubectl: "{{bin_dir}}/kubectl"
|
|
resource: "{{item.item.type}}"
|
|
filename: "{{kube_config_dir}}/{{item.item.file}}"
|
|
state: "{{item.changed | ternary('latest','present') }}"
|
|
with_items: "{{ manifests.results }}"
|
|
when: inventory_hostname == groups['kube-master'][0]
|