104 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| - 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
 |