--- - name: Clone cloud-provider-cherry repository ansible.builtin.git: repo: 'https://github.com/cherryservers/cloud-provider-cherry' dest: '/tmp/cloud-provider-cherry' version: 'main' when: is_control_plane | bool - name: Generate Kubernetes secret from template ansible.builtin.template: src: templates/secret.yaml.j2 dest: /etc/kubernetes/cherry-cloud-secret.yaml vars: apiKey: '{{ vault_apiKey }}' projectID: '{{ vault_projectID }}' when: is_control_plane | bool - name: Label worker nodes ansible.builtin.command: cmd: 'kubectl label nodes {{ hostvars[item].ansible_hostname }} node-role.kubernetes.io/worker=worker --kubeconfig=/etc/kubernetes/admin.conf' delegate_to: "{{ groups['control_plane'][0] }}" loop: "{{ groups['worker_nodes'] }}" run_once: true - name: Get Kubernetes cluster nodes ansible.builtin.shell: cmd: 'kubectl get nodes --kubeconfig=/path/to/your/kubeconfig' register: kubectl_get_nodes_result ignore_errors: yes - name: Print the result of kubectl get nodes ansible.builtin.debug: msg: '{{ kubectl_get_nodes_result.stdout_lines }}' - name: Apply the secret configuration to the Kubernetes cluster ansible.builtin.shell: cmd: 'kubectl apply -f /etc/kubernetes/cherry-cloud-secret.yaml --validate=false --kubeconfig=/etc/kubernetes/admin.conf' when: is_control_plane | bool register: apply_secret_result until: apply_secret_result is succeeded retries: 5 delay: 10 - name: Apply deployment.yaml from cloned repository ansible.builtin.shell: cmd: 'kubectl apply -f /tmp/cloud-provider-cherry/deploy/template/deployment.yaml --validate=false --kubeconfig=/etc/kubernetes/admin.conf' when: is_control_plane | bool register: apply_deployment_result until: apply_deployment_result is succeeded retries: 5 delay: 10