当前位置: 首页 > 知识库问答 >
问题:

安塞布尔抛出一个“未能更新apt缓存: W:从这样的存储库更新不能安全地完成”错误

阮飞翔
2023-03-14

我是Ansible的新手,我正在尝试在一个EC2实例(Ubuntu18.04)上为一个类安装kubectl。

我已经运行了剧本,它进行得很好,直到它击中任务4,然后抛出以下错误:

致命:[localhost]:失败=

现在,当我再次尝试运行任务1时,它会在任务1上抛出相同的错误。有人能告诉我如何修复这个问题吗?

这是我写的剧本,它是基于我完成的一个练习,用于安装Docker,使用Anable和命令给我安装kubectl:

- name: A playbook to install kubectl on a VM
  hosts: localhost
  user: ubuntu
  become: yes

  tasks:
  - name: 1. Update APT Package Manager
    apt:
      update_cache: yes

  - name: 2. Install dependency packages
    apt:
      name={{ item }}
    with_items:
      - apt-transport-https
      - ca-certificates
      - curl
      - gnupg-agent
      - software-properties-common

  - name: 3. Get APT Key
    shell:
      cmd: curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      cmd: echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list

  - name: 4. Update Packages
    apt:
      update_cache: yes

  - name: 5. Install Kubectl
    apt:
      update_cache: yes
      name: kubectl

共有1个答案

夏季萌
2023-03-14

关于部分

- name: 3. Get APT Key
    shell:
      cmd: curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
      cmd: echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list

shell_module将只执行第二个cmd。Anable只能将其中一个参数传递给模块,最后一个。

要将文件从HTTPS下载到节点,可以使用get_url\u模块,然后使用apt_key\u模块任务添加apt密钥。

- name: Download apt key
  get_url:
    url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
    dest: /tmp # or /etc/pki/rpm-gpg depending on the infrastructure

- name: Add a key from a file
  ansible.builtin.apt_key:
    file: /tmp/apt-key.gpg
    state: present

你也可以加上

- name: Add an Apt signing key, uses whichever key is at the URL
  ansible.builtin.apt_key:
    url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
    state: present
 类似资料:
  • 一、本功能说明 本节仅为更新缓存的作用,进行过某些模块的设置等操作或者感觉某些地方不正常的时候请更新缓存。 1).如何进入本功能 导航栏 选择扩展 -> 菜单栏 选择更新全站缓存

  • 一、简介 当对PHPSSO进行修改后,执行此操作。 二、功能演示 更新应用列表缓存。如下图所示:

  • Im有一个war项目,在wildfly上部署了JAX-RS接口,并配置了一个安全域,从db加载用户密码和角色。安全域使用缓存类型=默认值。安全域无法识别经过身份验证的用户的更新,因为旧数据会被缓存。我用jboss cli验证了这一点。sh.那么如何从缓存中删除特定用户呢?我希望在部署的应用程序中执行此操作,而不是通过jboss cli。嘘。

  • 我试图调用一个存储过程,但我得到:错误代码:1175您正在使用安全更新模式,并且您试图更新一个没有使用键列的表 下面是表格: 程序如下: 我是这样称呼它的:

  • 我有简单的代码,检查用户是否有特定的角色: 现在的问题是,当我改变角色时,所以在机器人运行时删除特定角色,用户仍然拥有权限。所以在机器人缓存中,用户仍然拥有特定的角色。 当用户角色改变时,有没有办法更新机器人缓存? 提前感谢