--- - name: Setting up the controller nodes hosts: masters vars: etcd_host1_ip: 192.168.11.167 etcd_host2_ip: 192.168.11.94 kube_ver: 1.11.3 kube_arch: "{{ 'arm' if ansible_architecture == 'armv7l' else 'amd64' }}" become: true tasks: - name: Provision the kubernetes Control Plane file: path: /etc/kubernetes/config state: directory - name: Download the kubernetes binaries get_url: url: https://storage.googleapis.com/kubernetes-release/release/v{{ kube_ver }}/bin/linux/{{ kube_arch }}/{{ item }} dest: /usr/local/bin mode: 0755 with_items: - kube-apiserver - kube-controller-manager - kube-scheduler - kubectl - name: Configure the API server template: src: templates/kube-apiserver.service.j2 dest: /etc/systemd/system/kube-apiserver.service - name: Configure the Controller Manager server template: src: templates/kube-controller-manager.service.j2 dest: /etc/systemd/system/kube-controller-manager.service - name: Configure the Scheduler server template: src: templates/kube-scheduler.service.j2 dest: /etc/systemd/system/kube-scheduler.service - name: Copy in the kube-scheduler config file template: src: templates/kube-scheduler.yaml.j2 dest: /etc/kubernetes/config/kube-scheduler.yaml - name: Reload systemd command: systemctl daemon-reload - name: Start and enable the kubernetes services service: name: "{{ item }}" state: started enabled: true with_items: - "kube-apiserver" - "kube-controller-manager" - "kube-scheduler"