Add HA troubleshooting for base64 certificates

This commit is contained in:
Sebastiaan van Steenis
2018-06-30 08:01:59 -07:00
committed by Denise
parent c896a47d30
commit c7506a1617
2 changed files with 45 additions and 5 deletions
@@ -7,15 +7,17 @@ To debug issues around this error, you will need to download the command-line to
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.
#### Failed to deploy addon execute job [rke-user-includes-addons]: Failed to get job complete status
### Failed to deploy addon execute job [rke-user-includes-addons]: Failed to get job complete status
* The content in the `addons:` section of your `rancher-cluster.yml` is wrong. You can retrieve the root cause of this issue by running the following command:
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
```
Usually something is printed along the lines of `error: error converting YAML to JSON: yaml: line 9:`, where `line 9` references to the line number of the addon that is causing issues.
#### error: error converting YAML to JSON: yaml: line 9:
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.
<b>Things to check</b>
<ul>
@@ -25,8 +27,27 @@ Usually something is printed along the lines of `error: error converting YAML to
</ul>
</ul>
<b>Other errors</b>
#### Error from server (BadRequest): error when creating "/etc/config/rke-user-addon.yaml": Secret in version "v1" cannot be handled as a Secret
* `The Ingress "cattle-ingress-http" is invalid: spec.rules[0].host: Invalid value: "IP": must be a DNS name, not an IP address`
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.
<b>Things to check</b>
<ul>
<ul>
<li>Check if the base64 string is valid by running one of the commands below:</li>
```
# MacOS
echo BASE64_CRT | base64 -D
# Linux
echo BASE64_CRT | base64 -d
# Windows
certutil -decode FILENAME.base64 FILENAME.verify
```
</ul>
</ul>
#### The Ingress "cattle-ingress-http" is invalid: spec.rules[0].host: Invalid value: "IP": must be a DNS name, not an IP address
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.