#amazon-eks #aws-cdk
Вопрос:
Я хочу добавить новый профиль fargate в существующий кластер eks. Кластер создается в другом стеке, и в моем стеке для конкретного клиента я импортирую свой кластер eks с помощью атрибутов.
self.cluster: Cluster = Cluster.from_cluster_attributes(
self, 'cluster', cluster_name=cluster,
open_id_connect_provider=eks_open_id_connect_provider,
kubectl_role_arn=kubectl_role
)
Ошибка в том, что:
Object of type @aws-cdk/core.Resource is not convertible to @aws-cdk/aws-eks.Cluster
и это появляется на этой строке здесь
FargateProfile(self, f"tenant-{self.tenant}", cluster=self.cluster, selectors=[Selector(namespace=self.tenant)])
Если я попытаюсь позвонить
self.cluster.add_fargate_profile(f"tenant-{self.tenant}", selectors=[Selector(namespace=self.tenant)])
Я получаю сообщение об ошибке, что объект self.cluster не имеет атрибута add_fargate_profile
Хотя вы можете подумать, что что-то не так с импортом кластера, добавление манифестов и диаграмм управления работает просто отлично.
self.cluster.add_manifest(...) <-- this is working
Ответ №1:
В настоящее время это невозможно в CDK.
Согласно документам, eks.Cluster.fromClusterAttributes
возвращает an ICluster
, в то время FargateProfile
как явно ожидает Cluster
a.
A FargateCluster
в настоящее время может быть создан только в CDK, а не импортирован.