2016-09-14 1 views
0

localhost:8888上でサービスを実行していて、そのURLをクラスタのパブリックIPにバインドしてWebブラウザから開くことができます。外部からポッドにアクセスする方法、つまりlocalhost:8888をクラスタIPにバインドする

Name:   example-service 
Namespace:  spark-cluster 
Labels:   <none> 
Selector:  app=example 
Type:   LoadBalancer 
IP:   10.3.0.66 
LoadBalancer Ingress: a123b456c789.us-west-1.elb.amazonaws.com 
Port:   <unset> 8888/TCP 
NodePort:  <unset> 32767/TCP 
Endpoints:  <none> 
Session Affinity: None 
Events: 
    FirstSeen LastSeen Count From   SubobjectPath Type  Reason   Message 
    --------- -------- ----- ----   ------------- -------- ------   ------- 
    14s  14s  1 {service-controller }   Normal  CreatingLoadBalancer Creating load balancer 
    11s  11s  1 {service-controller }   Normal  CreatedLoadBalancer Created load balancer 

私は私のウェブブラウザでa123b456c789.us-west-1.elb.amazonaws.com:8888を開き、それはロードされません:

{ 
    "kind": "Service", 
    "apiVersion": "v1", 
    "metadata": { 
    "name": "example-service" 
    }, 
    "spec": { 
    "ports": [{ 
     "port": 8888, 
     "targetPort": 8888 
    }], 
    "selector": { 
     "app": "example" 
    }, 
    "type": "LoadBalancer" 
    } 
} 

は、その後、私は kubectl describe services example-serviceの操作を行います。私は、次のYAMLファイルを使用して別のサービスを作成しました。私のポッドに外部からアクセスする正しい手順は何ですか?セットアップで

答えて

0

アプリケーションは、あなたがNodePort自分を与えたい場合は、このようなコードを変更する必要があり、ポート32767(NodePortパラメータ)で、あなたのノードの1のIPアドレスで利用可能です:

{ 
    "kind": "Service", 
    "apiVersion": "v1", 
    "metadata": { 
    "name": "example-service" 
    }, 
    "spec": { 
    "ports": [{ 
     "port": 8888, 
     "targetPort": 8888 
     "nodePort": 8888 

    }], 
    "selector": { 
     "app": "example" 
    }, 
    "type": "LoadBalancer" 
    } 
} 

http://kubernetes.io/docs/user-guide/services/#type-nodeport

+0

注:デフォルトのポート範囲(30000-32767)の外にあるノードポートを使用する場合は、APIの '--service-node-port-range'オプションで新しい範囲を追加で許可する必要がありますサーバー、http://kubernetes.io/docs/admin/kube-apiserver/を参照してください。 –

関連する問題