Стадия жизненного цикла модуля: General Availability
Пример custom resource AWSInstanceClass
Ниже представлен простой пример конфигурации custom resource AWSInstanceClass:
apiVersion: deckhouse.io/v1
kind: AWSInstanceClass
metadata:
name: worker
spec:
instanceType: t3.large
ami: ami-040a1551f9c9d11ad
diskSizeGb: 15
diskType: gp2
LoadBalancer
Аннотации объекта Service
Поддерживаются следующие параметры в дополнение к существующим в upstream:
service.beta.kubernetes.io/aws-load-balancer-type— может иметь значениеnone, что приведет к созданию только целевой группы, без какого-либо LoadBalanacer’а.service.beta.kubernetes.io/aws-load-balancer-backend-protocol— используется в связке сservice.beta.kubernetes.io/aws-load-balancer-type: none:- Возможные значения:
tcp(по умолчанию);tls;http;https.
- Внимание! При изменении этого параметра
cloud-controller-managerпопытается пересоздать целевую группу. Если к ней уже привязаны NLB или ALB, удалить целевую группу не получится и он будет бесконечно пытаться это сделать. В таком случае необходимо вручную отсоединить NLB или ALB от целевой группы.
- Возможные значения:
Настройка балансировщика в случае наличия Ingress-узлов не во всех зонах
Необходимо указать аннотацию на объекте Service: service.beta.kubernetes.io/aws-load-balancer-subnets: subnet-foo, subnet-bar.
Чтобы получить список текущих подсетей, используемых для конкретной установки, выполните следующую команду:
d8 k -n d8-system exec svc/deckhouse-leader -c deckhouse -- deckhouse-controller module values cloud-provider-aws -o json \
| jq -r '.cloudProviderAws.internal.zoneToSubnetIdMap'