T167039 is about upgrading Kafka main clusters to 1.x. This ticket is about enabling SSL and inter broker encryption after the 1.x upgrade is done.
https://docs.confluent.io/current/kafka/incremental-security-upgrade.html
Prep work
- Kafka upgraded to 1.x T167039
- Addition of main Kafka broker TLS keys and certs and ssl_password in hiera.
production upgrade plan [WIP]
This upgrade requires 2 rolling restarts of each broker in a Kafka cluster.
- To enable SSL port communication
- To set security.inter.broker.protocol=SSL
For main-codfw:
- Merge https://gerrit.wikimedia.org/r/#/c/436171/ (main-codfw). For each broker, run puppet to enable SSL listener and restart each broker:
sudo puppet agent -t sudo service kafka restart # wait until broker is back up and in ISRs, initiate election: watch "kafka topics --describe --topic eqiad.mediawiki.revision-create | grep -E 'Isr:.*1001.*$'" kafka preferred-replica-election # Now proceed with next broker...
- Merge https://gerrit.wikimedia.org/r/#/c/434362/ (main-codfw). For each broker, run puppet to set default inter.broker.protocol.version=SSL and restart each broker:
sudo puppet agent -t sudo service kafka restart # wait until broker is back up and in ISRs, initiate election: watch "kafka topics --describe --topic eqiad.mediawiki.revision-create | grep -E 'Isr:.*1001.*$'" kafka preferred-replica-election # Now proceed with next broker...
Done!
Repeat the above for main-eqiad.