【问题标题】:Error when installing Spinnaker on Kubernetes on prem cluster在 prem 集群上的 Kubernetes 上安装 Spinnaker 时出错
【发布时间】:2020-05-13 21:18:05
【问题描述】:

我正在尝试在本地部署的 Kubernetes 设置上安装 Spinnaker。

遵循https://www.spinnaker.io/setup/的指示

  • 在 Kubernetes 主服务器上安装并运行 Halyard 作为 Docker。
  • 以 root 身份运行一切
  • mkdir ~/.hal 在 Kubemaster 上。按照网站的说明创建了服务帐号。
  • 将 kubeconfig 文件从 ./kube/config 复制到 ~/.hal/kubeconfig 中,因为它不能使用 docker -v 选项,存在一些权限问题,所以以这种方式工作
  • docker run halyard 命令——一切正常。
  • Ran Bash 和 Inside halyard。

现在当我在吊索里做这两件事时

  • 通过 export KUBECONFIG 命令将 kubectl 指向 kubeconfig
  • 启用 kubernetes 提供程序“hal config provider kubernetes enable”

命令有时会成功执行,或者在超时错误后失败并显示此警告

  • 获取versions.yml的对象内容

比较版本时出现意外错误:com.netflix.spinnaker.halyard.core.error.v1.HalException:无法从配置存储桶加载“versions.yml”:www.googleapis.com.*

即使它以某种方式成功运行。当我运行这些时,

CONTEXT=$(kubectl config current-context)

hal config provider kubernetes account add my-k8s-account --context $CONTEXT

它失败并出现与上述相同的错误。

完全奇怪的东西。其间断。它与 kubeconfig 文件有关吗?任何指针或帮助将不胜感激。

谢谢。

【问题讨论】:

  • 您好,您使用的是什么平台/基础设施?哪个k8s版本?
  • 我在 Azure 上安装了一个独立的 K8s 集群来进行本地模拟。 Kubernetes 是通过 Kubespray 安装的,版本是 1.17。 Kubemaster 上的防火墙已禁用,Azure 防火墙允许所有出站并接受 22、6443 和 443 入站
  • 还检查了从 VM 内部,我能够远程登录 googleapis.com 443 Trying 172.253.122.105... 连接到 googleapis.com。转义字符是 '^]'。但是从升降索容器内部,我在尝试 wget 时遇到了以下问题。 bash-5.0$ wget www.googleapis.com:443 连接到 www.googleapis.com:443 (172.217.13.74:443) wget: 无法连接到远程主机 (172.217.13.74): 操作超时
  • 你有任何来自吊索容器内部的网络连接吗?
  • 是的,这就是问题所在。 Azure 支持建议安装 CNI 插件,它解决了这个问题。因此,似乎在没有公共 IP 的 Azure VM 内部,VM 需要 CNI 插件才能连接到 Internet。

标签: kubernetes spinnaker


【解决方案1】:

如 cmets 中所述,当容器内部缺少网络连接时,可能会导致此类错误。

正如维克拉姆在评论中提到的那样:

是的,这就是问题所在。 Azure 支持建议安装 CNI 插件,它解决了这个问题。因此,似乎在没有公共 IP 的 Azure VM 内部,VM 需要 CNI 插件才能连接到 Internet。

要在 Azure 平台上配置 CNI 插件,请使用 guide

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2018-02-01
    • 2019-01-26
    • 1970-01-01
    • 2020-05-16
    • 2023-02-20
    • 1970-01-01
    相关资源
    最近更新 更多