問題タブ [kubernetes-deployment]
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.
kubernetes - Kubernetes でサービスの特定のポッドを選択する方法
各ホストが一意の ID ラベルを持つ 3 つのホストの kubernetes クラスターがあります。このクラスターには、3 つのインスタンス (レプリカ) を持つソフトウェアがあります。
各レプリカは、他のすべてのレプリカと通信する必要があります。さらに、このアプリケーションを永続的に利用できるように、すべてのポッドを含むサービスがあります。
ので、私は持っています:
と
このアプローチは機能しますが、ローリング更新機能をスケーリングまたは使用することはできません。
各レプリケートが一意の汎用ラベル (たとえば、1/3、2/3 などのレプリカ ID) を取得する 3 つのレプリカを使用して展開を定義したいと考えています。
サービス内では、セレクターを使用して、更新後も存在するこのラベルを取得できます。
別の解決策は、実行されているホストに応じて、ポッド/デプロイメントを選択することです。DaemonSet またはアフィニティを備えたポッド/デプロイメントのみを使用して、各ホストがデプロイメントの正確なレプリカを 1 つ持つようにすることができます。
しかし、ポッドが実行されるホスト ラベルに基づいてポッドを選択する方法がわかりませんでした。
ホスト名は環境によって変わるため、ホスト名を使用することはできません。
ドキュメントを検索しましたが、このユース ケースに一致するものは見つかりませんでした。うまくいけば、ここの誰かがこれを解決する方法を知っています。
kubernetes - 1 時間ごとに実行される Kubernetes 初期化コンテナー
最近https://github.com/tarosky/k8s-redis-ha経由で redis をセットアップしました。このリポジトリには init コンテナーが含まれており、パスワードなどをセットアップするために追加の init コンテナーを含めました。
redis コンテナーが開始する前に init コンテナーが期待どおりに実行されますが、その後は 1 時間近くごとに実行されるという、奇妙な (そして文書化されていないように見える) 動作が見られます。デプロイメントとステートフル セットで、busybox init コンテナー (何もしない) を使用してこの動作をテストしたところ、同じ動作が発生したため、この redis ポッドに固有のものではありません。
k8s 1.6 および 1.8 を使用してベアメタルでこれをテストしましたが、同じ結果が得られましたが、init コンテナーを GKE (k8s 1.7) に適用すると、この動作は発生しません。kubelet
GKE がこの動作を指示するためのフラグが表示されません。
kubectl describe pod
メイン ポッドが終了/クラッシュしていないときに init コンテナーが実行されることを示すには、以下を参照してください。
(0 回の再起動で)で開始された Pod 内のMon, 12 Mar 2018 06:21:02 +0000
コンテナーと から開始された Init コンテナーに注意してくださいTue, 13 Mar 2018 03:01:12 +0000
。これらは、ほぼ 1 時間間隔で 1 時間ごとに再実行されるようです。
私たちのベアメタルは、どこかで初期化コンテナ用に誤って構成されている必要がありますか? 誰かがこの奇妙な行動に光を当てることができますか?
spring-boot - Kubernetes シークレット TLS 証明書 P12 と Spring Boot デプロイメントが機能しない
私は現在立ち往生しており、先に進む方法がわかりません。
これは私のSpring Bootのapplication.propertiesです
Spring Boot アプリケーションの私の展開 yaml:
これは、Kubernetes でシークレットを作成する方法です。
それが展開されると、私は得ています
Deployment yaml からシークレットを削除すると正常に動作しますが、この問題の根本原因が何であるかを理解できませんでした。Google Cloud Platform Container Engine を使用しています。