適用する前に、Kubernetesyamlファイルのサーバー側検証を行いたいと思います。
Jenkinsエージェントでは、次のkubectlコマンドを使用してサーバー側でyamlファイルを検証できることを知っていますが、アクセス制御について少し心配しています。
kubectl apply --server-dry-run -f ...
kubectl apply --dry-run=server -f ...
Kubernetesのドキュメントには次のように記載されています。
ドライラン要求と非ドライラン要求の許可は同じです。したがって、ドライラン要求を行うには、ユーザーは非ドライラン要求を行うことを許可されている必要があります。
JenkinsエージェントにEKSクラスターに対するスーパーパワーを持たせたくありません。悪意のあるアクターが私のJenkinsエージェントを悪意を持って使用し、必要なマニフェストを適用する可能性があります。現在、セキュリティ/安定性/管理上の理由から、Kubernetesオブジェクトの作成はJenkinsではなく別のシステムによって行われます。
他のいくつかのオプションを確認しましたが、欠点がわかります。
--run-dry
でkubectlを実行するRESTAPIを開発できます。ただし、これには、容量よりも多くの開発作業が必要です。エンド2エンドのKubernetesyamlファイルを検証する目的でCIシステムで安全に使用できる検証ツールについて何かアイデアがありますか、または知っていますか?
私はこれを自分で探していましたが、十分なツールが見つかりませんでした。ただし、いくつかの回避策があります。
ci-job-id
名前空間にデプロイします。それらは製品と同じである必要がありますが、あなたが言及したセキュリティリスクを課すことはありません。これにより、追加の利点が得られます。すべてが作成され、すべてのポッドが実行されているかどうかを確認できます。不十分なリソースリクエスト、画像の欠落、Service
セレクターの設定ミスなどの問題をキャッチするのに役立ちます。また、スモークテストを追加することもできます。この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加