2016-09-01 17:01:15 +00:00
|
|
|
---
|
2016-12-20 15:44:39 +00:00
|
|
|
- name: Kubernetes Apps | Wait for kube-apiserver
|
2017-02-17 21:22:34 +00:00
|
|
|
uri:
|
2017-06-06 16:36:04 +00:00
|
|
|
url: http://localhost:{{ kube_apiserver_insecure_port }}/healthz
|
2016-12-20 15:44:39 +00:00
|
|
|
register: result
|
|
|
|
until: result.status == 200
|
|
|
|
retries: 10
|
|
|
|
delay: 6
|
2017-01-17 21:57:34 +00:00
|
|
|
when: inventory_hostname == groups['kube-master'][0]
|
2016-12-20 15:44:39 +00:00
|
|
|
|
2016-09-01 17:01:15 +00:00
|
|
|
- name: Kubernetes Apps | Lay Down KubeDNS Template
|
2017-02-17 21:22:34 +00:00
|
|
|
template:
|
|
|
|
src: "{{item.file}}"
|
|
|
|
dest: "{{kube_config_dir}}/{{item.file}}"
|
2016-09-01 17:01:15 +00:00
|
|
|
with_items:
|
2017-06-27 04:27:25 +00:00
|
|
|
- {name: kubedns, file: kubedns-sa.yml, type: sa}
|
|
|
|
- {name: kubedns, file: kubedns-deploy.yml, type: deployment}
|
|
|
|
- {name: kubedns, file: kubedns-svc.yml, type: svc}
|
|
|
|
- {name: kubedns-autoscaler, file: kubedns-autoscaler-sa.yml, type: sa}
|
|
|
|
- {name: kubedns-autoscaler, file: kubedns-autoscaler-clusterrole.yml, type: clusterrole}
|
|
|
|
- {name: kubedns-autoscaler, file: kubedns-autoscaler-clusterrolebinding.yml, type: clusterrolebinding}
|
2017-02-28 14:56:00 +00:00
|
|
|
- {name: kubedns-autoscaler, file: kubedns-autoscaler.yml, type: deployment}
|
2016-09-01 17:01:15 +00:00
|
|
|
register: manifests
|
2017-06-27 04:27:25 +00:00
|
|
|
when:
|
|
|
|
- dns_mode != 'none' and inventory_hostname == groups['kube-master'][0]
|
|
|
|
- rbac_enabled or item.type not in kubedns_rbac_resources
|
|
|
|
tags: dnsmasq
|
|
|
|
|
|
|
|
# see https://github.com/kubernetes/kubernetes/issues/45084
|
|
|
|
# TODO: this is only needed for "old" kube-dns
|
|
|
|
- name: Kubernetes Apps | Patch system:kube-dns ClusterRole
|
|
|
|
command: >
|
|
|
|
{{bin_dir}}/kubectl patch clusterrole system:kube-dns
|
|
|
|
--patch='{
|
|
|
|
"rules": [
|
|
|
|
{
|
|
|
|
"apiGroups" : [""],
|
|
|
|
"resources" : ["endpoints", "services"],
|
|
|
|
"verbs": ["list", "watch", "get"]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}'
|
|
|
|
when: dns_mode != 'none' and inventory_hostname == groups['kube-master'][0] and rbac_enabled
|
2016-12-08 13:36:00 +00:00
|
|
|
tags: dnsmasq
|
2016-06-12 16:19:07 +00:00
|
|
|
|
2016-09-01 17:01:15 +00:00
|
|
|
- name: Kubernetes Apps | Start Resources
|
|
|
|
kube:
|
2017-02-28 14:56:00 +00:00
|
|
|
name: "{{item.item.name}}"
|
2016-12-13 10:43:06 +00:00
|
|
|
namespace: "{{ system_namespace }}"
|
2016-09-01 17:01:15 +00:00
|
|
|
kubectl: "{{bin_dir}}/kubectl"
|
|
|
|
resource: "{{item.item.type}}"
|
2016-09-30 15:23:47 +00:00
|
|
|
filename: "{{kube_config_dir}}/{{item.item.file}}"
|
2016-09-01 17:01:15 +00:00
|
|
|
state: "{{item.changed | ternary('latest','present') }}"
|
|
|
|
with_items: "{{ manifests.results }}"
|
2017-06-27 04:27:25 +00:00
|
|
|
failed_when: manifests|failed and "Error from server (AlreadyExists)" not in manifests.msg
|
2016-12-21 16:18:11 +00:00
|
|
|
when: dns_mode != 'none' and inventory_hostname == groups['kube-master'][0]
|
2016-12-08 13:36:00 +00:00
|
|
|
tags: dnsmasq
|
2016-10-10 14:09:50 +00:00
|
|
|
|
2016-09-30 15:23:47 +00:00
|
|
|
- name: Kubernetes Apps | Netchecker
|
|
|
|
include: tasks/netchecker.yml
|
|
|
|
when: deploy_netchecker
|
2016-12-08 13:36:00 +00:00
|
|
|
tags: netchecker
|