セキュリティ上の理由から、Kubernetesのレプリケーションコントローラからポッドやコンテナを時間や条件に基づいて "repave"または再生成することは現在可能ですか? x分/時間ごとまたは条件(トリップワイヤのようなもの)に基づいてスケジュールに基づいてコンテナを再作成しますか?私はこれが外部で行われることができることを知っています。それが既存の機能であった場合、またはこの目的を達成するための巧妙な方法がある場合は、好奇心が強いだけです。Kubernetesレプリケーションコントローラ/コンテナの再生成
0
A
答えて
0
そのままKubernetesに組み込まれているものではありませんが、Liveness probeを利用することで回避できます。あなたのポッド内のコンテナが特定の条件(時間またはイベントベース)で「失敗」する予定の場合、Kubernetesは自動的にポッドを再起動します。つまり、失敗したコンテナを再作成します。
0
もう1つの解決策は、Brendan Burn's ksql scriptを使用してターゲットポッドを特定することです。私は私の展開CIの仕事でこれを私の会社で使っています。 SQLは、再構築したばかりのイメージを実行しているすべてのポッドを検索し、その結果をBASH while
ループに渡して、影響を受けるポッドを1つずつ破棄します。
#!/bin/bash
# Build the ksql query
QUERY="SELECT pods.metadata->name, pods.metadata->namespace "
QUERY="${QUERY} FROM pods LEFT JOIN containers USING uid "
QUERY="${QUERY} WHERE image LIKE '%/${CONTAINER_NAME}:${CONTAINER_TAG}'"
exec 5>&1 # Duplicate stdout on #5 so we can display the
# results of the query and use them at the same time
# Delete every pod matching QUERY. The `sed` and `awk` calls break down the formatted table
while read line; do
namespace=`echo $line | cut -d' ' -f4`
pod=`echo $line | cut -d' ' -f2`
kubectl delete --namespace=$namespace pod $pod
done < <(echo "$QUERY" | node node_modules/ksql/ksql.js | tee >(cat - >&5) | sed -n 'p;n' | tail -n +3)
それは確かに、世界で最もエレガントな解決策ではないのですが、あなたのクラスタ内で実行されている容器の中にこのロジックを埋め込むことが十分に単純である可能性があります。
このテクニックの利点は、それが極端に柔軟で拡張可能であることです。
0
pod.spec.activeDeadlineSeconds
は何をしますか? http://kubernetes.io/docs/api-reference/v1/definitions/#_v1_podspec
関連する問題
- 1. クエリデータベースの再生成
- 2. マルチウィンドウサポートブロックアクティビティの再生成
- 3. Kubernetes HAリーダーコントロールプレーンサービスの再起動
- 4. Railsキャッシュの再生成
- 5. Docusignのメールを再生成
- 6. Kubernetesのネームスペースの自動生成シークレットトークンの特定の名前
- 7. Kubernetesクラスタの作成中にエラーが発生する
- 8. kubernetesポッド内のコンテナを再起動
- 9. クラスタ再起動後のKubernetes StatefulSets
- 10. 再帰乱数生成器
- 11. Railsでフィクスチャテストファイルを再生成
- 12. PCMを生成中に再生する
- 13. sprintクラウドデータフローサーバーkubernetes生存タイムアウト値
- 14. サウンドを再生する再生ボタンを作成するには?
- 15. デベロッパー作成時にKubernetes "fatal alert:protocol_version"エラーが発生する
- 16. 動的設定ファイルを生成するKubernetes
- 17. kubernetesポッドを再起動するには?
- 18. Azureで再起動するKubernetesポッド
- 19. UbuntuマシンでKubernetesを再起動
- 20. KubernetesでStorageClassを再利用する
- 21. ビデオの再生/ループ再生
- 22. NHibernate IDの生成の再マッピング
- 23. ASP.NET ReportViewerローカルモードのパフォーマンス(expression_hostの再生成)
- 24. 再生フレームワークでのビューの作成2
- 25. Codeigniterフォームの検証...フォームの再生成
- 26. Kubernetesが最後のポッドを連続的に殺して再作成する
- 27. ビデオのカスタム "再生"ボタンを作成
- 28. 再帰的なXMLスキーマの生成
- 29. すべてのComputedPropertyフィールドを再生成
- 30. Google FirebaseのWeb APIキーを再生成