【发布时间】:2021-07-20 05:53:18
【问题描述】:
我正在尝试使用以下代码通过 Ansible 使用 k3s 设置 Kubernetes 集群:https://github.com/k3s-io/k3s-ansible。
我必须在 inventory/my-cluster/group_vars/all.yml 中更改 ansible_user 以匹配我的环境。这里的问题是我有一个 ubuntu pc 作为 master (ansible_user: antonis) 和两个 raspberry pi 作为 worker (ansible_user: pi)。
all.yml
---
k3s_version: v1.17.5+k3s1
ansible_user: antonis
systemd_dir: /etc/systemd/system
master_ip: "{{ hostvars[groups['master'][0]]['ansible_host'] | default(groups['master'][0]) }}"
extra_server_args: ""
extra_agent_args: ""
如果我执行ansible-playbook site.yml -i inventory/my-cluster/hosts.ini,我会按预期收到以下错误:
Failed to connect to the host via ssh: antonis@192.168.xxx.xxx
原因是workers的用户是pi而不是antonis。
然后我在 host.ini 中传递用户:
[master]
192.168.xxx.xxx
[node]
pi@192.168.xxx.xxx
pi@192.168.xxx.xxx
[k3s_cluster:children]
master
node
但是我得到以下信息:
fatal: [pi@192.168.xxx.xxx]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'ansible.vars.hostvars.HostVarsVars object' has no attribute 'token'"}
fatal: [pi@192.168.xxx.xxx]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'ansible.vars.hostvars.HostVarsVars object' has no attribute 'token'"}
PLAY RECAP ***************************************************************************************************************************************************************************************************
192.168.xxx.xxx : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
pi@192.168.xxx.xxx : ok=15 changed=1 unreachable=0 failed=1 skipped=8 rescued=0 ignored=0
pi@192.168.xxx.xxx : ok=15 changed=5 unreachable=0 failed=1 skipped=8 rescued=0 ignored=0
有人知道怎么解决吗?
【问题讨论】:
-
您是否尝试过这样做:
192.168.xxx.xxx ansible_user=pi -
您的意思是在 hosts.ini 文件中吗?像 192.168.1.70 ansible_user=antonis?不,它不起作用。
标签: kubernetes ansible ansible-inventory k3s