При входе Istio не отображается адрес (Kubeflow на AWS)

#amazon-web-services #kubectl #amazon-eks #istio #kubeflow

Вопрос:

Я пытаюсь настроить kubeflow на AWS, я следовал этому руководству, чтобы настроить kubeflow на AWS.

Я использовал dex вместо cognito со следующей политикой.

затем на шаге: kfctl apply -V -f kfctl_aws.yaml сначала я получил эту ошибку:

 IAM for Service Account is not supported on non-EKS cluster
 

Поэтому, чтобы исправить это, я установил свойство enablePodIamPolicy: false

Затем повторил попытку, и он успешно развернул kubeflow, при проверке состояния служб с помощью kubectl -n kubeflow get all , я обнаружил, что все службы готовы, кроме оператора MPI.

игнорируя это, когда я попытался запустить kubectl get ingress -n istio-system , я получил следующий результат.

изображение

после расследования с использованием kubectl -n kubeflow logs $(kubectl get pods -n kubeflow --selector=app=aws-alb-ingress-controller --output=jsonpath={.items..metadata.name})

Я обнаружил следующую ошибку:

 E1104 12:09:37.446342       1 controller.go:217] kubebuilder/controller "msg"="Reconciler error" "error"="failed to reconcile LB managed SecurityGroup: failed to reconcile managed LoadBalancer securityGroup: UnauthorizedOperation: You are not authorized to perform this operation. Encoded authorization failure message: Lsvzm7f4rthL4Wxn6O8wiQL1iYXQUES_9Az_231BV7fyjgs7CHrwgUOVTNTf4334_C4voUogjSuCoF8GTOKhc5A7zAFzvcGUKT_FBs6if06KMQCLiCoujgfoqKJbG75pPsHHDFARIAdxNYZeIr4klmaUaxbQiFFxpvQsfT4ZkLMD7jmuQQcrEIw_U0MlpCQGkcvC69NRVVKjynIifxPBySubw_O81zifDp0Dk8ciRysaN1SbF85i8V3LoUkrtwROhUI9aQYJgYgSJ1CzWpfNLplbbr0X7YIrTDKb9sMhmlVicj_Yng0qFka_OVmBjHTnpojbKUSN96uBjGYZqC2VQXM1svLAHDTU1yRruFt5myqjhJ0fVh8Imhsk1Iqh0ytoO6eFoiLTWK4_Crb8XPS5tptBBzpEtgwgyk4QwOmzySUwkvNdDB-EIsTJcg5RQJl8ds4STNwqYV7XXeWxYQsmL1vGPVFY2lh_MX6q1jA9n8smxITE7F6AXsuRHTMP5q0jk58lbrUe-ZvuaD1b0kUTvpO3JtwWwxRd7jTKF7xde2InNOXwXxYCxHOw0sMX56Y1wLkvEDTLrNLZWOACS-T5o7mXDip43U0sSoUtMccu7lpfQzH3c7lNdr9s2Wgz4OqYaQYWsxNxRlRBdR11TRMweZt4Ta6K-7si5Z-rrcGmjG44NodT0O14Gzj-S4i6bK-qPYvUEsVeUl51ev_MsnBKtCXcMF8W6j9D7Oe3iGj13uvlVJEtq3OIoRjBXIuQQ012H0b3nQqlkoKEvsPAA_txAjgHXVzEVcM301_NDQikujTHdnxHNdzMcCfY7DQeeOE_2FT_hxYGlbuIg5vonRTT7MfSP8_LUuoIICGS81O-hDXvCLoomltb1fqCBBU2jpjIvNALMwNdJmMnwQOcIMI_QonRKoe5W43vntstatus code: 403, request id: a9be63bd-2a3a-4a21-bb87-93532923ffd2"  "controller"="alb-ingress-controller" "request"={"Namespace":"istio-system","Name":"istio-ingress"}
 

Я не понимаю, что именно пошло не так в разрешениях безопасности?

Ответ №1:

У alb-ingress-controller него нет разрешения на создание ALB.

Установив enablePodIamPolicy: false , я предполагаю, что вы выберете вариант 2 из руководства.

alb-ingress-controller Использует kf-admin роль, и установщику необходимо прикрепить к этой роли политику, найденную в aws-config/iam-alb-ingress-policy.json . Скорее всего, он не установлен, поэтому вам придется добавить его в IAM и прикрепить к роли.

После этого просмотрите журналы alb-ingress-controller выверки, чтобы узнать, может ли он создать ALB.

Ответ №2:

Скорее всего cluster-name , in aws-alb-ingress-controller-config неправильно настроен.

Если это так, вам следует отредактировать карту конфигурации с правильным именем кластера, используя kubectl edit cm aws-alb-ingress-controller-config -n kubeflow .

После этого вы должны удалить модуль, чтобы он перезапустился ( kubectl -n kubeflow delete pod $(kubectl get pods -n kubeflow --selector=app=aws-alb-ingress-controller --output=jsonpath={.items..metadata.name}) ).