問題タブ [kind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
59 参照

kubernetes - ホスト VM の IP を介して VM で実行されているローカル kubernetes クラスターを公開する

ubuntu VM で実行されている種類の kubernetes クラスターがあります。kubernetes イングレス機能を有効にするためのドキュメントに従って、このクラスターを作成しました。

このクラスターには、内部で実行されているいくつかのサービスがあります。これらのサービスのうち、外部に公開したいサービスが 3 つあります。これらの 1 つは REST ベースのサービスで、その他は websocket 接続を使用します。

ホスト VM では、ドキュメントに従っていじった後、localhost をカールすることでこれらのサービスにアクセスできます。

これらのサービスを特定のインターフェイス (ens160) 経由で公開して、別のチームが構築しているクライアント側の自動化でこれらのサービスをヒットできるようにしたいと考えています。

私の最初の試みは、IP テーブルを使用して、80/443 で着信するトラフィックを 127.0.0.1 にマッピングすることでした。これは REST サービスでうまく機能します。

ただし、websocket 接続は確立されていません。

私にとって、この方法は「薄っぺらな」アプローチのように思えます。この kubernetes クラスターを「企業ネットワーク」に公開し、入ってくるパケットに対して DNAT を実行するより良い方法があるかどうか疑問に思っています。

私はこれについて間違った方法で進んでいますか?

ありがとう、マックス・サージェント

0 投票する
1 に答える
312 参照

kubernetes - Kind Kubernetes クラスタにコンテナ ログがありません

ローカル VM でのセットアップと実行が簡単だったので、Kind k8sを使用して Kubernetes クラスターをインストールしました。Dockerも別途インストールしました。次に、標準出力にメッセージを出力するために構築した Spring ブート アプリケーションの Docker イメージを作成しました。その後、 kind k8sローカル レジストリに追加されました。この新しく作成したローカル イメージを使用して、kubectl apply -f config.yaml CLI コマンドを使用して kubernetes クラスターにデプロイを作成しました。同様の方法を使用して、fluentD コンテナーにマウントされるログを収集することを期待して、fluentdもデプロイしました。/var/log/containers

/var/log/containers/シンボリックリンクが存在しないことに気付きました。ただし/var/lib/docker/containers/、過去に作成された一部のコンテナ用のフォルダがあります。新しいコンテナー ID はいずれも存在しないようです/var/lib/docker/containers/

kubectl logs pod-nameローカル ストレージにログが見つからなくても、実行するとコンソールにログが表示されます。

stackoverflow メンバーから提供された別のスレッドの回答に従って、すべてではなく一部の情報を取得できました。

次のコマンドを実行して、Docker が json ロギング ドライバーで構成されていることを確認しました。 docker info | grep -i logging

次のコマンド (上記のスレッドにあります) を実行すると、イメージ ID を取得できます。 kubectl get pod pod-name -ojsonpath='{.status.containerStatuses[0].containerID}'

ただし、Docker は種類のコントロール プレーンdocker inspectによって管理されているため、想定しているようなイメージを認識していないため、Dockerイメージを検査するために使用することはできません。

フォーラムの専門家が、ログが書き込まれている場所を特定し/var/log/containers、コンテナー ログにアクセスするためのシンボリック リンクを再作成するのを支援できるかどうかを評価します。

0 投票する
1 に答える
111 参照

kubernetes - Pod は常に Kubernetes で保留中です

Pod のステータスは常に保留中です。ローカルで Kind を使用して Kubernetes を学習し、Pod を 1 つ上げようとしています。

describe からのイベントはありません。

ログなし。

Kubernetes システム ログ。

調査を続けるための提案はありますか?

0 投票する
0 に答える
64 参照

kubernetes - 種類のk8sクラスターからsshuttle接続されたネットワークに送信トラフィックを転送する方法は?

localmachine で jumphost に対して sshuttle を実行しているため、ネットワークで実行されているサービスにアクセスできます (例: IP アドレス 192.168.220.4:1234)。sshuttle の実行中に curl http://192.168.220.4:1234を実行すると、必要な応答が返されます。

curl http://192.168.220.4:1234同じローカル マシンで、展開した場所で実行されている種類の k8s クラスターと、192.168.220.4 から読み取ろうとするアプリケーションがあります (ポッドからの実行と同じ)。sshuttle が実行されていても、これは機能しません。

コマンドcurl http://192.168.220.4:1234がポッドの境界を離れることさえなかったようです。同じポッドでcurlコマンドを実行したときにポッドでtcpdumpを実行しました。以下はtcpdumpからの出力です

sshuttle を介して localmachine からリクエストが機能するのに、同じマシンで実行されている k8s クラスターからは機能しないのはなぜですか?

curl http://192.168.220.4:1234k8s 種類のクラスターのポッド内から実行するときに、トラフィックが sshuttle のトンネル/vpn を通過するようにするにはどうすればよいですか。