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-11-06 20:01:10 +00:00
|
|
|
url: "{{ kube_apiserver_endpoint }}/healthz"
|
|
|
|
validate_certs: no
|
|
|
|
client_cert: "{{ kube_apiserver_client_cert }}"
|
|
|
|
client_key: "{{ kube_apiserver_client_key }}"
|
2016-12-20 15:44:39 +00:00
|
|
|
register: result
|
|
|
|
until: result.status == 200
|
|
|
|
retries: 10
|
2017-10-26 08:10:33 +00:00
|
|
|
delay: 2
|
2017-01-17 21:57:34 +00:00
|
|
|
when: inventory_hostname == groups['kube-master'][0]
|
2016-12-20 15:44:39 +00:00
|
|
|
|
2017-09-26 09:38:58 +00:00
|
|
|
- name: Kubernetes Apps | Delete old kubedns resources
|
|
|
|
kube:
|
|
|
|
name: "kubedns"
|
|
|
|
namespace: "{{ system_namespace }}"
|
2018-02-05 08:26:54 +00:00
|
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
2017-09-26 09:38:58 +00:00
|
|
|
resource: "{{ item }}"
|
|
|
|
state: absent
|
2017-11-13 19:59:31 +00:00
|
|
|
with_items:
|
|
|
|
- 'deploy'
|
|
|
|
- 'svc'
|
2017-10-05 07:43:04 +00:00
|
|
|
tags:
|
|
|
|
- upgrade
|
2017-09-26 09:38:58 +00:00
|
|
|
|
|
|
|
- name: Kubernetes Apps | Delete kubeadm kubedns
|
2017-09-13 18:00:51 +00:00
|
|
|
kube:
|
|
|
|
name: "kubedns"
|
|
|
|
namespace: "{{ system_namespace }}"
|
2018-02-05 08:26:54 +00:00
|
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
2017-09-13 18:00:51 +00:00
|
|
|
resource: "deploy"
|
|
|
|
state: absent
|
|
|
|
when:
|
|
|
|
- kubeadm_enabled|default(false)
|
|
|
|
- kubeadm_init.changed|default(false)
|
|
|
|
- inventory_hostname == groups['kube-master'][0]
|
|
|
|
|
2016-09-01 17:01:15 +00:00
|
|
|
- name: Kubernetes Apps | Lay Down KubeDNS Template
|
2017-02-17 21:22:34 +00:00
|
|
|
template:
|
2018-02-05 08:26:54 +00:00
|
|
|
src: "{{ item.file }}.j2"
|
|
|
|
dest: "{{ kube_config_dir }}/{{ item.file }}"
|
2016-09-01 17:01:15 +00:00
|
|
|
with_items:
|
2018-02-05 08:26:54 +00:00
|
|
|
- { name: kube-dns, file: kubedns-sa.yml, type: sa }
|
|
|
|
- { name: kube-dns, file: kubedns-deploy.yml, type: deployment }
|
|
|
|
- { name: kube-dns, 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 }
|
|
|
|
- { 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]
|
2017-07-17 11:28:09 +00:00
|
|
|
- rbac_enabled or item.type not in rbac_resources
|
2017-10-05 07:43:04 +00:00
|
|
|
tags:
|
|
|
|
- dnsmasq
|
2017-06-27 04:27:25 +00:00
|
|
|
|
2017-07-10 11:14:28 +00:00
|
|
|
# see https://github.com/kubernetes/kubernetes/issues/45084, only needed for "old" kube-dns
|
2017-07-10 11:05:42 +00:00
|
|
|
- name: Kubernetes Apps | Patch system:kube-dns ClusterRole
|
|
|
|
command: >
|
2018-02-05 08:26:54 +00:00
|
|
|
{{ bin_dir }}/kubectl patch clusterrole system:kube-dns
|
2017-07-10 11:05:42 +00:00
|
|
|
--patch='{
|
|
|
|
"rules": [
|
|
|
|
{
|
|
|
|
"apiGroups" : [""],
|
|
|
|
"resources" : ["endpoints", "services"],
|
|
|
|
"verbs": ["list", "watch", "get"]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}'
|
2017-07-10 11:14:28 +00:00
|
|
|
when:
|
|
|
|
- dns_mode != 'none' and inventory_hostname == groups['kube-master'][0]
|
|
|
|
- rbac_enabled and kubedns_version|version_compare("1.11.0", "<", strict=True)
|
2017-10-05 07:43:04 +00:00
|
|
|
tags:
|
|
|
|
- dnsmasq
|
2017-07-10 11:05:42 +00:00
|
|
|
|
2016-09-01 17:01:15 +00:00
|
|
|
- name: Kubernetes Apps | Start Resources
|
|
|
|
kube:
|
2018-02-05 08:26:54 +00:00
|
|
|
name: "{{ item.item.name }}"
|
2016-12-13 10:43:06 +00:00
|
|
|
namespace: "{{ system_namespace }}"
|
2018-02-05 08:26:54 +00:00
|
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
|
|
|
resource: "{{ item.item.type }}"
|
|
|
|
filename: "{{ kube_config_dir }}/{{ item.item.file }}"
|
2017-09-05 05:23:12 +00:00
|
|
|
state: "latest"
|
2016-09-01 17:01:15 +00:00
|
|
|
with_items: "{{ manifests.results }}"
|
2017-09-05 05:23:12 +00:00
|
|
|
when:
|
|
|
|
- dns_mode != 'none'
|
|
|
|
- inventory_hostname == groups['kube-master'][0]
|
|
|
|
- not item|skipped
|
2017-10-05 07:43:04 +00:00
|
|
|
tags:
|
|
|
|
- dnsmasq
|
2016-10-10 14:09:50 +00:00
|
|
|
|
2016-09-30 15:23:47 +00:00
|
|
|
- name: Kubernetes Apps | Netchecker
|
2018-01-29 11:37:48 +00:00
|
|
|
import_tasks: tasks/netchecker.yml
|
2016-09-30 15:23:47 +00:00
|
|
|
when: deploy_netchecker
|
2017-10-05 07:43:04 +00:00
|
|
|
tags:
|
|
|
|
- netchecker
|
2017-09-09 20:38:03 +00:00
|
|
|
|
|
|
|
- name: Kubernetes Apps | Dashboard
|
2018-01-29 11:37:48 +00:00
|
|
|
import_tasks: tasks/dashboard.yml
|
2017-09-09 20:38:03 +00:00
|
|
|
when: dashboard_enabled
|
2017-10-05 07:43:04 +00:00
|
|
|
tags:
|
|
|
|
- dashboard
|