web-dev-qa-db-ja.com

外部からminikubeサービスに接続する方法

ローカル開発環境をminikubeで実行するように切り替えようとしています。すべてのコンテナイメージを作成し、YAMLの設定をすべて実行し、必要なすべてのサービスを実行し、minikube service web --urlから返されたURLを使用してアクセスできます(webはnginxサーバーの前面の名前です) 。しかし、私が理解できなかったことが1つあります。私が取り組んでいるプロジェクトには、バックエンドと通信するスマート外部デバイスが必要です。ローカルLANに接続されたベンチにいくつかのデバイスがありますが、minikube内で実行されているサービスを外部に公開する方法がわかりません。つまり、ラップトップの外部IPを使用してデバイスをサービスに接続できます。これを行う標準的な方法はありますか?

編集:サービスのイングレスを設定しようとしました。これが私のイングレス設定です。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web
spec:
  backend:
    serviceName: web
    servicePort: 80

Webサービスはminikube service webコマンドでアクセスでき、NodePortタイプとして公開されます。イングレスにアクセスしようとすると、「デフォルトのバックエンド404」だけが表示されます。一方、それが機能したとしても、イングレスはVM内部サブネットでサービスを公開しており、ホストマシンの外部からはアクセスできないため、まだ問題があります。ホストからminikube vmに物事を転送するために何らかのプロキシまたはアクセラレータを実行することを検討し始めていますが、プロキシの永続的なエンドポイントを使用するには、イングレスを実行する必要があります。

10
Mad Wombat

複数の方法があります。しかし、私はこの方法で解決策を見つけました。

~ → ????  $ minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100

ここで、192.168.99.100とnodeportを使用してサービスに接続できます。ノードポート30000のダッシュボードの場合、URLは http://192.168.99.100:30000/ になります

以下のコマンドを使用してサービスポートを取得できます。

~ → ????  $ kubectl get svc --all-namespaces
7
Vikash Singh

Minikube Ingress add-on を使用します。たとえば、こちらを参照してください ブログ投稿 設定方法と使用方法。

0