billions-morning-53195
06/06/2022, 3:40 PMkafka-setup-job
pod when configuring Datahub to work with SSL AWS MSK. Is there an example of how to create datahub-certs
secret on K8s? I found one for creating mysql and elasticsearch secrets in Datahub docs but not for SSL secrets for Kafka. If anyone could give me a sample snippet of how to create datahub-certs
secret would help a lot. Thanks in advance!delightful-barista-90363
06/06/2022, 3:58 PMbig-carpet-38439
06/06/2022, 5:14 PMearly-lamp-41924
06/06/2022, 5:18 PMTRUSTSTORE_PASSWORD=$(pwgen -s -1 14)
KEYSTORE_PASSWORD=$(pwgen -s -1 14)
cp ${JAVA_HOME}/lib/security/cacerts kafka.client.truststore.jks
keytool -storepasswd -keystore kafka.client.truststore.jks -storepass changeit -new ${TRUSTSTORE_PASSWORD}
keytool -genkey -keystore kafka.client.keystore.jks -validity 300 -storepass ${KEYSTORE_PASSWORD} -dname "CN=${namespace}" -alias ${namespace} -storetype pkcs12
keytool -keystore kafka.client.keystore.jks -certreq -file client-cert-sign-request -alias ${namespace} -storepass ${KEYSTORE_PASSWORD} -keypass ${KEYSTORE_PASSWORD}
sed -i -e "s/NEW CERTIFICATE REQUEST/CERTIFICATE REQUEST/g" client-cert-sign-request
PRIVATE_CA_ARN=$(aws ssm get-parameters --region us-west-2 --name "/private-ca/root/arn" --with-decryption --no-cli-pager --query "Parameters[*].{Value:Value}" --output text | tr -d "\n")
CERTIFICATE_ARN=$(aws acm-pca issue-certificate --region us-west-2 --certificate-authority-arn ${PRIVATE_CA_ARN} --csr <fileb://client-cert-sign-request> --signing-algorithm "SHA256WITHRSA" --validity Value=300,Type="DAYS" | jq -r '.CertificateArn')
sleep 10 ## Sleep to make sure the issue certificate command has finished
aws acm-pca get-certificate --region us-west-2 --certificate-authority-arn ${PRIVATE_CA_ARN} --certificate-arn ${CERTIFICATE_ARN} | jq -r '[.Certificate, .CertificateChain] | join("\n")' > signed-certificate-from-acm
keytool -keystore kafka.client.keystore.jks -import -file signed-certificate-from-acm -alias ${namespace} -storepass ${KEYSTORE_PASSWORD} -keypass ${KEYSTORE_PASSWORD} -noprompt
kubectl create secret generic ssl-config --from-file=keystore=./kafka.client.keystore.jks --from-file=truststore=./kafka.client.truststore.jks --from-literal=keystore_password=$KEYSTORE_PASSWORD --from-literal=truststore_password=$TRUSTSTORE_PASSWORD --namespace ${namespace}
early-lamp-41924
06/06/2022, 5:19 PMearly-lamp-41924
06/06/2022, 5:19 PMglobal:
...
credentialsAndCertsSecrets:
name: ssl-config
secureEnv:
ssl.keystore.password: keystore_password
ssl.key.password: keystore_password
ssl.truststore.password: truststore_password
springKafkaConfigurationOverrides:
security.protocol: SSL
ssl.keystore.location: /mnt/certs/keystore
ssl.truststore.location: /mnt/certs/truststore
billions-morning-53195
06/06/2022, 5:22 PMkafka-setup-job
pod. It doesnt seem to pickup these(SASL and IAM config) values as mentioned here - https://datahubproject.io/docs/how/kafka-config#kafkaearly-lamp-41924
06/06/2022, 5:23 PMbillions-morning-53195
06/06/2022, 5:23 PMkafka-setup-job
to pickup these new env variablesearly-lamp-41924
06/06/2022, 5:23 PMearly-lamp-41924
06/06/2022, 5:24 PMdelightful-barista-90363
06/06/2022, 5:24 PMspringKafkaConfigurationOverrides:
security.protocol: SSL
billions-morning-53195
06/06/2022, 5:25 PMearly-lamp-41924
06/06/2022, 5:25 PMdelightful-barista-90363
06/06/2022, 5:25 PMearly-lamp-41924
06/06/2022, 5:25 PMbillions-morning-53195
06/06/2022, 5:26 PMbillions-morning-53195
06/06/2022, 5:27 PMspringKafkaConfigurationOverrides:
ssl.keystore.location: /mnt/datahub/certs/datahub.linkedin.com.keystore.jks
ssl.truststore.location: /mnt/datahub/certs/datahub.linkedin.com.truststore.jks
kafkastore.ssl.truststore.location: /mnt/datahub/certs/datahub.linkedin.com.truststore.jks
security.protocol: SASL_SSL
sasl.mechanism: AWS_MSK_IAM
sasl.jaas.config: software.amazon.msk.auth.iam.IAMLoginModule required;
sasl.client.callback.handler.class: software.amazon.msk.auth.iam.IAMClientCallbackHandler
kafkastore.security.protocol: SSL
ssl.keystore.type: JKS
ssl.truststore.type: JKS
ssl.protocol: TLS
ssl.endpoint.identification.algorithm:
big-carpet-38439
06/06/2022, 5:27 PMearly-lamp-41924
06/06/2022, 5:27 PMearly-lamp-41924
06/06/2022, 5:27 PMbillions-morning-53195
06/06/2022, 5:29 PMEnvironment:
β KAFKA_ZOOKEEPER_CONNECT: <redacted>
β KAFKA_BOOTSTRAP_SERVER: <redacted> β
β KAFKA_PROPERTIES_KAFKASTORE_SECURITY_PROTOCOL: SSL
β KAFKA_PROPERTIES_KAFKASTORE_SSL_TRUSTSTORE_LOCATION: /mnt/datahub/certs/datahub.linkedin.com.truststore.jks
β KAFKA_PROPERTIES_SASL_CLIENT_CALLBACK_HANDLER_CLASS: software.amazon.msk.auth.iam.IAMClientCallbackHandler
β KAFKA_PROPERTIES_SASL_JAAS_CONFIG: software.amazon.msk.auth.iam.IAMLoginModule required;
β KAFKA_PROPERTIES_SASL_MECHANISM: AWS_MSK_IAM
β KAFKA_PROPERTIES_SECURITY_PROTOCOL: SASL_SSL
β KAFKA_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM:
β KAFKA_PROPERTIES_SSL_KEYSTORE_LOCATION: /mnt/datahub/certs/datahub.linkedin.com.keystore.jks
β KAFKA_PROPERTIES_SSL_KEYSTORE_TYPE: JKS
β KAFKA_PROPERTIES_SSL_PROTOCOL: TLS
β KAFKA_PROPERTIES_SSL_TRUSTSTORE_LOCATION: /mnt/datahub/certs/datahub.linkedin.com.truststore.jks
β KAFKA_PROPERTIES_SSL_TRUSTSTORE_TYPE: JKS
β PARTITIONS: 2
β REPLICATION_FACTOR: 2
early-lamp-41924
06/06/2022, 5:29 PMbillions-morning-53195
06/06/2022, 5:29 PMdelightful-barista-90363
06/06/2022, 7:14 PMbillions-morning-53195
06/06/2022, 7:37 PMdelightful-barista-90363
06/06/2022, 7:55 PMdelightful-barista-90363
06/06/2022, 7:55 PMearly-lamp-41924
06/06/2022, 8:02 PMearly-lamp-41924
06/06/2022, 8:04 PMearly-lamp-41924
06/06/2022, 8:04 PMdelightful-barista-90363
06/06/2022, 8:05 PMearly-lamp-41924
06/06/2022, 8:05 PMdelightful-barista-90363
06/06/2022, 8:05 PMspringKafkaConfigurationOverrides:
security.protocol: SSL
kafkastore.security.protocol: SSL
ssl.protocol: TLS
ssl.endpoint.identification.algorithm: ""
the kafka_setup job complains that the keystore and truststore files cant be found, even though they are set to emptyearly-lamp-41924
06/06/2022, 8:10 PMdelightful-barista-90363
06/06/2022, 8:11 PMdelightful-barista-90363
06/06/2022, 8:12 PMearly-lamp-41924
06/06/2022, 8:12 PMearly-lamp-41924
06/06/2022, 8:12 PMearly-lamp-41924
06/06/2022, 8:13 PMearly-lamp-41924
06/06/2022, 8:13 PMdelightful-barista-90363
06/06/2022, 9:09 PMdelightful-barista-90363
06/07/2022, 2:42 PM