【问题标题】:EKS to integrate Kubernetes ingressEKS 集成 Kubernetes 入口
【发布时间】:2018-08-16 19:54:38
【问题描述】:

谁能指出我可以通过 EKS 上的 Ingress 将流量引导到我的域的工作流程?

我有这个:

---
apiVersion: extensions/v1beta1
kind: Ingress

metadata:
name: hello-world
labels:
    app: hello-world
annotations:
    kubernetes.io/ingress.class: nginx
    ingress.kubernetes.io/rewrite-target: /

    spec:
    backend:
        serviceName: hello-world
        servicePort: 80
    rules:
    - host: DOMAIN-I-OWN.com
        http:
        paths:
        - path: /
            backend:
            serviceName: hello-world
            servicePort: 80

---
apiVersion: v1
kind: Service

metadata:
name: hello-world
labels:
    app: hello-world

spec:
ports:
- port: 80
    targetPort: 32000
    protocol: TCP
    name: http
selector:
    app: hello-world

并且能够使用 minikube 访问 DOMAIN-I-OWN.com

kubectl 配置使用上下文 minikube echo "$(minikube ip) DOMAIN-I-OWN.com" | sudo tee -a /etc/hosts

但是,我找不到如何在 AWS EKS 上做同样事情的教程?

我已经设置了 EKS 集群并运行了 3 个节点。 并使用这些 Ingress 和 Service 规范部署 pod。 假设我通过 Google 域或 GoDaddy 拥有“DOMAIN-I-OWN.com”。

设置 DNS 的下一步是什么?

我需要入口控制器吗?我需要单独安装它才能完成这项工作吗?

任何帮助将不胜感激!卡在这几天了...

【问题讨论】:

    标签: kubernetes kubernetes-ingress amazon-eks


    【解决方案1】:

    您需要连接 https://github.com/kubernetes-incubator/external-dns 之类的东西,以自动将 DNS 名称指向您的集群已发布服务的 IP。

    【讨论】:

      【解决方案2】:

      看看https://github.com/kubernetes-sigs/aws-alb-ingress-controller。它提供了一个控制器来监视来自 API 服务器的入口事件。当它找到满足其要求的入口资源时,它开始创建 AWS 资源(子网、安全组、elb)。

      【讨论】:

        【解决方案3】:

        您可以在 53 号路由上创建托管区域并将记录添加到 Godaddy。如果您使用https://github.com/kubernetes-sigs/aws-alb-ingress-controller。设置好入口后,您将获得一个 cname 将其添加到您的路由 53 记录中

        【讨论】:

          猜你喜欢
          • 2018-12-24
          • 2021-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-31
          • 2020-02-01
          • 2021-07-08
          相关资源
          最近更新 更多