kubernetesbare-metalk8s-sig-cluster-lifecycleawskubesprayhigh-availabilityansiblekubernetes-clustergce
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.4 KiB
86 lines
2.4 KiB
---
|
|
- name: Kubernetes Apps | Wait for kube-apiserver
|
|
uri:
|
|
url: "{{ kube_apiserver_endpoint }}/healthz"
|
|
validate_certs: false
|
|
client_cert: "{{ kube_apiserver_client_cert }}"
|
|
client_key: "{{ kube_apiserver_client_key }}"
|
|
register: result
|
|
until: result.status == 200
|
|
retries: 20
|
|
delay: 1
|
|
when: inventory_hostname == groups['kube_control_plane'][0]
|
|
|
|
- name: Kubernetes Apps | CoreDNS
|
|
import_tasks: "coredns.yml"
|
|
when:
|
|
- dns_mode in ['coredns', 'coredns_dual']
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
tags:
|
|
- coredns
|
|
|
|
- name: Kubernetes Apps | nodelocalDNS
|
|
import_tasks: "nodelocaldns.yml"
|
|
when:
|
|
- enable_nodelocaldns
|
|
- inventory_hostname == groups['kube_control_plane'] | first
|
|
tags:
|
|
- nodelocaldns
|
|
|
|
- name: Kubernetes Apps | Start Resources
|
|
kube:
|
|
name: "{{ item.item.name }}"
|
|
namespace: "kube-system"
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
|
resource: "{{ item.item.type }}"
|
|
filename: "{{ kube_config_dir }}/{{ item.item.file }}"
|
|
state: "latest"
|
|
with_items:
|
|
- "{{ coredns_manifests.results | default({}) }}"
|
|
- "{{ coredns_secondary_manifests.results | default({}) }}"
|
|
- "{{ nodelocaldns_manifests.results | default({}) }}"
|
|
- "{{ nodelocaldns_second_manifests.results | default({}) }}"
|
|
when:
|
|
- dns_mode != 'none'
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
- not item is skipped
|
|
register: resource_result
|
|
until: resource_result is succeeded
|
|
retries: 4
|
|
delay: 5
|
|
tags:
|
|
- coredns
|
|
- nodelocaldns
|
|
loop_control:
|
|
label: "{{ item.item.file }}"
|
|
|
|
- name: Kubernetes Apps | Etcd metrics endpoints
|
|
command:
|
|
cmd: "{{ kubectl_apply_stdin }}"
|
|
stdin: "{{ lookup('template', item) }}"
|
|
delegate_to: "{{ groups['kube_control_plane'][0] }}"
|
|
run_once: true
|
|
loop:
|
|
- etcd_metrics-endpoints.yml.j2
|
|
- etcd_metrics-service.yml.j2
|
|
when: etcd_metrics_port is defined and etcd_metrics_service_labels is defined
|
|
tags:
|
|
- etcd_metrics
|
|
|
|
- name: Kubernetes Apps | Netchecker
|
|
import_tasks: netchecker.yml
|
|
when: deploy_netchecker
|
|
tags:
|
|
- netchecker
|
|
|
|
- name: Kubernetes Apps | Dashboard
|
|
command:
|
|
cmd: "{{ kubectl_apply_stdin }}"
|
|
stdin: "{{ lookup('template', 'dashboard.yml.j2') }}"
|
|
delegate_to: "{{ groups['kube_control_plane'][0] }}"
|
|
run_once: true
|
|
vars:
|
|
namespace: "{{ dashboard_namespace }}"
|
|
when: dashboard_enabled
|
|
tags:
|
|
- dashboard
|