add/remove admin node pool (#556)
This commit is contained in:
		
							parent
							
								
									2c37231393
								
							
						
					
					
						commit
						51b44563c8
					
				| @ -3,14 +3,19 @@ project_name: "default" | |||||||
| 
 | 
 | ||||||
| main_node_size: "s-1vcpu-2gb" | main_node_size: "s-1vcpu-2gb" | ||||||
| crawl_node_size: "c-4" | crawl_node_size: "c-4" | ||||||
| admin_node_size: "s-4vcpu-8gb" |  | ||||||
| droplet_region: "sfo3" | droplet_region: "sfo3" | ||||||
| enable_admin_addons: true |  | ||||||
| 
 | 
 | ||||||
| node_pools: | node_pools: | ||||||
|   - name=main-app;size={{ main_node_size }};label=nodeType=main;count=2 |   - name=main-app;size={{ main_node_size }};label=nodeType=main;count=2 | ||||||
|   - name=crawling;size={{ crawl_node_size }};label=nodeType=crawling;taint=nodeType=crawling:NoSchedule;auto-scale=true;min-nodes=1;max-nodes=3;count=1 |   - name=crawling;size={{ crawl_node_size }};label=nodeType=crawling;taint=nodeType=crawling:NoSchedule;auto-scale=true;min-nodes=1;max-nodes=3;count=1 | ||||||
|   - "{% if enable_admin_addons %}name=admin-app;size={{ admin_node_size }};label=nodeType=admin;count=1{% endif %}" | 
 | ||||||
|  | enable_admin_addons: true | ||||||
|  | 
 | ||||||
|  | admin_node_pool: | ||||||
|  |   name: admin-app | ||||||
|  |   size: s-4vcpu-8gb | ||||||
|  |   label: nodeType=admin | ||||||
|  |   count: 1 | ||||||
| 
 | 
 | ||||||
| db_name: "{{ project_name }}" | db_name: "{{ project_name }}" | ||||||
| k8s_name: "{{ project_name }}" | k8s_name: "{{ project_name }}" | ||||||
|  | |||||||
| @ -106,6 +106,34 @@ | |||||||
|       changed_when: false |       changed_when: false | ||||||
|       when: cluster_check.stdout.find(k8s_name) == -1 |       when: cluster_check.stdout.find(k8s_name) == -1 | ||||||
| 
 | 
 | ||||||
|  |     - name: d_ocean | k8s | test for existing k8s cluster's node pools | ||||||
|  |       ansible.builtin.command: doctl kubernetes cluster node-pool list {{ k8s_name }} | ||||||
|  |       changed_when: false | ||||||
|  |       failed_when: false | ||||||
|  |       register: cluster_nodepools_check | ||||||
|  | 
 | ||||||
|  |     - name: d_ocean | k8s | create a admin node pool in the cluster {{ k8s_name }} | ||||||
|  |       # skip_ansible_lint | ||||||
|  |       ansible.builtin.command: >- | ||||||
|  |         doctl kubernetes cluster node-pool create {{ k8s_name }}  | ||||||
|  |           --name {{ admin_node_pool.name }}   --size {{ admin_node_pool.size }}  | ||||||
|  |           --label {{ admin_node_pool.label }} --count {{ admin_node_pool.count }}  | ||||||
|  | 
 | ||||||
|  |       async: 1800 | ||||||
|  |       poll: 60 | ||||||
|  |       changed_when: false | ||||||
|  |       when: enable_admin_addons and cluster_nodepools_check.stdout.find(admin_node_pool.name) == -1 | ||||||
|  | 
 | ||||||
|  |     - name: d_ocean | k8s | remove a admin node pool from the cluster {{ k8s_name }} | ||||||
|  |       # skip_ansible_lint | ||||||
|  |       ansible.builtin.command: >- | ||||||
|  |         echo "yes" | doctl kubernetes cluster node-pool delete {{ k8s_name }} {{ admin_node_pool.name }} | ||||||
|  | 
 | ||||||
|  |       async: 1800 | ||||||
|  |       poll: 60 | ||||||
|  |       changed_when: false | ||||||
|  |       when: not enable_admin_addons and cluster_nodepools_check.stdout.find(admin_node_pool.name) >= 0 | ||||||
|  | 
 | ||||||
|     - name: d_ocean | k8s | Get information about our cluster |     - name: d_ocean | k8s | Get information about our cluster | ||||||
|       community.digitalocean.digital_ocean_kubernetes_info: |       community.digitalocean.digital_ocean_kubernetes_info: | ||||||
|         oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}" |         oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user