2017-06-27 2 views
1

にアクセスできます。すべてのポートはオープンでアクセス可能です。設定イングレスKubernetes - 私はここの仕様に似たすべてのものに従うことによってVMware仮想マシン上で実行している私のKubernetesクラスタでセットアップ侵入を持っていた唯一の単一ノード

https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example

私のマスターはx.x.x.10で、ノードがx.x.x.12とx.x.x.13です。

進入/コントローラの作成後、私はnginxのコントローラがそう

nginx-ingress-rc-kgfmd   1/1  Running 0   21h  172.16.5.5 x.x.x.12 

を実行する場所のIPが、それは通常どちらかxxx12またはxxx13上で実行され、その後、私はこれを行う際に取得する必要がありますそれは私のウェブサービス当たる

カール--resolve master.federated.fds:80:xxx12 master.federated.fdsはマスターのDNS解決可能な名前ですhttps://master.federated.fds/coffee

私はそれがIPアドレスの助けなしとだけDNS解決可能な名前または他の少なくともノードIPの

例:のいずれかで動作させる必要があります。私はこれをカールするとき、私は接続がエラーを拒否し得る、http://node2.federated.fds/coffee

apiVersion: v1 
kind: Service 
metadata: 
    name: coffee-svc 
    labels: 
    app: coffee 
spec: 
    ports: 
    - port: 80 
    targetPort: 80 
    protocol: TCP 
    name: http 
# nodePort: 30080 
    type: NodePort 
    selector: 
    app: coffee 

進入仕様にアップデート

apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: cafe-ingress 
spec: 
    rules: 
    - host: jciamaster.federated.fds 
    http: 
     paths: 
     - path: /tea 
     backend: 
      serviceName: tea-svc 
      servicePort: 80 
     - path: /coffee 
     backend: 
      serviceName: coffee-svc 
      servicePort: 80 
コントローラ

apiVersion: v1 
kind: ReplicationController 
metadata: 
    name: nginx-ingress-rc 
    labels: 
    app: nginx-ingress 
spec: 
    replicas: 1 
    selector: 
    app: nginx-ingress 
    template: 
    metadata: 
     labels: 
     app: nginx-ingress 
    spec: 
     containers: 
     - image: nginxdemos/nginx-ingress:0.8.1 
     imagePullPolicy: Always 
     name: nginx-ingress 
     ports: 
     - containerPort: 80 
      hostPort: 80 

をINGの

nginxの私はポート80のみを他のノードにノードnginxのポッドが実行されないで待機していることがわかります。誰かが私にすべてのノードのIPアドレスまたはjciamaster.federated.fdsのようなURLを介してアプリケーションにアクセスする方法を教えてもらえますか?

おかげで、

更新:

は私がhttp://x.x.x.:30000/coffeeを打つとき、それはちょうど私がやっているnothing.Anythingがハングアップしていマルク・

apiVersion: v1 
kind: ReplicationController 
metadata: 
    name: nginx-ingress-rc 
    labels: 
    app: nginx-ingress 
spec: 
    replicas: 1 
    selector: 
    app: nginx-ingress 
    template: 
    metadata: 
     labels: 
     app: nginx-ingress 
    spec: 
     containers: 
     - image: nginxdemos/nginx-ingress:0.8.1 
     imagePullPolicy: Always 
     name: nginx-ingress 
     ports: 
     - containerPort: 80 

     # Uncomment the lines below to enable extensive logging and/or customization of 
     # NGINX configuration with configmaps 
     #args: 
     #- -v=3 
     #- -nginx-configmaps=default/nginx-config 
--- 
apiVersion: v1 
kind: Service 
metadata: 
    labels: 
    name: nginx-ingress-label 
    name: nginx-ing-svc 
spec: 
    ports: 
    - port: 80 
    targetPort: 80 
    protocol: TCP 
    name: http 
    nodePort: 30000 
    type: NodePort 
    selector: 
    name: nginx-ingress 

により示唆されるように、SVCとしてnginxのコントローラで実行しようとしました違う?

+0

私がhttpsをヒットする必要があるようなので、それはそうです:// DNS-のマスタ/:私は、HTTPSを打っていたのに対し、この場合にはxxx12される// DNS-のノード・ランニング・nginxの-進入/従業員iginを実行して、nginx-ingressが動作するノードを見つけ出すのではなく、アプリケーションにアクセスするだけでURLにアクセスし、そのDNS名を使用してURLにアクセスできますか? – Vikram

+0

皆さん、この1上の任意の手掛かり?ヘルプの非常に多くが提案マルクため – Vikram

答えて

0

あなたは、あなたがすべてのノードにアクセスすることができ、NodePortサービスとnginxのコントローラポッドを公開することができます。

+0

Thxをが.....そこにはありませんが、私はこの例を参照してくださいSVC – Vikram

+0

として公開している場合イム不足している何かのように思える(あなた既存の設定に従って名前空間とセレクタを変更する必要があります):https://github.com/kubernetes/ingress/blob/master/examples/rbac/nginx/nginx-ingress-controller-service。yml これはポート30080のすべてのノードにnginxコントローラを公開します。 –

+0

これは主にバグのようです。あなたの提案をありがとうhttps://github.com/kubernetes/kubernetes/issues/47711 – Vikram

関連する問題