- name: 下载cni plugins copy: src={{ base_dir }}/bin/{{ item }} dest={{ bin_dir }}/{{ item }} mode=0755 with_items: - bridge - host-local - loopback - portmap - name: 配置 flannel DaemonSet yaml文件 template: src=kube-flannel.yaml.j2 dest={{ cluster_dir }}/yml/flannel.yaml run_once: true connection: local - name: 运行 flannel网络 shell: "{{ base_dir }}/bin/kubectl apply -f {{ cluster_dir }}/yml/flannel.yaml" run_once: true connection: local - name: 删除默认cni配置 file: path=/etc/cni/net.d/10-default.conf state=absent - name: 轮询等待flannel 运行,视下载镜像速度而定 shell: "{{ bin_dir }}/kubectl get pod -n kube-system -o wide|grep 'flannel'|grep ' {{ inventory_hostname }} '|awk '{print $3}'" register: pod_status until: pod_status.stdout == "Running" retries: 15 delay: 8 ignore_errors: true