Ack-acm-controller: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 13: Строка 13:
 
<BR>
 
<BR>
 
<BR>
 
<BR>
acm-controller
+
=<code>acm-controller</code>=
  +
Аналогично другим контроллерам, позволяет создавать сертефикаты <s>(но блять без ключей, ебучий ты AWS)</s> как ресурсы в k8s
  +
=Логика работы (коротко)=
  +
Устроено все, если смотреть обзорно, довольно просто
  +
* <code>acm-controller</code> следит за появлением ресурса типа <code>Certificate</code>
  +
* При появлении ресурса идет в <code>API</code> и что-то там делает
  +
  +
TODO
   
 
=Policy=
 
=Policy=

Версия 12:21, 23 июня 2025

Задача

Если уже пользоваться AWS то хотелось бы получить максимум за свои деньги, и отказаться от использования Let's Encrypt,
а выписывать сертефикаты от AWS
К сожалению, жадный AWS не дает ключ от сертификата, и единственный доступный вариант использования - это ALB

acm-controller

Аналогично другим контроллерам, позволяет создавать сертефикаты (но блять без ключей, ебучий ты AWS) как ресурсы в k8s

Логика работы (коротко)

Устроено все, если смотреть обзорно, довольно просто

  • acm-controller следит за появлением ресурса типа Certificate
  • При появлении ресурса идет в API и что-то там делает

TODO

Policy

{
  "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": "*"
    }
  ]
}


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