我正在尝试按照说明在 Ubuntu 16.04 (x64) 上安装 Kubernetes (kubectl)这里。我在工作中使用了一些代理,我确信这是失败的原因。我知道有很多相关问题,但我已经尝试了我能找到的任何建议。任何帮助都将不胜感激。
目前,我无法让 apt update 正常工作。它失败了 -
W: The repository 'https://apt.kubernetes.io kubernetes-xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://apt.kubernetes.io/dists/kubernetes-xenial/main/binary-amd64/Packages server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
我在这里尝试了多种方法 -apt.conf
使用/etc/apt/apt.conf
Acquire::https::packages.cloud.google.com::Verify-Peer "false";
我还尝试通过将上述内容指定为命令行参数 -
sudo apt-get update -o Acquire::https::packages.cloud.google.com::Verify-Peer=false
我尝试apt-get update
使用--allow-unauthenticated
&运行--allow-insecure-repositories
,但不知何故apt-secure
仍然忽略了所有这些指令。我查看了手册页,apt-secure
但没有发现我指定的选项有什么问题。
我已使用以下方法更新了密钥 -
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6A030B21BA07F4FB
我已更新我的 CA 证书。我已运行 -sudo rm /var/lib/apt/lists/*
删除所有列表。
内容/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
答案1
有时会出现重定向问题。
使用下面的来源将解决这个问题。
deb http://packages.cloud.google.com/apt/ kubernetes-xenial main
2024.3.28更新:使用新的 URL。
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /
若不存在则获取gpg
密钥:
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
官方文档是这里。 这个对我有用。
引自安装 kubeadm:
注意:旧版软件包存储库(apt.kubernetes.io 和 yum.kubernetes.io)已自 2023 年 9 月 13 日起弃用并冻结. 使用托管于的新软件包存储库pkgs.k8s.io强烈建议并要求安装已发布的 Kubernetes 版本2023 年 9 月 13 日之后。弃用的旧版存储库及其内容可能会在未来任何时候被删除,无需另行通知。新的软件包存储库提供从 v1.24.0 开始的 Kubernetes 版本的下载。
答案2
对于 Amogh 和 Guru 来说,
自 2024 年 1 月 31 日起,此方法不再起作用的原因是 K8s 更改了 repo 位置。请参阅https://kubernetes.io/blog/2023/08/15/pkgs-k8s-io-introduction/#how-to-migrate
为了解决这个问题,我采取了以下措施:
1.)删除了旧源
内容为:/etc/apt/sources.list.d/apt_kubernetes_io.list,其中包含
deb https://apt.kubernetes.io/ kubernetes-xenial main
2.)添加了新来源请参阅上面的说明,但简短版本是:
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo apt-get update
请注意,新的 repos 对版本敏感,您需要正确设置版本。以上适用于 v1.28
答案3
对于未找到 deb 命令的最新 ubuntu 版本
sudo apt-add-repository 'deb http://packages.cloud.google.com/apt/ kubernetes-xenial main
对于软件包的任何错误,请添加 gpg 密钥
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
然后执行
sudo apt-get update