kubespray/roles/kubernetes-apps/ansible/tasks/main.yml

83 lines
2.7 KiB
YAML
Raw Normal View History

2016-09-02 01:01:15 +08:00
---
- name: Kubernetes Apps | Wait for kube-apiserver
uri:
url: "{{ kube_apiserver_insecure_endpoint }}/healthz"
register: result
until: result.status == 200
retries: 10
delay: 6
when: inventory_hostname == groups['kube-master'][0]
- name: kubeadm | Delete kubeadm kubedns
kube:
name: "kubedns"
namespace: "{{ system_namespace }}"
kubectl: "{{bin_dir}}/kubectl"
resource: "deploy"
state: absent
when:
- kubeadm_enabled|default(false)
- kubeadm_init.changed|default(false)
- inventory_hostname == groups['kube-master'][0]
2016-09-02 01:01:15 +08:00
- name: Kubernetes Apps | Lay Down KubeDNS Template
template:
src: "{{item.file}}"
dest: "{{kube_config_dir}}/{{item.file}}"
2016-09-02 01:01:15 +08:00
with_items:
2017-06-27 12:27:25 +08:00
- {name: kubedns, file: kubedns-sa.yml, type: sa}
- {name: kubedns, file: kubedns-deploy.yml.j2, type: deployment}
2017-06-27 12:27:25 +08:00
- {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}
- {name: kubedns-autoscaler, file: kubedns-autoscaler.yml.j2, type: deployment}
2016-09-02 01:01:15 +08:00
register: manifests
2017-06-27 12:27:25 +08:00
when:
- dns_mode != 'none' and inventory_hostname == groups['kube-master'][0]
2017-07-17 19:28:09 +08:00
- rbac_enabled or item.type not in rbac_resources
2017-06-27 12:27:25 +08:00
tags: dnsmasq
# see https://github.com/kubernetes/kubernetes/issues/45084, 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]
- rbac_enabled and kubedns_version|version_compare("1.11.0", "<", strict=True)
tags: dnsmasq
2016-09-02 01:01:15 +08:00
- name: Kubernetes Apps | Start Resources
kube:
name: "{{item.item.name}}"
namespace: "{{ system_namespace }}"
2016-09-02 01:01:15 +08:00
kubectl: "{{bin_dir}}/kubectl"
resource: "{{item.item.type}}"
filename: "{{kube_config_dir}}/{{item.item.file}}"
state: "latest"
2016-09-02 01:01:15 +08:00
with_items: "{{ manifests.results }}"
when:
- dns_mode != 'none'
- inventory_hostname == groups['kube-master'][0]
- not item|skipped
tags: dnsmasq
- name: Kubernetes Apps | Netchecker
include: tasks/netchecker.yml
when: deploy_netchecker
tags: netchecker
- name: Kubernetes Apps | Dashboard
include: tasks/dashboard.yml
when: dashboard_enabled
tags: dashboard