Ansible:使用流浪汉安装kubernetes,错误:“服务器证书验证失败。CAfile:/etc/ssl/certs/ca-certificates.crt”

时间:2019-04-22 04:53:59

标签: kubernetes ansible vagrant virtualbox

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

在master-playbook.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.\r\n",
     

“ module_stdout”:“追踪(最近一次通话最近):\ r \ n文件   \“ / home / vagrant / .ansible / tmp / ansible-tmp-1555907987.70663-229510485563848 / AnsiballZ_apt_repository.py \”,   \ r \ n _ansiballz_main()\ r \ n文件中的第113行   \“ / home / vagrant / .ansible / tmp / ansible-tmp-1555907987.70663-229510485563848 / AnsiballZ_apt_repository.py \”,   第105行,位于_ansiballz_main \ r \ n invoke_module(zipped_mod,   temp_path,ANSIBALLZ_PARAMS)\ r \ n文件   \“ / home / vagrant / .ansible / tmp / ansible-tmp-1555907987.70663-229510485563848 / AnsiballZ_apt_repository.py \”,   第48行,在invoke_module \ r \ n imp.load_module(' main ',mod,   模块,MOD_DESC)\ r \ n文件   \“ / tmp / ansible_apt_repository_payload_GXYAmU / 主要 .py \”,第550行,   在\ r \ n文件中   \“ / tmp / ansible_apt_repository_payload_GXYAmU / 主要 .py \”,第542行,   在主\ r \ n文件\“ / usr / lib / python2.7 / dist-packages / apt / cache.py \”中,   第487行,在update \ r \ n加薪中   FetchFailedException(e)\ r \ napt.cache.FetchFailedException:W:The   储存库'https://packages.cloud.google.com/apt/dists   kubernetes-xenial Release'没有发布文件。,W:Data来自   这样的存储库无法通过身份验证,因此有可能   使用危险,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:无,E:某些索引文件   下载失败。它们已被忽略,或已使用旧的   \ r \ n“,” msg“:”模块失败\ n有关详细信息,请参见stdout / stderr   错误”,“ rc”:1}

2 个答案:

答案 0 :(得分:1)

the fine manual中所述,您必须首先使用apt-key或ansible模块apt_key:

添加GPG签名密钥。

在该页面上类似列出,正确的apt repo是deb https://apt.kubernetes.io/ kubernetes-xenial main

所以,是的,尽管您完全通过第一条命令使CA信任链中断了,但我怀疑您随后将在后续步骤中遇到不受信任的程序包签名,因为您没有教过kubernetes程序包签名密钥。

答案 1 :(得分:0)

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

#git config --global http.sslverify false