Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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
如何在Fedora32的ansible 2.9.10中执行多行命令_Ansible - Fatal编程技术网

如何在Fedora32的ansible 2.9.10中执行多行命令

如何在Fedora32的ansible 2.9.10中执行多行命令,ansible,Ansible,我想在远程机器中使用ansible 2.9.10执行一个命令,首先我尝试如下: ansible kubernetes-root -m command -a "cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file"

我想在远程机器中使用ansible 2.9.10执行一个命令,首先我尝试如下:

ansible kubernetes-root -m command -a "cat > /etc/docker/daemon.json <<EOF
{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "log-opts": {
    "max-size": "100m"
    },
    "storage-driver": "overlay2",
    "registry-mirrors":[
        "https://kfwkfulq.mirror.aliyuncs.com",
        "https://2lqq34jg.mirror.aliyuncs.com",
        "https://pee6w651.mirror.aliyuncs.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ]
}"
- hosts: kubernetes-root
  remote_user: root
  tasks:
    - name: add docker config
      shell: >
      cat > /etc/docker/daemon.json <<EOF
      {
          "exec-opts": ["native.cgroupdriver=systemd"],
          "log-driver": "json-file",
          "log-opts": {
          "max-size": "100m"
          },
          "storage-driver": "overlay2",
          "registry-mirrors":[
              "https://kfwkfulq.mirror.aliyuncs.com",
              "https://2lqq34jg.mirror.aliyuncs.com",
              "https://pee6w651.mirror.aliyuncs.com",
              "http://hub-mirror.c.163.com",
              "https://docker.mirrors.ustc.edu.cn",
              "https://registry.docker-cn.com"
          ]
      }
 [dolphin@MiWiFi-R4CM-srv playboook]$ ansible-playbook add-docker-config.yaml 
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
ERROR! We were unable to read either as JSON nor YAML, these are the errors we got from each:
JSON: Expecting value: line 1 column 1 (char 0)

Syntax Error while loading YAML.
  could not find expected ':'

The error appears to be in '/home/dolphin/source-share/source/dolphin/dolphin-scripts/ansible/playboook/add-docker-config.yaml': line 7, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

      cat > /etc/docker/daemon.json <<EOF
      {
      ^ here

ansible kubernetes root-m命令-a“cat>/etc/docker/daemon.json您的剧本应该可以正常运行,您只需在
shell
子句行后添加一些缩进,然后将
更改为
|

以下是更新的PB:

---
- name: play name
  hosts: dell420
  gather_facts: false
  vars:


  tasks:
  - name: run shell task
    shell: |
      cat > /tmp/temp.file << EOF 
      {
          "exec-opts": ["native.cgroupdriver=systemd"],
          "log-driver": "json-file",
          "log-opts": {
          "max-size": "100m"
          },
          "storage-driver": "overlay2",
          "registry-mirrors":[
              "https://kfwkfulq.mirror.aliyuncs.com",
              "https://2lqq34jg.mirror.aliyuncs.com",
              "https://pee6w651.mirror.aliyuncs.com",
              "http://hub-mirror.c.163.com",
              "https://docker.mirrors.ustc.edu.cn",
              "https://registry.docker-cn.com"
          ]
      }
      EOF

当使用playbook中的
shell
模块而不是不支持输出重定向、管道等的
command
模块时,该特别命令应该也能正常工作。您是对的@Zeitounator,用您的输入更新了答案!您最好使用
copy
template
模块而不是
shell
将内容重定向到文件。该文件将被解释为不同的语言(ansible->jinja->shell),并且可能会出错。此外,当您使用自动化工具来实现这一点时,这是毫无意义的,您将失去无效率、空运行模式……我的建议:我想您应该考虑ansible的用途。
ansible -i hosts dell420 -m shell -a 'cat > /tmp/temp.file <<EOF
{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "log-opts": {
    "max-size": "100m"
    },
    "storage-driver": "overlay2",
    "registry-mirrors":[
        "https://kfwkfulq.mirror.aliyuncs.com",
        "https://2lqq34jg.mirror.aliyuncs.com",
        "https://pee6w651.mirror.aliyuncs.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ]
}
EOF
'