не удалось создать входной контроллер ALB на amazon eks - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь создать входной контроллер ALB на amazon eks. Я следую документации https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html, когда я запускаю kubectl. Примените команду -f alb-ingress-controller.yaml. Ошибка ниже. Пожалуйста, помогите мне решить эту проблему. Я сослался на много документации, но все еще не удается создать входной контроллер ALB. Файл PF alb-ingress-controller.yaml ниже

ошибка:

Развертывание "alb-ingress-controller" недопустимо: spe c .selector: Неверное значение: v1.LabelSelector { MatchLabels: map [string] string {"app.kubernetes.io/name": "alb-ingress-controller"}, MatchExpressions: [] v1.LabelSelectorRequirement (nil)}: поле является неизменным

# Application Load Balancer (ALB) Ingress Controller Deployment Manifest.
# This manifest details sensible defaults for deploying an ALB Ingress Controller.
# GitHub: https://github.com/kubernetes-sigs/aws-alb-ingress-controller
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: alb-ingress-controller
  name: alb-ingress-controller
  # Namespace the ALB Ingress Controller should run in. Does not impact which
  # namespaces it's able to resolve ingress resource for. For limiting ingress
  # namespace scope, see --watch-namespace.
  namespace: kube-system
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: alb-ingress-controller
  template:
    metadata:
      labels:
        app.kubernetes.io/name: alb-ingress-controller
    spec:
      containers:
        - name: alb-ingress-controller
          args:
            # Limit the namespace where this ALB Ingress Controller deployment will
            # resolve ingress resources. If left commented, all namespaces are used.
            # - --watch-namespace=your-k8s-namespace

            # Setting the ingress-class flag below ensures that only ingress resources with the
            # annotation kubernetes.io/ingress.class: "alb" are respected by the controller. You may
            # choose any class you'd like for this controller to respect.
            - --ingress-class=alb

            # REQUIRED
            # Name of your cluster. Used when naming resources created
            # by the ALB Ingress Controller, providing distinction between
            # clusters.
            - --cluster-name=Cluster-name

            # AWS VPC ID this ingress controller will use to create AWS resources.
            # If unspecified, it will be discovered from ec2metadata.
            - --aws-vpc-id=vpc-id

            # AWS region this ingress controller will operate in.
            # If unspecified, it will be discovered from ec2metadata.
            # List of regions: http://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region
            - --aws-region=ap-south-1

            # Enables logging on all outbound requests sent to the AWS API.
            # If logging is desired, set to true.
            # - --aws-api-debug
            # Maximum number of times to retry the aws calls.
            # defaults to 10.
            # - --aws-max-retries=10
          # env:
            # AWS key id for authenticating with the AWS API.
            # This is only here for examples. It's recommended you instead use
            # a project like kube2iam for granting access.
            #- name: AWS_ACCESS_KEY_ID
            #  value: KEYVALUE

            # AWS key secret for authenticating with the AWS API.
            # This is only here for examples. It's recommended you instead use
            # a project like kube2iam for granting access.
            #- name: AWS_SECRET_ACCESS_KEY
            #  value: SECRETVALUE
          # Repository location of the ALB Ingress Controller.
          image: docker.io/amazon/aws-alb-ingress-controller:v1.1.3
      serviceAccountName: alb-ingress-controller

i get above error after deleting old deployment and creating new one enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Я мог бы исправить проблему с входным контроллером ALB, увеличив тип экземпляра до двух узлов t3.Xlarge Linux. Мой кластер содержит 2 Linux узлов и 1 windows узлов. Вот документация, на которую я ссылался.

https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html https://docs.aws.amazon.com/eks/latest/userguide/launch-windows-workers.html https://medium.com/faun/aws-eks-and-pods-sizing-per-node-considerations-964b08dcfad3

0 голосов
/ 07 января 2020

Я получил ту же ошибку, мне пришлось удалить старое развертывание, а затем снова применить.

kubectl get deployments --all-namespaces

Перечисляет все развертывания.

Если вы видите alb-ingress-controller:

kubectl -n [namespace] delete deploy alb-ingress-controller

Удалит старое развертывание, затем повторите попытку.

...