当前位置: 首页 > 知识库问答 >
问题:

AWS ElasticIP至nginx ingress控制器EKS?

姜增
2023-03-14

我有一个简单的任务,但即使研究了几十篇文章也没有解决。

有一个简单的AWS EKS集群,它是使用eksctl、ElasticIP从演示模板创建的,安装时未做任何更改https://bitnami.com/stack/nginx-ingress-controller/helm

有一个域https://stage.mydomain.com我想转发到ElasticIP,使用DNS A记录,在AWS EKS nginx入口控制器1234567890.eu-central-1.elb.amazonaws.com这样我的集群的所有服务都可以在此ElasticIP地址。

我尝试了负载平衡器和网络平衡器,但都不起作用。

是否有一篇经过验证的文章或一系列操作来解决此问题以及这组服务?

共有1个答案

夏学名
2023-03-14

是的,这在AWS文章中很常见,NLD值也只以这种方式出现

https://aws.amazon.com/blogs/opensource/network-load-balancer-nginx-ingress-controller-eks/

在上面的文章中,使用NLB作为后端安装NGINX控制器,以同样的方式提供IP。

在这种情况下,您可以使用A或CNAME添加DNS

一旦您的入口控制器设置完成,您将获得LBendpoint,您必须将其添加到DNS作为A记录或CNAME

这将请求转发到集群。

现在在集群中,您必须使用应用YAML创建入口

https://kubernetes.io/docs/concepts/services-networking/ingress/

进入。亚马尔

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /testpath
        pathType: Prefix
        backend:
          service:
            name: test
            port:
              number: 80

对于中的NLB,可以将注释添加到服务中

**service.beta.kubernetes.io/aws-load-balancer-type: nlb**


apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
    service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '60'
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
  labels:
    helm.sh/chart: ingress-nginx-2.0.3
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/version: 0.32.0
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
    - name: https
      port: 443
      protocol: TCP
      targetPort: https
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/component: controller
 类似资料:
  • 问题内容: 我有一个这样的故事板 -> NavigationController-> LoginView-> TabBarController-> VC1-> VC2 我没有设法从VC1到VC2进行“移动”并保持选项卡栏。 我尝试了以下方法: Segue(显示类型) 以编程方式实例化: 但两者都会使标签栏消失。 我也尝试过 但这并没有改变任何东西。 您还有其他想法吗? PS:我在上面更新了方案…

  • 在创建资源类和指定资源格输出式化后, 下一步就是创建控制器操作将资源通过 RESTful APIs 展现给终端用户。 Yii 提供两个控制器基类来简化创建 RESTful 操作的工作:yii\rest\Controller 和 yii\rest\ActiveController, 两个类的差别是后者提供一系列将资源处理成 Active Record 的操作。 因此如果使用 Active Recor

  • 控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应。 具体来说,控制器从应用主体 接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息。 动作 控制器由 操作 组成,它是执行终端用户请求的最基础的单元, 一个控制器可有一个或多个操作。 如下示例显示包含两个动作view and create 的控制器post:

  • 简介 为了替代把所有的请求处理逻辑都定义在 routes.php 路由文件中,你或许想要使用控制来组织这些行为。控制器可以把相关的请求处理逻辑整合为一个控制器类。控制器类文件被存储在 app/Http/Controllers 目录下。 基础控制器 这里有一个基础控制器的示例。所有 Lumen 的控制器都应该继承 Lumen 安装时内置的默认的控制器基类: <?php namespace App\

  • 简介 为了代替在路由文件中以闭包的形式定义所有的请求处理逻辑,你也许想使用控制类来组织这些行为。控制器能够将相关的请求处理逻辑组成一个单独的类,控制器被存放在 app/Http/Controllers 目录下。 基础控制器 定义控制器 下面是一个基础控制器类的例子。需要注意的是,该控制器继承了一个Laravel内置的基础控制器类。该基础控制器提供了一些编辑的方法,比如 middleware 方法,

  • ThinkCMF目前分为两种控制器,前台和后台控制器; 无论是前台,还是后台控制器都位于应用的Controller目录下. 前台控制器一般继承 Common\Controller\HomebaseController,如果你需要用户登录才访问或操作此控制器,就要继承 Common\Controller\MemberbaseController; 我们来创建一个前台控制器: 在Blog应用Contr