Install an Add-on through YAML Using KubeKey

When you use KubeKey to install add-ons, you put the add-on information (Chart or YAML) under the addons field in the configuration file (config-sample.yaml by default). If the add-on configuration is provided as a YAML file, in some cases, you may see an error message similar to this during the installation:

  1. Error from server: failed to create typed patch object: xxx: element 0: associative list with keys has an element that omits key field "protocol"

This is a known issue of Kubernetes itself, caused by the flag --server-side. To solve this issue, do not add your add-on in the configuration file. Instead, you can apply your YAML file after KubeSphere is deployed. For example:

  1. kubectl apply -f xxx.yaml # Use your own YAML file.