|
8 | 8 | - [Non-Goals](#non-goals)
|
9 | 9 | - [Proposal](#proposal)
|
10 | 10 | - [Implementation](#implementation)
|
| 11 | + - [CRI Updates](#cri-updates) |
11 | 12 | - [User Stories](#user-stories)
|
12 | 13 | - [Risks and Mitigations](#risks-and-mitigations)
|
13 | 14 | - [Design Details](#design-details)
|
@@ -65,7 +66,7 @@ will not be aware of any sandboxed analysis.
|
65 | 66 |
|
66 | 67 | ### Goals
|
67 | 68 |
|
68 |
| -The goal of this KEP is to introduce *checkpoint* and *restore* to the CRI API. |
| 69 | +The goal of this KEP is to introduce *checkpoint* to the CRI API. |
69 | 70 | This includes extending the *kubelet* API to support checkpointing single
|
70 | 71 | containers with the forensic use case in mind.
|
71 | 72 |
|
@@ -106,13 +107,24 @@ For the first implementation we do not want to support restore in the
|
106 | 107 | outside of Kubernetes. The restore is a container engine only operation
|
107 | 108 | in this first step.
|
108 | 109 |
|
109 |
| -The forensic use case is targeted to be part of the next (1.24) release. |
| 110 | +#### CRI Updates |
110 | 111 |
|
111 |
| -Although this KEP only adds checkpointing support to the kubelet the CRI API in |
112 |
| -the corresponding code pull request is extended to support *checkpoint* and |
113 |
| -*restore* in the CRI API. The reason to add *restore* to the CRI API without |
114 |
| -implementing it in the kubelet is to make development and especially testing |
115 |
| -easier on the container engine level. |
| 112 | +The CRI API will be extended to introduce one new RPC: |
| 113 | +``` |
| 114 | + // CheckpointContainer checkpoints a container |
| 115 | + rpc CheckpointContainer(CheckpointContainerRequest) returns (CheckpointContainerResponse) {} |
| 116 | +``` |
| 117 | +with the following parameters: |
| 118 | +``` |
| 119 | +message CheckpointContainerRequest { |
| 120 | + // ID of the container to be checkpointed. |
| 121 | + string container_id = 1; |
| 122 | + // Location of the checkpoint archive used for export/import |
| 123 | + string location = 2; |
| 124 | +} |
| 125 | +
|
| 126 | +message CheckpointContainerResponse {} |
| 127 | +``` |
116 | 128 |
|
117 | 129 | ### User Stories
|
118 | 130 |
|
@@ -268,6 +280,8 @@ does not compress the checkpoint archive on disk.
|
268 | 280 | * 2021-09-22: Removed everything which is not directly related to the forensic use case
|
269 | 281 | * 2022-01-06: Reworked based on review
|
270 | 282 | * 2022-01-20: Reworked based on review and renamed feature gate to `ContainerCheckpoint`
|
| 283 | +* 2022-04-05: Added CRI API section and targeted 1.25 |
| 284 | +* 2022-05-17: Remove *restore* RPC from the CRI API |
271 | 285 |
|
272 | 286 | ## Drawbacks
|
273 | 287 |
|
|
0 commit comments