Ansible:kubernetes使用vagrant安装,错误:“;服务器证书验证失败。CAfile:/etc/ssl/certs/ca certificates.crt";
正在尝试使用ansible在virtualbox上安装kubernetes: 在master-playbook.yml中Ansible:kubernetes使用vagrant安装,错误:“;服务器证书验证失败。CAfile:/etc/ssl/certs/ca certificates.crt";,kubernetes,ansible,vagrant,virtualbox,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
- 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调用playbook:
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
但我得到了一个错误:
“模块\标准输出”:“回溯(最近一次调用):\r\n文件
\“/home/vagrant/.ansible/tmp/ansible-tmp-1555907987.70663-229510485563848/AnsiballZ_apt_repository.py\”,
第113行,在\r\n\u ansiballz\u main()文件中\r\n
\“/home/vagrant/.ansible/tmp/ansible-tmp-1555907987.70663-229510485563848/AnsiballZ_apt_repository.py\”,
第105行,在_ansiballz_main\r\n invoke_模块(zipped_mod,
临时路径,ANSIBALLZ参数)\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\u DESC)\r\n文件
\“/tmp/ansible\u apt\u repository\u payload\u GXYAmU/main.py\”,第550行,
在\r\n文件中
\“/tmp/ansible\u apt\u repository\u payload\u GXYAmU/main.py\”,第542行,
在主\r\n文件\“/usr/lib/python2.7/dist packages/apt/cache.py\”中,
第487行,在更新中\r\n
FetchFailedException(e)\r\napt.cache.FetchFailedException:W:该
存储库'
kubernetes xenial Release'没有发布文件,W:来自的数据
这样的存储库无法进行身份验证,因此可能存在
使用危险,W:请参阅apt secure(8)手册页以了解存储库的创建
和用户配置详细信息,E:无法获取
服务器证书验证失败。CAfile:
/etc/ssl/certs/ca-certificates.crt文件:无,E:一些索引文件
未能下载。它们已被忽略,或已使用旧的
相反。\r\n,“msg”:“模块故障\n请参阅stdout/stderr以了解确切信息
错误“,”rc“:1}
如中所述,必须首先使用apt key
或ansible模块添加GPG签名密钥
同样,该页上列出的正确apt回购协议是debhttps://apt.kubernetes.io/ kubernetes xenial main
是的,虽然您使用第一个命令完全破坏了CA信任链,但我怀疑您在接下来的步骤中可能会遇到不受信任的包签名,因为您没有教apt使用kubernetes包签名密钥。运行下面的命令,然后重试:
#git config--global http.sslverify false--似乎与上述类似。此外,在问题“copy:src=BCPSG.pem dest=/etc/ssl/certs/ca certificates.crt”的评论中还有另一个链接,这几乎肯定是一个绝对糟糕的想法,因为该文件(顾名思义)是许多证书的串联;正确的方法是将任何新证书下载到
/usr/local/share/ca证书中,然后调用
TASK [Adding apt repository for Kubernetes] ************************************
fatal: [k8s-master]: FAILED! => {"changed": false, "module_stderr": "Shared connection to 127.0.0.1 closed.\r\n",