2017-08-28 6 views
1

サンプルブックシェルフノードアプリ(https://cloud.google.com/nodejs/tutorials/bookshelf-on-container-engine)を配備しています。このアプリはOAUTH2コールバックを行います。Google Container Engine(Kubernetes)とOAuth2コールバック

私の質問は、ロードバランサの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 

おかげで、あなたはすでにkubectlがクラスタにアクセスするように構成されている場合は、サービスのIPアドレスを見つけることができるはずです

答えて

1

with:

$ kubectl get services 

Serviceは実際のとは別です。サービスの変更を行わない限り、サービスのcluster-ipは変更されません。

サービスに内部的にアクセスする場合は、cluster-ip addressではなくサービス名を指定できます。

例えば、

$ 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

私はのOAuth2プロバイダに提供するために、外部サービス/ DNS名が必要になります。 service.yamlにDNS名を指定するのですか、またはDNSプロバイダにCNAMEエントリを作成する必要がありますか?または、Google Container EngineにDNSサービスがありますか? –

+0

サービスを外部に公開している場合、そのサービスに関連付けられたEXTERNAL-IPが存在します。 DNSに関しては、私が知っている限り、Kubernetesは上記のように内部DNSだけを扱います – PoorBob

関連する問題