--- - name: Main playbook for Kubernetes cluster hosts: kubernetes become: true roles: - { role: ansible-role-linux-kubernetes, tags: [setup-cluster] } tasks: - name: Add kubectl alias and completion only on master nodes ansible.builtin.lineinfile: path: "{{ item.path }}" regexp: "{{ item.regexp }}" state: "{{ item.state|default('present') }}" line: "{{ item.line|default(omit) }}" loop: "{{ kubernetes_alias_bashrc }}" when: - inventory_hostname in groups['kubemaster'] tags: - kubernetes # pip install kubernetes - block: - name: Download manifest on master ansible.builtin.get_url: url: "{{ item.url }}" dest: "~/{{ item.url.split('/') | last }}" mode: '0664' run_once: true loop: "{{ kubernetes_app }}" - name: Create namespace kubernetes.core.k8s: name: "{{ item.namespace }}" api_version: v1 kind: Namespace state: present loop: "{{ kubernetes_app }}" - name: Apply manifest kubernetes.core.k8s: namespace: "{{ item.namespace }}" state: present src: "~/{{ item.url.split('/') | last }}" loop: "{{ kubernetes_app }}" when: - inventory_hostname in groups['kubemaster'] - kubernetes_init_app tags: - kubernetes # --- # - hosts: kubemaster # become: yes # remote_user: vagrant # roles: # - role: ansible-role-linux-kubernetes # vars_files: # - vars.yaml # - hosts: kubeworker # become: yes # remote_user: vagrant # roles: # - role: ansible-role-linux-kubernetes # vars_files: # - vars.yaml