2017-08-28 61 views
1

我正在部署示例书架节点应用程序(https://cloud.google.com/nodejs/tutorials/bookshelf-on-container-engine)。这个应用程序做OAUTH2回调。Google容器引擎(Kubernetes)和OAuth2回调

我的问题是我在哪里获得Load Balancer的IP地址,并且每次我推送新的泊坞窗图像时都会更改它? 我可以为LB指定一个DNS条目并使用它在Google Oauth2回调中注册。

"OAUTH2_CALLBACK": "http://<service ip address>/auth/google/callback", 

这里是我的service.yaml文件

apiVersion: v1 
kind: Service 
metadata: 
    name: bookshelf-frontend 
    labels: 
    app: bookshelf 
    tier: frontend 
spec: 
    type: LoadBalancer 
    ports: 
    - port: 80 
    targetPort: http-server 
    selector: 
    app: bookshelf 
    tier: frontend 

感谢,

回答

1

如果你已经有kubectl配置访问群集,你应该能够找到服务的IP地址与:

$ kubectl get services 

A Service与实际分开Deployment。除非您对服务进行更改,否则该服务的群集IP将不会更改。

如果您在内部访问服务,您可以指定服务名称而不是cluster-ip地址。

E.g,

$ kubectl get services 
NAME      CLUSTER-IP  EXTERNAL-IP  PORT(S)      AGE 
elasticsearch    10.3.247.13 <none>   9200/TCP      9d 

一个部署配置访问该服务:

output { 
    elasticsearch { 
     hosts => "elasticsearch:9200" 
    } 
} 
+0

我需要外部服务/ DNS名称提供给了OAuth2提供商。我是否在service.yaml中提供DNS名称,还是必须在我的DNS提供程序中创建CNAME条目?或者Google容器引擎是否有DNS服务? –

+0

如果您在外部暴露了您的服务,将会有与所述服务相关联的EXTERNAL-IP。关于DNS,据我所知,Kubernetes只处理上面的内部DNS – PoorBob

相关问题