Kubernetes 使用ansible将.kube配置文件从主节点复制到所有节点
我想使用ansible synchronize将kube管理配置文件从Kubernetes主主机复制到节点,但由于缺少python解释器而失败,但我已经在所有机器上安装了docker,没有任何问题 看到我的任务了吗Kubernetes 使用ansible将.kube配置文件从主节点复制到所有节点,kubernetes,ansible,Kubernetes,Ansible,我想使用ansible synchronize将kube管理配置文件从Kubernetes主主机复制到节点,但由于缺少python解释器而失败,但我已经在所有机器上安装了docker,没有任何问题 看到我的任务了吗 -名称:管理配置文件到节点 环境: ANSIBLE_PYTHON_解释器:python3 使同步: src:/home/{{ansible\u ssh\u user}}/.kube/config dest:/home/{{ansible\u ssh\u user} 委托给:“{{it
-名称:管理配置文件到节点
环境:
ANSIBLE_PYTHON_解释器:python3
使同步:
src:/home/{{ansible\u ssh\u user}}/.kube/config
dest:/home/{{ansible\u ssh\u user}
委托给:“{{item}}”
循环:“{groups.node}}”
只有在源服务器(在您的情况下为kube master)或kube节点中启用rsync时,才能使用同步模块
方法1:要从主服务器推送,需要在主服务器中启用rsync
同步默认情况下使用推送模式
- hosts: nodes
tasks:
- name: Transfer file from master to nodes
synchronize:
src: /etc/kubernetes/admin.conf
dest: $HOME/.kube/config
delegate_to: "{{ master }}"
方法2:使用获取和复制模块
希望这有帮助 错误消息是什么?第二种方法工作正常,第一种方法Ansible出错,无法找到sshpass文件。是的,正如我所提到的,您需要在主机中启用rsync或在主机和节点之间配置ssh连接(这很繁琐,至少在您的情况下不是必需的)。如果有效,请接受我的回答。
- hosts: all
tasks:
- name: Fetch the file from the master to ansible
run_once: yes
fetch: src=/etc/kubernetes/admin.conf dest=temp/ flat=yes
when: "{{ ansible_hostname == 'master' }}"
- name: Copy the file from the ansible to nodes
copy: src=temp/admin.conf dest=$HOME/.kube/config
when: "{{ ansible_hostname != 'master' }}"