Ack-acm-controller: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
| Строка 49: | Строка 49: | ||
} |
} |
||
</PRE> |
</PRE> |
||
| + | Далее из файла создать политику: |
||
<PRE> |
<PRE> |
||
aws iam create-policy \ |
aws iam create-policy \ |
||
Версия 12:48, 23 июня 2025
Задача
Если уже пользоваться AWS то хотелось бы получить максимум за свои деньги, и отказаться от использования Let's Encrypt,
а выписывать сертефикаты от AWS
К сожалению, жадный AWS не дает ключ от сертификата, и единственный доступный вариант использования - это ALB
acm-controller
Аналогично другим контроллерам, позволяет создавать сертефикаты (но блять без ключей, ебучий ты AWS) как ресурсы в k8s
Логика работы (коротко)
Устроено все, если смотреть обзорно, довольно просто
acm-controllerследит за появлением ресурса типаCertificate- При появлении ресурса идет в
APIи что-то там делает
TODO
Установка и настройка acm-controller
Policy
Создать файл с Policy - имя конечно не принципиально, для простоты пусть будет AWSACMControllerIAMPolicy.json
Это https://github.com/aws-controllers-k8s/acm-controller/blob/main/config/iam/recommended-inline-policy рекомендованная политика []
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"acm:DescribeCertificate",
"acm:ImportCertificate",
"acm:RequestCertificate",
"acm:UpdateCertificateOptions",
"acm:DeleteCertificate",
"acm:AddTagsToCertificate",
"acm:RemoveTagsFromCertificate",
"acm:ListTagsForCertificate"
],
"Resource": "*"
}
]
}
Далее из файла создать политику:
aws iam create-policy \ --policy-name AWSACMControllerIAMPolicy \ --policy-document file://AWSACMControllerIAMPolicy.json
Helm
helm repo add ack https://aws.github.io/eks-charts helm repo update helm install ack-acm-controller ack/ack-acm-controller \ --namespace ack-system \ --create-namespace \ --set aws.region=us-east-1 \ --set serviceAccount.create=false \ --set serviceAccount.name=ack-acm-controller