无法获取 Job 完成状态

重要提示

RKE add-on 安装仅支持 Rancher v2.0.8 之前的版本。 请使用 Rancher helm chart 将 Rancher 安装在 Kubernetes 集群上。有关详细信息,请参见Rancher 高可用安装。 如果您当前正在使用 RKE add-on 安装方法,参见将 RKE add-on 安装的 Rancher 迁移到 Helm 安装,获取有关如何使用 Helm chart 的详细信息。

要调试此错误,您需要下载命令行工具 kubectl。请参阅安装和设置 kubectl,了解如何在您的平台上下载和配置 kubectl

当您对 rancher-cluster.yml 进行更改后,您需要运行 rke remove --config rancher-cluster.yml 来清理节点,避免与以前的错误配置产生冲突。

Failed to deploy addon execute job [rke-user-includes-addons]: Failed to get job complete status

安装插件的 Job 执行有误,您可以运行以下命令来获取日志:

  1. kubectl --kubeconfig kube_config_rancher-cluster.yml logs -l job-name=rke-user-addon-deploy-job -n kube-system

error: error converting YAML to JSON: yaml: line 9

rancher-cluster.yml 中安装插件 Job 定义有误。您可以根据 yaml line 9 所标识的引用行号寻找错误原因。

需要检查

  • 是否将每个 Base64 编码的证书字符串直接放置在密钥之后,例如: tls.crt: LS01...,在此前后和之间确保没有任何换行符。
  • YAML 的格式是否正确,缩进应为 2 个空格。
  • 运行以下命令验证证书的完整性,如果存在任何错误,命令输出将显示。
    • Linux:cat MyCertificate | base64 -d
    • Mac OS:cat MyCertificate | base64 -D

Error from server (BadRequest): error when creating “/etc/config/rke-user-addon.yaml”: Secret in version “v1” cannot be handled as a Secret

某个证书的 Base64 编码的字符串有误。日志消息将尝试向您显示字符串的哪一部分未被识别为有效的 Base64 编码。

需要检查

通过运行以下命令之一检查 Base64 字符串是否有效:

  1. ## MacOS
  2. echo BASE64_CRT | base64 -D
  3. ## Linux
  4. echo BASE64_CRT | base64 -d
  5. ## Windows
  6. certutil -decode FILENAME.base64 FILENAME.verify

The Ingress “cattle-ingress-http” is invalid: spec.rules[0].host: Invalid value: “IP”: must be a DNS name, not an IP address

spec.rules[0].host 中只能定义一个主机名,因为 ingress controller 需要该名称来匹配请求头中描述的 Host ,并传递给正确的应用服务。