AWS Ingress:由于入口而构建模型失败:NoCredentialProviders:链中没有有效的提供商

问题描述 投票:0回答:1

我正在尝试使用以下清单部署 AWS Ingress Controller:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-srv-eks
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
spec:
  ingressClassName: alb
  rules:
  - http:
      paths:
        - path: /path1
          pathType: Prefix
          backend:
            service:
              name: path1
              port:
                number: 4001
        - path: /path2
          pathType: Prefix
          backend:
            service:
              name: path2
              port:
                number: 4002

并使用以下命令来应用它:

kubectl apply -f infra/k8s/ingress-srv-eks.yaml

它表示资源已创建。 但是当我描述入口时,它说“由于入口而构建模型失败:NoCredentialProviders:链中没有有效的提供者”:

#kubectl describe ingress ingress-srv-eks

Name:             ingress-srv-eks
Labels:           <none>
Namespace:        default
Address:          
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host        Path  Backends
  ----        ----  --------
  *           
              /path1   path1:4001 ()
Annotations:  alb.ingress.kubernetes.io/healthcheck-path: /healhtz
              alb.ingress.kubernetes.io/listen-ports: [{"HTTP": 80},{"HTTPS": 443}]
              alb.ingress.kubernetes.io/scheme: internet-facing
              alb.ingress.kubernetes.io/target-type: ip
Events:
  Type     Reason            Age                    From     Message
  ----     ------            ----                   ----     -------
  Warning  FailedBuildModel  7m30s (x2 over 7m53s)  ingress  Failed build model due to ingress: default/ingress-srv-eks: NoCredentialProviders: no valid providers in chain. Deprecated.
           For verbose messaging see aws.Config.CredentialsChainVerboseErrors

下面是我安装LB后的helm命令:

helm install -n kube-system aws-load-balancer-controller eks/aws-load-balancer-controller --set clusterName=sample-cluster   --set serviceAccount.create=true   --set serviceAccount.name=aws-load-balancer-controller --set region=ap-south-1 --set vpcId=vpc-06e0620658310dbfb

尝试将 AWS 信用添加为环境变量,但这也不起作用。

因此,Ingress 的“地址”字段为空(执行

kubectl get ingress
时),并且我无法获取用于测试集群的 URL。

有人可以帮我解决这个问题吗?

amazon-web-services kubernetes kubernetes-ingress amazon-eks
1个回答
0
投票

您可以检查正确的命名空间,这里它说明了“默认”,这似乎不正确。

© www.soinside.com 2019 - 2024. All rights reserved.