Issue:
While trying to deploy the Control Hub Provisioning Agent onto Kubernetes via Helm, the deployment fails. The following error is seen in the SCH Agent's pod logs:
AGENT_04 - Agent Startup Error. Reason:java.lang.UnsupportedOperationException: Kerberos integration is supported only for Version greater than or equal to 1.7
This occurs only when the SCH Agent is configured for Kerberos authentication.
Solution:
When enabling Kerberos for the SCH Agent, it's a requirement that the configuration for 'crdEnabled' also is set to "true" in the SCH Agent's values.yaml.
In order to resolve the issue, modify the SCH Agent's 'crdEnabled' configuration within the values.yaml and set it to "true". The full values.yaml can be found on the StreamSets Github repo[1].
The values.yaml for the Agent should be modified to look like the following:
# Default values for Streamsets Control Agent
image:
repository: streamsets/control-agent
tag: latest
pullPolicy: Always
streamsets:
orgId: <your org id>
crdEnabled: true
api:
url: <control_hub_url>
token: <auth token for agent>
rbac:
enabled: true
krb:
enabled: false
encryptionTypes: <encryption types to use when creating a keytab for service principal>
containerDn: <distinguished name of the container under which new principals will be created>
ldapUrl: <URL of the LDAP service provider>
adminPrincipal: <user account which has privileges to create, search and destroy service principals>
adminKey: <secret key for the above account>
realm: <the realm of the organization>
kdcType: < AD | MIT >
[1] https://github.com/streamsets/helm-charts/blob/master/stable/control-agent/values.yaml