diff --git a/ansible/group_vars/do/main.yml b/ansible/group_vars/do/main.yml index 34cdb798..db1397e4 100644 --- a/ansible/group_vars/do/main.yml +++ b/ansible/group_vars/do/main.yml @@ -3,14 +3,19 @@ project_name: "default" main_node_size: "s-1vcpu-2gb" crawl_node_size: "c-4" -admin_node_size: "s-4vcpu-8gb" droplet_region: "sfo3" -enable_admin_addons: true node_pools: - 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 - - "{% 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 }}" k8s_name: "{{ project_name }}" diff --git a/ansible/playbooks/do_setup.yml b/ansible/playbooks/do_setup.yml index a6556b12..e822c83a 100644 --- a/ansible/playbooks/do_setup.yml +++ b/ansible/playbooks/do_setup.yml @@ -106,6 +106,34 @@ changed_when: false 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 community.digitalocean.digital_ocean_kubernetes_info: oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"