Инженер DataStax здесь, я помог разработать функцию управления сертификатом между узлами в OpsCenter Lifecycle Manager. Нет фундаментального требования для перезапуска всех узлов после добавления нового узла/сертификата, но легко спроектировать управление сертификатами, чтобы вы случайно оказались в этом требовании.
Вы должны создать самозаверяющий сертификат для каждого узла, добавив каждый из этих сертификатов в доверительный магазин и скопировав этот доверенный магазин каждому узлу. Когда вы добавляете новый узел/cert, вы должны добавить новый сертификат в этот доверенный магазин, перепрограммировать его на каждый узел, что затем требует перезапуска Cassandra. Вот как документация DataStax предлагает сделать что-то, и это самый простой способ начать работу, но это не самый масштабируемый способ перехода в производство.
Вместо этого вы должны создать Центр сертификации. Он не должен быть публично доверенным CA, как Verisign, он может быть частным, созданным с помощью инструмента командной строки openssl. Добавьте CA-сертификат CA в доверительный магазин и скопируйте его на каждый узел. На этом этапе вы можете создавать сертификаты для каждого узла, подписанного этим ЦС. Поскольку каждый узел уже доверяет ЦС, вы можете добавлять новые узлы/сертификаты в любое время, если их сертификаты от узла к узлу подписаны этим ЦС (поэтому держитесь за частные и общедоступные части ЦС), и каждый узел будет доверять подписанный сертификат.
К сожалению, это довольно запутанно реализовать, если у вас нет достаточного фона с сертификатами в целом и openssl (или другим средством генерации сертификата). Для его объяснения потребуется много больше, чтобы шаг за шагом объяснить это. Но вы можете легко обучать Google по настройке CA, и вы уже знаете, как сделать материал JKS для создания магазина доверия ... так что вы, по крайней мере, хороший кусок пути туда.
Также ... Я работаю над различными материалами, связанными с развертыванием для DataStax. Если бы вы были заинтересованы, я бы хотел пообщаться в течение получаса о том, как вы сделали настройку Kubernetes и что сработало хорошо для вас и что вызывает боль. У переполнения стека есть функция прямого обмена сообщениями? Если я смогу выяснить, как я буду снимать вам свою контактную информацию.
Есть ли стандартный подход для решения проблемы? –
Я думаю, вы должны немного уточнить свой вопрос и поделиться некоторыми подробностями. Как масштабируется кластер, связанный с [конфигурацией контекста безопасности] (https://kubernetes.io/docs/user-guide/security-context/) одного приложения/StatefulSet? – pagid