Ack-acm-controller: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) (→Policy) |
||
| Строка 24: | Строка 24: | ||
=Установка и настройка <code>acm-controller</code>= |
=Установка и настройка <code>acm-controller</code>= |
||
| − | =Policy= |
+ | ==<code>Policy</code>== |
| + | Создать файл с <code>Policy<code> - имя конечно не принципиально, для простоты пусть будет <code>AWSACMControllerIAMPolicy.json</code> |
||
<PRE> |
<PRE> |
||
{ |
{ |
||
| Строка 56: | Строка 57: | ||
} |
} |
||
</PRE> |
</PRE> |
||
| + | <PRE> |
||
| − | |||
| + | aws iam create-policy \ |
||
| + | --policy-name AWSACMControllerIAMPolicy \ |
||
| + | --policy-document file://AWSACMControllerIAMPolicy.json |
||
| + | </PRE> |
||
=Helm= |
=Helm= |
||
Версия 12:25, 23 июня 2025
Задача
Если уже пользоваться AWS то хотелось бы получить максимум за свои деньги, и отказаться от использования Let's Encrypt,
а выписывать сертефикаты от AWS
К сожалению, жадный AWS не дает ключ от сертификата, и единственный доступный вариант использования - это ALB
acm-controller
Аналогично другим контроллерам, позволяет создавать сертефикаты (но блять без ключей, ебучий ты AWS) как ресурсы в k8s
Логика работы (коротко)
Устроено все, если смотреть обзорно, довольно просто
acm-controllerследит за появлением ресурса типаCertificate- При появлении ресурса идет в
APIи что-то там делает
TODO
Установка и настройка acm-controller
Policy
Создать файл с Policy - имя конечно не принципиально, для простоты пусть будет AWSACMControllerIAMPolicy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"acm:RequestCertificate",
"acm:DescribeCertificate",
"acm:ListCertificates",
"acm:DeleteCertificate",
"acm:AddTagsToCertificate",
"acm:UpdateCertificateOptions",
"acm:ListTagsForCertificate"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"route53:ChangeResourceRecordSets",
"route53:GetChange",
"route53:ListHostedZonesByName",
"route53:ListHostedZones",
"route53:GetHostedZone"
],
"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