Skip to content
Snippets Groups Projects
Select Git revision
  • 3ac92689f05d646f9ffdabfed3c7ccab7d189d38
  • master default protected
  • v2.28.0
  • v2.27.0
  • v2.25.1
  • v2.24.3
  • v2.26.0
  • v2.24.2
  • v2.25.0
  • v2.24.1
  • v2.22.2
  • v2.23.3
  • v2.24.0
  • v2.23.2
  • v2.23.1
  • v2.23.0
  • v2.22.1
  • v2.22.0
  • v2.21.0
  • v2.20.0
  • v2.19.1
  • v2.18.2
22 results

cloud-init.tmpl

Blame
    • Cristian Klein's avatar
      3ac92689
      exoscale: Rework EIP access from workers (#7337) · 3ac92689
      Cristian Klein authored
      Context: Load-balancing in Exoscale is performed by associating many
      workers with the same EIP. This works, however, the workers cannot access
      themselves via the EIP, which is needed at least for cert-managers
      "self-test".
      
      Problem: The old iptables based workaround felt fragile and disappointed
      me at least once.
      
      New solution: Add the EIP to a loopback interface on each worker.
      exoscale: Rework EIP access from workers (#7337)
      Cristian Klein authored
      Context: Load-balancing in Exoscale is performed by associating many
      workers with the same EIP. This works, however, the workers cannot access
      themselves via the EIP, which is needed at least for cert-managers
      "self-test".
      
      Problem: The old iptables based workaround felt fragile and disappointed
      me at least once.
      
      New solution: Add the EIP to a loopback interface on each worker.
    remove-node.yml 1.60 KiB
    ---
    - name: Check ansible version
      import_playbook: ansible_version.yml
    
    - name: Ensure compatibility with old groups
      import_playbook: legacy_groups.yml
    
    - hosts: bastion[0]
      gather_facts: False
      environment: "{{ proxy_disable_env }}"
      roles:
        - { role: kubespray-defaults }
        - { role: bastion-ssh-config, tags: ["localhost", "bastion"] }
    
    - hosts: "{{ node | default('etcd:k8s_cluster:calico_rr') }}"
      gather_facts: no
      tasks:
        - name: Confirm Execution
          pause:
            prompt: "Are you sure you want to delete nodes state? Type 'yes' to delete nodes."
          register: pause_result
          run_once: True
          when:
            - not (skip_confirmation | default(false) | bool)
    
        - name: Fail if user does not confirm deletion
          fail:
            msg: "Delete nodes confirmation failed"
          when: pause_result.user_input | default('yes') != 'yes'
    
    - name: Gather facts
      import_playbook: facts.yml
      when: reset_nodes|default(True)|bool
    
    - hosts: "{{ node | default('kube_node') }}"
      gather_facts: no
      environment: "{{ proxy_disable_env }}"
      roles:
        - { role: kubespray-defaults, when: reset_nodes|default(True)|bool }
        - { role: remove-node/pre-remove, tags: pre-remove }
        - { role: remove-node/remove-etcd-node }
        - { role: reset, tags: reset, when: reset_nodes|default(True)|bool }
    
    # Currently cannot remove first master or etcd
    - hosts: "{{ node | default('kube_control_plane[1:]:etcd[1:]') }}"
      gather_facts: no
      environment: "{{ proxy_disable_env }}"
      roles:
        - { role: kubespray-defaults, when: reset_nodes|default(True)|bool }
        - { role: remove-node/post-remove, tags: post-remove }