Continental Innovates with Rancher and Kubernetes
Important: RKE add-on install is only supported up to Rancher v2.0.8 Please use the Rancher Helm chart to install Rancher on a Kubernetes cluster. For details, see the Kubernetes Install . If you are currently using the RKE add-on install method, see Migrating from a Kubernetes Install with an RKE Add-on for details on how to move to using the helm chart.
Please use the Rancher Helm chart to install Rancher on a Kubernetes cluster. For details, see the Kubernetes Install .
If you are currently using the RKE add-on install method, see Migrating from a Kubernetes Install with an RKE Add-on for details on how to move to using the helm chart.
To debug issues around this error, you will need to download the command-line tool kubectl. See Install and Set Up kubectl how to download kubectl for your platform.
kubectl
When you have made changes to rancher-cluster.yml, you will have to run rke remove --config rancher-cluster.yml to clean the nodes, so it cannot conflict with previous configuration errors.
rancher-cluster.yml
rke remove --config rancher-cluster.yml
Something is wrong in the addons definitions, you can run the following command to get the root cause in the logging of the job:
kubectl --kubeconfig kube_config_rancher-cluster.yml logs -l job-name=rke-user-addon-deploy-job -n kube-system
The structure of the addons definition in rancher-cluster.yml is wrong. In the different resources specified in the addons section, there is a error in the structure of the YAML. The pointer yaml line 9 references to the line number of the addon that is causing issues.
yaml line 9
Things to check
tls.crt: LS01...
cat MyCertificate | base64 -d
cat MyCertificate | base64 -D
The base64 string of one of the certificate strings is wrong. The log message will try to show you what part of the string is not recognized as valid base64.
# MacOS echo BASE64_CRT | base64 -D # Linux echo BASE64_CRT | base64 -d # Windows certutil -decode FILENAME.base64 FILENAME.verify
The host value can only contain a host name, as it is needed by the ingress controller to match the hostname and pass to the correct backend.