kubernetes 1.3.0でkubernetes環境をセットアップし、同じホスト上でマスターとノードを実行すると、RCでTomcat Webアプリケーションを実行し、ドッカーで1つのサービスがすべて正常に動作しているようですcurlコマンドで内部ネットワーク経由でサービスにアクセスできますが、パブリックIPでインターネットからサービスにアクセスしようとすると失敗します。外部ネットワーク経由でkubernetesサービスにアクセスできない
RCのconfigureがある:
apiVersion: v1
kind: ReplicationController
metadata:
name: myweb
spec:
replicas: 2
selector:
app: myweb
template:
metadata:
labels:
app: myweb
spec:
containers:
- name: myweb
image: kubeguide/tomcat-app:v1
ports:
- containerPort: 8080
env:
- name: MYSQL_SERVICE_HOST
value: "mysql"
- name: MYSQL_SERVICE_PORT
value: '3306'
サービスconfigureがある:
apiVersion: v1
kind: Service
metadata:
name: myweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30001
selector:
app: myweb
見ての通り、ポートがKubernetesサービスで聴くと、サービスは、30001ポートを聞いて、それがすることはできませんインターネット経由でアクセスしますが、同じホスト上で nc -l 30001
コマンドを使用するとインターネットにアクセスすることができます。つまり、ネットワーク構成がシステムレイヤー上で適切です。
ホストのiptables設定では、すべての接続を受け入れますが、問題は引き続き発生します。
なぜkubernetesサービスでアクセスできますか?私が欠場する設定はありますか?
ありがとうございます。あなたがまだ言ったように私はしません、それは私がkubernetesの高度なスキルであることを発見したので、私は将来私の研究でそれを試してみます。しかし、あなたがnginx proxypassで言ったように私は似ています、それは動作し、アプリケーションにアクセスすることができます。 –