Я пытаюсь настроить входной контроллер ALB на AWS -EKS, точно так, как описано в следующем руководстве: ingress_controller_alb , но я не могу получить входной адрес.
Действительно , если я запускаю следующую команду: kubectl get ingress/2048-ingress -n 2048-game, через 10 минут я не получаю адрес. Есть идеи?
kubectl get ingress/2048-ingress -n 2048-game
Я боролся с той же проблемой, но, наконец, заработал, выполнив шаги @MaggieO, описанные выше. Несколько вещей для рассмотрения:
Изучите журналы вашего входного контроллера, они полезны.
kubectl log -n kube-system [имя вашего входного контроллера]
Спасибо за ваши ответы!
Я думаю, что проблема заключается в создании кластера, который приводит к созданию кластера без экземпляров EC2, с помощью команды eksctl cluster create -f cluster.yaml
eksctl cluster create -f cluster.yaml
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: test region: eu-central-1 version: "1.14" vpc: id: vpc-50b17738 subnets: private: eu-central-1a: { id: subnet-aee763c6 } eu-central-1b: { id: subnet-bc2ee6c6 } eu-central-1c: { id: subnet-24734d6e } nodeGroups: - name: ng-1-workers labels: { role: workers } instanceType: t3.medium desiredCapacity: 2 volumeSize: 5 privateNetworking: true
Я пытаюсь с группы узлов и группы управляемых узлов, но я получаю следующую ошибку тайм-аута:
... [ℹ] nodegroup "ng-1-workers" has 0 node(s) [ℹ] waiting for at least 2 node(s) to become ready in "ng-1-workers" Error: timed out (after 25m0s) waiting for at least 2 nodes to join the cluster and become ready in "ng-1-workers"
Возможно, проблема в версии aws -контроллера, который вы используете - вы используете старую версию входного контроллера - 1.0.0, новую - 1.1.3.
Я советую вам взглянуть в этой документации: ingress-controller-alb .
1. Загрузить образец манифеста контроллера доступа ALB
wget https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/alb-ingress-controller.yaml
2. Настройка манифеста входного контроллера ALB
Как минимум, отредактируйте следующие переменные:
--cluster-name=devCluster: name of the cluster. AWS resources will be tagged with kubernetes.io/cluster/devCluster:owned
Если ec2metadata недоступна из модуля контроллера, отредактируйте следующие переменные:
--aws-vpc-id=vpc-xxxxxx: vpc ID of the cluster. --aws-region=us-west-1: AWS region of the cluster.
3. Развертывание манифеста ролей RBA C
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/rbac-role.yaml
4. Развертывание манифеста входного контроллера ALB
kubectl apply -f alb-ingress-controller.yaml
5. Убедитесь, что развертывание прошло успешно и контроллер запущен
kubectl logs -n kube-system $(kubectl get po -n kube-system | egrep -o "alb-ingress[a-zA-Z0-9-]+")
Вы должны отобразить вывод, подобный следующему:
------------------------------------------------------------------------------- AWS ALB Ingress controller Release: 1.0.0 Build: git-7bc1850b Repository: https://github.com/kubernetes-sigs/aws-alb-ingress-controller.git -------------------------------------------------------------------------------
Затем вы можете развернуть пример приложения
Выполнить следующие команды:
Развертывание ресурса Ingress для игры 2048:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/2048/2048-ingress.yaml
Через несколько секунд убедитесь, что ресурс Ingress включен: