# Note: this playbook can not run independently # Usage: easzctl add-node 1.1.1.1 - hosts: "{{ NODE_TO_ADD }}" roles: - { role: chrony, when: "groups['chrony']|length > 0" } - prepare - { role: docker, when: "CONTAINER_RUNTIME == 'docker'" } - { role: containerd, when: "CONTAINER_RUNTIME == 'containerd'" } - kube-node - { role: calico, when: "CLUSTER_NETWORK == 'calico'" } - { role: cilium, when: "CLUSTER_NETWORK == 'cilium'" } - { role: flannel, when: "CLUSTER_NETWORK == 'flannel'" } - { role: kube-router, when: "CLUSTER_NETWORK == 'kube-router'" } - { role: kube-ovn, when: "CLUSTER_NETWORK == 'kube-ovn'" } tasks: - name: 创建文件夹/opt/kube/images file: dest=/opt/kube/images state=directory - name: 推送cluster-addon的离线镜像包 copy: src={{ item }} dest=/opt/kube/images/ with_fileglob: - "{{ base_dir }}/down/coredns*.tar" - "{{ base_dir }}/down/dashboard*.tar" - "{{ base_dir }}/down/heapster*.tar" - "{{ base_dir }}/down/metrics*.tar" - "{{ base_dir }}/down/traefik*.tar" ignore_errors: true - name: 导入离线镜像(若执行失败,可忽略) shell: ls /opt/kube/images/*.tar |while read n;do {{ bin_dir }}/docker load -i $n ;done ignore_errors: true when: "CONTAINER_RUNTIME == 'docker'" - name: 导入离线镜像(若执行失败,可忽略) shell: ls /opt/kube/images/*.tar |while read n;do {{ bin_dir }}/ctr -n=k8s.io images import $n ;done ignore_errors: true when: "CONTAINER_RUNTIME == 'containerd'"