May 16, 2023
What’s New
circleci
タスク内のcircleci-agent
バイナリへのシンボリック(symlink)リンクの追加。- 再試行可能なエラー時にリソースクラスのトークンシークレットの読み込みを再試行する。
- 各種依存関係の更新
Apr 21, 2023
What’s New
- Go 1.20 にアップグレード
- Helm チャートを新規イメージリポジトリに移行: https://hub.docker.com/r/circleci/runner-agent/
- タスクワーカーのループ実行中のエラー処理と信頼性を改善
- ログレベルが informational の場合、ヘルスチェックに関する冗長なログの一部を省略するように更新
Mar 30, 2023
What’s New
- シャットダウン時にタスクエージェントを安全に停止する lifecycle pre-stop コマンドを追加
Task lifecycle
ステップについて、エージェントがシャットダウンされコンテキストがキャンセルされた場合も含めて全イベントが確実に送信されるように更新- タスクエージェントの実行中はタスク Pod を削除しないように更新
- これは、イシュー https://github.com/kubernetes/client-go/issues/724 に関連するものです。
remotecommand
パッケージで exec コマンドのネットワーク切断が処理されず、nil
エラーが返されることがありました。 そのため、タスクが「orphaned」状態で完了できるように、このような場合にはタスク Pod を削除しないように更新しました。
- これは、イシュー https://github.com/kubernetes/client-go/issues/724 に関連するものです。
- ジョブの長期実行時に
Task lifecycle
ステップの出力が失われないように更新 - タスククリーンアップ時のヘルスチェックの堅牢性を高め、ログを追加
- ランナーエージェントのシャットダウン時のタスクのドレインとクリーンアップを修正
- タスク Pod の設定解析の厳密性を高め、より有用なエラーメッセージを出力するように更新
Mar 02, 2023
What’s New
- 各種依存関係のアップデート
- タスクの liveness probe のリトライが尊重されない場合の修正
- 実行エラーで終了したときに、タスクポッドがクリーンアップされない不具合を修正
Feb 22, 2023
What’s New
- Pod の割り当てに失敗した場合に Kubernetes クリーンアップでパニックが発生する問題の修正
- タスクエージェントの PID ファイルが削除されると liveness probe が失敗する問題の修正
Task lifecycle
のステップにプラットフォーム情報をログ出力- ユーザーエージェントヘッダーをドライバー固有のものに変更
Feb 07, 2023
What’s New
- Kubernetes ドライバーの起動時において、トークンシークレットのロード中に Kubernetes API を呼び出すと発生するエラーを記録
- コンテナのロギングについて、リソースのリクエストと制限を適切な範囲に設定
- task-agent プロセスのヘルスチェック用の Liveness Probe を追加
- K8s の GC で
node
RBAC 権限設定を参照 - カスタムの Docker レジストリ名に関する問題を修正
- MicroK8s での Alpine ベースのイメージの使用時にタスクエージェントをコピーするとパイプが壊れる問題を修正
- ジョブ内でタスクトークンを公開可能であった問題を修正
- ジョブの設定ファイルで Bash パラメーターの展開構文をサポート
- コンテナのロギングの設定を改善:
- 複数のサービスコンテナとロギング用コンテナが存在する場合、マウント対象をサービスアカウントトークンのみに限定
- タスク Pod の設定ファイルにイメージのプルに関するポリシーが設定されている場合、このポリシーをコンテナのロギングにも反映。 これは、タスク Pod にプライマリコンテナとセカンダリコンテナがある場合の動作と同じです。
Task lifecycle
ステップにおけるタスク Pod のイベント記録を改善