Ansible:kubernetes install using vagrant,错误:"server certificate verification failed. CAfile: /etc/ss



尝试使用 ansible 在 virtualbox 上安装 kubernetes:

在主剧本.yml

- name: Install comodo cert
copy: src=BCPSG.pem dest=/etc/ssl/certs/ca-certificates.crt
- name: Update cert index
shell: /usr/sbin/update-ca-certificates
- name: Adding apt repository for Kubernetes
apt_repository:
repo: deb https://packages.cloud.google.com/apt/dists/  kubernetes-xenial main
state: present
filename: kubernetes.list
validate_certs: False

现在,Vagrantfile调用剧本:

config.vm.define "k8s-master" do |master|
master.vm.box = IMAGE_NAME
master.vm.network "private_network", ip: "192.168.50.10"
master.vm.hostname = "k8s-master"
master.vm.provision "ansible" do |ansible|
ansible.playbook = "kubernetes-setup/master-playbook.yml"
end
end

但是我收到错误:

TASK [Adding apt repository for Kubernetes] ************************************
fatal: [k8s-master]: FAILED! => {"changed": false, "module_stderr": "Shared connection to 127.0.0.1 closed.rn",

"module_stdout": "回溯(最近一次调用):\r 文件 \"/home/vagrant/.ansible/tmp/ansible-tmp-1555907987.70663-229510485563848/AnsiballZ_apt_repository.py\", 第 113 行,在 \r _ansiballz_main()\r 文件中 \"/home/vagrant/.ansible/tmp/ansible-tmp-1555907987.70663-229510485563848/AnsiballZ_apt_repository.py\", 第 105 行,在 _ansiballz_main\r invoke_module(zipped_mod, temp_path、ANSIBALLZ_PARAMS)\r 文件 \"/home/vagrant/.ansible/tmp/ansible-tmp-1555907987.70663-229510485563848/AnsiballZ_apt_repository.py\", 第 48 行,在 invoke_module\r imp.load_module('main', mod, 模块, MOD_DESC)\r 文件 \"/tmp/ansible_apt_repository_payload_GXYAmU/main.py\",第 550 行, 在 \r 文件中 \"/tmp/ansible_apt_repository_payload_GXYAmU/main.py\",第 542 行, in main\r File \"/usr/lib/python2.7/dist-packages/apt/cache.py\", 第 487 行,更新中\r 提高 FetchFailedException(e)\rapt.cache.FetchFailedException: W:The 存储库 'https://packages.cloud.google.com/apt/dists kubernetes-xenial Release' 没有 Release 文件,W:Data from 这样的存储库无法进行身份验证,因此可能是 使用起来很危险。, W:参见 apt-secure(8) 用于创建存储库的手册页 和用户配置详细信息,E:无法获取 https://packages.cloud.google.com/apt/dists/dists/kubernetes-xenial/main/binary-amd64/Packages 服务器证书验证失败。CA文件:/etc/ssl/certs/ca-certificates.crt CRLfile: none, E:一些索引文件 下载失败。它们已被忽略,或旧使用它们 相反。\r", "msg": "模块故障请参阅 stdout/stderr 了解确切的信息 错误", "rc": 1}

如精细手册中所述,您必须首先添加带有apt-key的 GPG 签名密钥或 ansible 模块apt_key:

同样在该页面上列出,正确的 apt 存储库是deb https://apt.kubernetes.io/ kubernetes-xenial main

所以是的,虽然你用第一个命令完全破坏了你的 CA 信任链,但我怀疑你随后会在后续步骤中遇到不受信任的包签名,因为你没有教 apt apt apt kubernetes 包签名密钥。

运行以下命令,然后重试:

# git config --global http.sslverify false

最新更新