尝试使用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}
答案 0 :(得分:1)
如the fine manual中所述,您必须首先使用apt-key
或ansible模块apt_key:
在该页面上类似列出,正确的apt repo是deb https://apt.kubernetes.io/ kubernetes-xenial main
所以,是的,尽管您完全通过第一条命令使CA信任链中断了,但我怀疑您随后将在后续步骤中遇到不受信任的程序包签名,因为您没有教过kubernetes程序包签名密钥。
答案 1 :(得分:0)
运行以下命令,然后重试:
#git config --global http.sslverify false