【问题标题】:how could I install a snap package via Ansible on an air-gapped system我如何在气隙系统上通过 Ansible 安装 snap 包
【发布时间】:2021-04-29 08:20:41
【问题描述】:

通过 Ansible 在连接到 Internet 的系统上安装 snap 包非常简单。例如:

  - name: Install microk8s
    become: yes
    snap:
      name: microk8s
      classic: yes
      channel: "{{ microk8s_version }}"

现在我需要在一组气隙节点上执行相同的操作(没有直接连接到互联网)。 我可以为所需的包进行“快速下载”,并将它们移动到目标机器。 但是如何在 Ansible 中做到这一点?对此有任何支持吗?还是我必须使用 shell/command 模块?

谢谢

【问题讨论】:

    标签: ansible offline snapcraft


    【解决方案1】:

    我没有对此进行测试,但此方法适用于其他模块。

      - name: install microk8s, file on local disk
        become: yes
        snap:
          name: /path/to/file
    

    【讨论】:

    【解决方案2】:

    使用@Kevin C 的提示,我能够使用以下剧本解决问题

      - name: copy microk8s snap to remote
        copy: 
          src: "{{ item }}"
          dest: "~/microk8s/"
          remote_src: no
        with_fileglob: 
          - "../files/microk8s/*"
    
      - name: snap ack the new package
        become: yes
        shell: |
           snap ack ~/microk8s/microk8s_1910.assert
           snap ack ~/microk8s/core_10583.assert
    
      - name: install microk8s, file on local disk
        become: yes
        snap:
          name: "~/microk8s/core_10583.snap"
    
      - name: install microk8s, file on local disk
        become: yes
        snap:
          name: "~/microk8s/microk8s_1910.snap"
          classic: yes
    

    我希望这对其他人也有帮助。 很高兴看到这个记录。

    【讨论】:

      【解决方案3】:

      如果您可以将包放到 Ansible 服务器上,以下代码会将文件复制到目标。类似下面的代码应该可以工作。

        - name: copy files/local/microk8s.deb
          copy: 
            src: "files/local/microk8s.deb"
            dest: "~/microk8s.deb"
            remote_src: no
      

      其中files/ 与剧本处于同一级别。

      【讨论】:

      • 谢谢。但这仍然意味着我需要通过“shell:snap install microk8s.deb”进行“安装”并处理任何问题,对吧?
      • 是的,你是对的。虽然有一个Ansible snap module,但它似乎没有从本地文件安装的选项。所以这需要一个shell命令。
      猜你喜欢
      • 2021-02-22
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      相关资源
      最近更新 更多