наберите tcp 127.0.0.1:8080: connect: соединение отклонено AWS CodeBuild EKS - PullRequest
0 голосов
/ 02 августа 2020

Я получаю следующее сообщение об ошибке, когда пытаюсь выполнить развертывание в кластере EKS, даже если я уже добавил роль CodeBuild IAM в aws-auth.yaml как

- rolearn: arn:aws:iam::<AWS_ACCOUNT_ID>:role/codebuild-eks
  username: codebuild-eks
  groups:
    - system:masters 

ошибка: невозможно распознать "deployment.yml": Get http://localhost: 8080 / api? timeout = 32s: dial tcp 127.0.0.1:8080: connect: соединение отклонено

А вот моя команда сборки кода:

version: 0.2
phases:
  install:
    commands:
      - curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.10/2019-06-21/bin/linux/amd64/kubectl
      - chmod +x ./kubectl
      - mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
      - kubectl version --short --client
      - curl -o aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator
      - chmod +x ./aws-iam-authenticator
      - mkdir -p $HOME/bin && cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator && export PATH=$HOME/bin:$PATH
      - aws-iam-authenticator help
  pre_build:
    commands:
      - echo Entered the pre_build phase...
      - echo Logging in to Amazon EKS...
      - mkdir -p ~/.kube
      - aws s3 cp s3://ppshein-eks/config ~/.kube/config
      - export KUBECONFIG=$KUBECONFIG:~/.kube/config
      - aws eks --region $AWS_DEFAULT_REGION update-kubeconfig --name $AWS_CLUSTER_NAME
  build:
    commands:
      - echo Entered the build phase...
      - echo Change directory to secondary source
      - cd $CODEBUILD_SRC_DIR
      - echo List directory
      - ls -la
      - kubectl get pods --kubeconfig ~/.kube/config
      - kubectl apply -f deployment.yml

Проблема в том, что когда CodeBuild запускает этот оператор kubectl apply -f deployment.yml, у меня появляется сообщение об ошибке, но более одного kubectl get pods --kubeconfig ~/.kube/config работает нормально.

Пожалуйста, дайте мне знать, какую область я пропустил добавить или настроить. Спасибо.

1 Ответ

0 голосов
/ 04 августа 2020

Эти ошибки указывают на то, что kubectl не удалось достичь конечной точки сервера kubernetes по адресу 127.0.0.1:8080 или локального хоста. Поскольку вы настроили kubeconfig с помощью команды update-kubeconfig, похоже, несколько конфигураций объединяются 1 из-за этой команды:

- export KUBECONFIG=$KUBECONFIG:~/.kube/config

Чтобы увидеть результирующую конфигурацию, которую видит kubectl, запустите эта команда перед ошибочной командой:

- kubectl config view                      # Add this
- kubectl apply -f deployment.yml

Чтобы исправить, я рекомендую изменить следующее на этапе pre_build:

- export KUBECONFIG=~/.kube/config

Или используйте флаг '--context' с kubectl, чтобы выберите правильный контекст.

- export KUBECONFIG=file1:file2
- kubectl get pods --context=cluster-1
- kubectl get pods --context=cluster-2
...