--- - name: Common Tasks include_tasks: common.yaml # tags: # - install - name: Check if kubernetes has been Initialized stat: path: /etc/kubernetes/admin.conf register: KubernetesInitialized tags: - always - name: kubernetes prime include_tasks: prime.yaml when: kubernetes_config.cluster.prime.name == inventory_hostname - name: kubernetes workers include_tasks: workers.yaml when: kubernetes_config.cluster.prime.name != inventory_hostname - name: Add Kubernetes Node Labels kubernetes.core.k8s: definition: apiVersion: v1 kind: Node metadata: name: "{{ inventory_hostname }}" labels: "{{ item | from_yaml_all }}" delegate_to: "{{ kubernetes_config.cluster.prime.name }}" with_items: - "{{ kubernetes_config.hosts[inventory_hostname].labels }}" when: - ( kubernetes_config.hosts[inventory_hostname].labels is defined and kubernetes_config.hosts[inventory_hostname].labels|default('')|length > 0 ) tags: - install - nodelabels - name: Add Node Taints kubernetes.core.k8s_taint: state: "present" name: "{{ inventory_hostname }}" taints: - "{{ item | from_yaml_all }}" delegate_to: "{{ kubernetes_config.cluster.prime.name }}" with_items: - "{{ kubernetes_config.hosts[inventory_hostname].taints.present }}" when: - (kubernetes_config.hosts[inventory_hostname].taints.present is defined and kubernetes_config.hosts[inventory_hostname].taints.present|default('')|length > 0 ) tags: - install - taints - name: Remove Node Taints kubernetes.core.k8s_taint: state: "absent" name: "{{ inventory_hostname }}" taints: - "{{ item | from_yaml_all }}" delegate_to: "{{ kubernetes_config.cluster.prime.name }}" with_items: - "{{ kubernetes_config.hosts[inventory_hostname].taints.absent }}" when: - ( kubernetes_config.hosts[inventory_hostname].taints.absent is defined and kubernetes_config.hosts[inventory_hostname].taints.absent|default('')|length > 0 ) tags: - install - taints - name: Create Cluster Namespaces kubernetes.core.k8s: state: present definition: apiVersion: v1 kind: Namespace metadata: name: "{{ item.name }}" labels: #app.kubernetes.io/version: # App version #app.kubernetes.io/component: #app.kubernetes.io/part-of: app.kubernetes.io/managed-by: Ansible #meta.kubernetes.io/description: "{{ item.description | default('') }}" meta.kubernetes.io/version: "{{ deployment_git_current_short_hash | default('') }}" with_items: - "{{ kubernetes_config.namespaces }}" when: ( kubernetes_config.namespaces is defined and kubernetes_config.namespaces | default('') | length > 0 and kubernetes_config.cluster.prime.name == inventory_hostname ) tags: - install - namespaces