【问题标题】:(Kops) Kubernetes Service maped to DNS names in AWS Route53?(Kops) Kubernetes 服务映射到 AWS Route53 中的 DNS 名称?
【发布时间】:2019-02-20 17:36:25
【问题描述】:

我是 Kops 的新手,对 kubernetes 也有一点了解。我设法使用 Kops 创建了一个集群,并在其上运行了部署和服务。一切顺利,为我创建了一个 ELB,我可以通过这个 ELB 端点访问应用程序。

我的问题是:如何将我的子域(例如my-sub.example.com)映射到生成的 ELB 端点?我相信这应该由 kubernetes 以某种方式自动完成,我不应该在我的代码中硬编码 ELB 端点。我尝试了一些与annotation -> DomainName 相关的方法,但没有成功。(请参阅下面的 kubernetes yml 文件)

apiVersion: v1
kind: Service
metadata:
  name: django-app-service
  labels:
    role: web
    dns: route53
  annotations:
    domainName: "my.personal-site.de"
spec:
  type: LoadBalancer
  selector:
    app: django-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8000

----

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: django-app-deployment
spec:
  replicas: 2
  minReadySeconds: 15
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
  template:
    metadata:
      labels:
        app: django-app
    spec:
      containers:
        - image: fettah/djano_kubernetes_medium:latest
          name:  django-app
          imagePullPolicy: Always
          ports:
            - containerPort: 8000

【问题讨论】:

    标签: amazon-web-services kubernetes kops


    【解决方案1】:

    当您拥有 ELB 时,您可以使用 external-dns (https://github.com/kubernetes-incubator/external-dns) 插件,该插件可以使用 AWS Route53 集成将 DNS 记录附加到这些 ELB。您需要为 Kubernetes 添加适当的权限,以便他可以在 Route53 中创建 DNS 记录 - 您需要在 kops 集群配置的 AdditionalPolicies 部分中添加额外的策略(根据 external-dns 插件中的指南)。然后使用注释:

    external-dns.alpha.kubernetes.io/hostname: myservice.mydomain.com.
    

    【讨论】:

    • 谢谢。但我仍然无法让它运行。我按照自述文件进行操作,但仍然遇到与以前相同的问题。当我附加正确的 iam 策略并记录 external-dns pod 时,我看到:time="2018-09-18T12:05:51Z" level=error msg="services is forbidden: User \"system:serviceaccount:default:default\" cannot list services at the cluster scope"
    猜你喜欢
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    相关资源
    最近更新 更多