Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes Ansible run“kubectl应用kube法兰绒.yml”不起作用_Kubernetes_Flannel - Fatal编程技术网

Kubernetes Ansible run“kubectl应用kube法兰绒.yml”不起作用

Kubernetes Ansible run“kubectl应用kube法兰绒.yml”不起作用,kubernetes,flannel,Kubernetes,Flannel,这是ansible yml,我在ansible控制节点上运行它以应用主节点的flannel网络。我是根用户 - name: Apply flannel network shell: sudo kubectl apply -f /tmp/.ansible/files/kube-flannel.yml ansible告诉我这个错误: "unable to recognize \"/tmp/.ansible/files/kube-flannel.yml\": Get http://localho

这是ansible yml,我在ansible控制节点上运行它以应用主节点的flannel网络。我是根用户

- name: Apply flannel network
  shell: sudo kubectl apply -f /tmp/.ansible/files/kube-flannel.yml
ansible告诉我这个错误:

"unable to recognize \"/tmp/.ansible/files/kube-flannel.yml\": Get http://localhost:8080/api?timeout=32s: dial tcp [::1]:8080: connect: connection refused"]}
但是,当我手动登录主节点并运行sudo kubectl apply-f/tmp/.ansible/files/kube-flannel.yml时,它不会出错

root@PC:~# kubectl apply -f /tmp/.ansible/files/kube-flannel.yml
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.extensions/kube-flannel-ds-amd64 created
daemonset.extensions/kube-flannel-ds-arm64 created
daemonset.extensions/kube-flannel-ds-arm created
daemonset.extensions/kube-flannel-ds-ppc64le created
daemonset.extensions/kube-flannel-ds-s390x created

最后一个问题是,如何修复ansible错误?

我在ansible yml中添加了以下cmd,然后pod已成功应用。由于ansible访问主节点具有新的ssh会话,环境值已被丢弃

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
只需使用KUBECONFIG作为环境变量,如下所示:

- name: Apply flannel
  shell: |
    kubectl apply -f  /home/ubuntu/kube-flannel.yml
  environment:
    KUBECONFIG: /home/ubuntu/.kube/config
  when: inventory_hostname == "kube-master" 

我已经完成了你上面提到的步骤,但仍然得到相同的错误。你还需要做什么吗?@pocky0719