k8s — вложенные среды фейерверков
Извините, если этот вопрос может показаться "запутанным", но вот оно...
В настоящее время я разрабатываю решение для k8s на основе контейнеров Firecracker и Kata. Я бы хотел, чтобы среда была максимально изолированной/безопасной. Мои мысли по этому поводу такие:
- разверните мастера k8s как узлы Firecracker, имеющие API-сервер, контроллер, планировщик и т. д.
- развернуть воркеры k8s как узлы Firecracker, имеющие Kubelet, Kube-proxy и использующие Kata-контейнеры + Firecracker для развернутой рабочей нагрузки. Рабочая нагрузка будет представлять собой комбинацию компонентов кластера MQTT и компонентов FaaS собственной разработки (вероятно, с использованием OpenFaaS).
Это пункт 2 выше, который заставляет меня чувствовать себя немного неловко/запутанно. Не усложняю ли я вещи, вводя сложность, которая вызовет проблемы, связанные с сетевым взаимодействием (CNI) между рабочими узлами и т. д.? Изоляция и минимизация векторов атаки — все это важно, но, возможно, я пытаюсь «быть слишком умным» здесь :)
Мне очень нравится концепция с архитектурой Firecrackers microVM с уменьшенными рисками безопасности и уменьшенной занимаемой площадью, и она станет прекрасным решением для изоляции арендаторов. Однако лучше ли использовать другую среду выполнения, соответствующую CRI, вместе с Kata для фактической рабочей нагрузки, развертываемой на рабочих процессах?
Заранее большое спасибо за ваши мысли/комментарии по этому поводу!
1 ответ
Возможно, вам захочется заглянуть на https://github.com/weaveworks-liquidmetal и подумать, поможет ли это вам в достижении вашей цели? альтернативные среды выполнения (например, ката) для различных рабочих нагрузок приветствуются в PR. В группе пользователей Weaveworks есть свободный канал из жидкого металла, если у вас есть какие-либо вопросы. Раскрытие информации В настоящее время я работаю в Weaveworks :)