无法将域映射到 GCP 中的集群

Cannot map domain to cluster in GCP

我刚开始 kubernetes。我创建了一个简单的应用程序,它可以很好地使用外部 IP 地址。这是一个 mongodb-expressmongo-db 后端。我正在尝试获取映射到它的域名,而不是 IP 地址。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongo-express
  labels:
    app: mongo-express
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongo-express
  template:
    metadata:
      labels:
        app: mongo-express
    spec:
      containers:
      - name: mongo-express
        image: mongo-express
        ports:
        - containerPort: 8081
        env:
        - name: ME_CONFIG_MONGODB_ADMINUSERNAME
          etc
---
apiVersion: v1
kind: Service
metadata:
  name: mongo-express-service
spec:
  selector:
    app: mongo-express
  type: LoadBalancer  
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8081
      

这是与 AWS 在公园里散步。只需创建一个区域并将名称服务器添加到域名提供商,但是在 GCP 中这不起作用。我在 cloudDNS 中创建了一个区域,但似乎无法将其映射到集群。该文档对我来说有点复杂,难以理解。有人可以帮忙吗?

kubernetes              ClusterIP      10.28.0.1     <none>         443/TCP        51m
mongo-express-service   LoadBalancer   10.28.7.249   34.69.73.210   80:30055/TCP   42m
mongodb-service         ClusterIP      10.28.1.163   <none>         27017/TCP      45m

Cloud DNS配置与route53配置相同。您可以根据需要添加 CName 记录或 A 记录。

对于一个简单的用例,您可以按照这篇关于向 DNS 添加静态 IP 和映射域的文档进行操作。

因为您已经公开了类型为 LoadBalancer 的服务,您可以从这里开始

https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#configuring_your_domain_name_records

确保您的名称服务器设置正确

If your nameserver is Cloud DNS: Follow Cloud DNS Quickstart guide to configure DNS A record for your domain name with the reserved IP address of your application.

If your nameserver is another provider: Refer to your DNS service's documentation on setting DNS A records to configure your domain name. If you choose to use Cloud DNS instead, refer to Migrating to Cloud DNS.

额外 :

您还可以使用外部 DNS 将 ingress 记录自动添加到 Cloud DNS。

示例:https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/gke.md