diff --git a/site/content/en/docs/user/kwokctl-snapshot.md b/site/content/en/docs/user/kwokctl-snapshot/_index.md similarity index 50% rename from site/content/en/docs/user/kwokctl-snapshot.md rename to site/content/en/docs/user/kwokctl-snapshot/_index.md index 4c95d3702..834a2fbdd 100644 --- a/site/content/en/docs/user/kwokctl-snapshot.md +++ b/site/content/en/docs/user/kwokctl-snapshot/_index.md @@ -10,12 +10,11 @@ This document walks you through how to save and restore a cluster with `kwokctl` {{< /hint >}} -So far, we provide two ways to save and restore clusters: +## etcd snapshot -- etcd snapshot (default) -- k8s yaml +Save and restore clusters from etcd -## etcd snapshot + ### Save Cluster @@ -29,14 +28,16 @@ kwokctl snapshot save --path snapshot.db kwokctl snapshot restore --path snapshot.db ``` -## k8s yaml +## k8s yaml snapshot + +Save and restore clusters from apiserver -We can use `--filter` to filter the resources you want to save or restore. + ### Save Cluster ``` bash -kwokctl snapshot save --path cluster.yaml --format k8s +kwokctl snapshot record --snapshot --path cluster.yaml ``` ### Restore Cluster @@ -46,19 +47,19 @@ and the `ownerReference` field of the resources is updated to re-link them with so we can preserve the hierarchy and dependencies of the resources in restore. ``` bash -kwokctl snapshot restore --path cluster.yaml --format k8s +kwokctl snapshot replay --snapshot --path cluster.yaml ``` -## Export External Cluster +### Export External Cluster -This like `kwokctl snapshot save --format k8s` but it will use the kubeconfig to connect to the cluster. +It will use the kubeconfig to connect to the cluster and export resources. This is useful when you want to snapshot a cluster that is not managed by `kwokctl`. ``` bash kwokctl snapshot export --path external-snapshot.yaml --kubeconfig /path/to/kubeconfig ``` -### Restore External Cluster +#### Restore External Cluster Let's restore the cluster we just exported. @@ -67,5 +68,38 @@ so we can preserve the hierarchy and dependencies of the resources in restore. ``` bash kwokctl create cluster -kwokctl snapshot restore --path external-snapshot.yaml --format k8s +kwokctl snapshot replay --path external-snapshot.yaml --snapshot +``` + +## k8s yaml recording + +Record and replay cluster over time from apiserver + + + +### Record Cluster + +Press Ctrl+C to stop recording resources + +``` bash +kwokctl snapshot record --path recording.yaml +``` + +### Replay Cluster + +``` bash +kwokctl snapshot replay --path recording.yaml +``` + +### Export External Cluster + +``` bash +kwokctl snapshot export --path external-recording.yaml --record --kubeconfig /path/to/kubeconfig +``` + +#### Replay External Cluster + +``` bash +kwokctl create cluster +kwokctl snapshot replay --path external-recording.yaml ``` diff --git a/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.cast b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.cast new file mode 100644 index 000000000..5c2553c11 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.cast @@ -0,0 +1,664 @@ +{"version": 2, "width": 86, "height": 24, "timestamp": 1716532377, "env": {}} +[0.010271, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[0.517555, "o", "#"] +[0.551571, "o", " "] +[0.580407, "o", "L"] +[0.604992, "o", "e"] +[0.629127, "o", "t"] +[0.65694, "o", "'"] +[0.686235, "o", "s"] +[0.715365, "o", " "] +[0.74416, "o", "g"] +[0.769856, "o", "e"] +[0.800004, "o", "t"] +[0.826777, "o", " "] +[0.855966, "o", "s"] +[0.882339, "o", "t"] +[0.908093, "o", "a"] +[0.937841, "o", "r"] +[0.967202, "o", "t"] +[0.992772, "o", "e"] +[1.021493, "o", "d"] +[1.050109, "o", " "] +[1.080011, "o", "w"] +[1.109739, "o", "i"] +[1.139293, "o", "t"] +[1.169374, "o", "h"] +[1.196086, "o", " "] +[1.225279, "o", "k"] +[1.250741, "o", "w"] +[1.274535, "o", "o"] +[1.302763, "o", "k"] +[1.331536, "o", "c"] +[1.360625, "o", "t"] +[1.390313, "o", "l"] +[1.418601, "o", "!"] +[1.560525, "o", "\r\n"] +[1.560752, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[2.570445, "o", "k"] +[2.583056, "o", "w"] +[2.598678, "o", "o"] +[2.613957, "o", "k"] +[2.62965, "o", "c"] +[2.64497, "o", "t"] +[2.660777, "o", "l"] +[2.676665, "o", " "] +[2.692374, "o", "c"] +[2.71011, "o", "r"] +[2.727117, "o", "e"] +[2.743004, "o", "a"] +[2.761227, "o", "t"] +[2.786347, "o", "e"] +[2.804371, "o", " "] +[2.819427, "o", "c"] +[2.833979, "o", "l"] +[2.848564, "o", "u"] +[2.863054, "o", "s"] +[2.87772, "o", "t"] +[2.893663, "o", "e"] +[2.912716, "o", "r"] +[3.439213, "o", "\r\n"] +[3.561513, "o", "Cluster is creating cluster=kwok\r\n"] +[4.458503, "o", "Cluster is created elapsed=0.8s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"] +[5.108187, "o", "Cluster is started elapsed=0.6s cluster=kwok\r\n"] +[5.10874, "o", "You can now use your cluster with:\r\n\r\n\tkubectl cluster-info --context kwok-kwok\r\n\r\nThanks for using kwok!\r\n"] +[5.11096, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.1174, "o", "\r\n"] +[7.118166, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.631322, "o", "#"] +[7.676464, "o", " "] +[7.709754, "o", "C"] +[7.741443, "o", "r"] +[7.776591, "o", "e"] +[7.808639, "o", "a"] +[7.844034, "o", "t"] +[7.877314, "o", "e"] +[7.912684, "o", " "] +[7.939726, "o", "t"] +[7.974735, "o", "h"] +[8.004814, "o", "e"] +[8.04264, "o", " "] +[8.074565, "o", "n"] +[8.109923, "o", "o"] +[8.149386, "o", "d"] +[8.205834, "o", "e"] +[8.236172, "o", "s"] +[8.265799, "o", "."] +[8.42836, "o", "\r\n"] +[8.429196, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[9.445659, "o", "k"] +[9.465006, "o", "w"] +[9.496061, "o", "o"] +[9.512393, "o", "k"] +[9.528509, "o", "c"] +[9.552245, "o", "t"] +[9.568843, "o", "l"] +[9.587619, "o", " "] +[9.608165, "o", "s"] +[9.629365, "o", "c"] +[9.64526, "o", "a"] +[9.66597, "o", "l"] +[9.692901, "o", "e"] +[9.708549, "o", " "] +[9.732674, "o", "n"] +[9.753529, "o", "o"] +[9.771203, "o", "d"] +[9.7905, "o", "e"] +[9.810503, "o", " "] +[9.83321, "o", "-"] +[9.854263, "o", "-"] +[9.874467, "o", "r"] +[9.892606, "o", "e"] +[9.91423, "o", "p"] +[9.932702, "o", "l"] +[9.95129, "o", "i"] +[9.972333, "o", "c"] +[9.993775, "o", "a"] +[10.015318, "o", "s"] +[10.036118, "o", " "] +[10.055224, "o", "2"] +[10.584987, "o", "\r\n"] +[10.634811, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"] +[10.678983, "o", "Load resources counter=2 elapsed=15ms resource=nodes replicas=2 name=node cluster=kwok\r\n"] +[10.681344, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[12.692032, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[13.212465, "o", "#"] +[13.244997, "o", " "] +[13.274898, "o", "A"] +[13.307118, "o", "p"] +[13.338543, "o", "p"] +[13.368878, "o", "l"] +[13.399883, "o", "y"] +[13.429886, "o", " "] +[13.463075, "o", "a"] +[13.493897, "o", " "] +[13.530821, "o", "d"] +[13.561378, "o", "e"] +[13.602941, "o", "p"] +[13.640523, "o", "l"] +[13.673849, "o", "o"] +[13.702924, "o", "y"] +[13.742441, "o", "m"] +[13.77905, "o", "e"] +[13.810033, "o", "n"] +[13.849652, "o", "t"] +[13.882868, "o", "."] +[14.023144, "o", "\r\n"] +[14.023645, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[15.039772, "o", "k"] +[15.068438, "o", "u"] +[15.102597, "o", "b"] +[15.121239, "o", "e"] +[15.139451, "o", "c"] +[15.159998, "o", "t"] +[15.1792, "o", "l"] +[15.206198, "o", " "] +[15.221083, "o", "c"] +[15.246683, "o", "r"] +[15.265198, "o", "e"] +[15.281911, "o", "a"] +[15.301967, "o", "t"] +[15.335482, "o", "e"] +[15.371497, "o", " "] +[15.388961, "o", "d"] +[15.408381, "o", "e"] +[15.42653, "o", "p"] +[15.4472, "o", "l"] +[15.468495, "o", "o"] +[15.487387, "o", "y"] +[15.504781, "o", "m"] +[15.52249, "o", "e"] +[15.541108, "o", "n"] +[15.560112, "o", "t"] +[15.578161, "o", " "] +[15.595927, "o", "a"] +[15.622165, "o", "p"] +[15.637598, "o", "p"] +[15.656079, "o", " "] +[15.674754, "o", "-"] +[15.695941, "o", "-"] +[15.715349, "o", "i"] +[15.734528, "o", "m"] +[15.7644, "o", "a"] +[15.786946, "o", "g"] +[15.805151, "o", "e"] +[15.821523, "o", "="] +[15.841094, "o", "a"] +[15.861529, "o", "p"] +[15.877418, "o", "p"] +[15.900943, "o", " "] +[15.931583, "o", "-"] +[15.95475, "o", "-"] +[15.979902, "o", "r"] +[16.00738, "o", "e"] +[16.035629, "o", "p"] +[16.062597, "o", "l"] +[16.082649, "o", "i"] +[16.10103, "o", "c"] +[16.12017, "o", "a"] +[16.136796, "o", "s"] +[16.15381, "o", "="] +[16.172025, "o", "3"] +[16.724509, "o", "\r\n"] +[16.795606, "o", "deployment.apps/app created\r\n"] +[16.796571, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[18.80592, "o", "\r\n"] +[18.806775, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[19.319809, "o", "#"] +[19.354632, "o", " "] +[19.390101, "o", "L"] +[19.421854, "o", "e"] +[19.450131, "o", "t"] +[19.480864, "o", "'"] +[19.509726, "o", "s"] +[19.539093, "o", " "] +[19.569936, "o", "h"] +[19.597862, "o", "a"] +[19.630641, "o", "v"] +[19.666041, "o", "e"] +[19.698543, "o", " "] +[19.740571, "o", "a"] +[19.775148, "o", " "] +[19.812209, "o", "l"] +[19.843476, "o", "o"] +[19.881895, "o", "o"] +[19.922876, "o", "k"] +[19.95857, "o", " "] +[19.997402, "o", "a"] +[20.043893, "o", "t"] +[20.072419, "o", " "] +[20.102289, "o", "t"] +[20.130285, "o", "h"] +[20.162651, "o", "e"] +[20.203655, "o", " "] +[20.233136, "o", "p"] +[20.263347, "o", "o"] +[20.310363, "o", "d"] +[20.340915, "o", " "] +[20.385128, "o", "n"] +[20.413889, "o", "a"] +[20.442748, "o", "m"] +[20.474264, "o", "e"] +[20.519781, "o", "."] +[20.660066, "o", "\r\n"] +[20.660476, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[21.681185, "o", "k"] +[21.698099, "o", "u"] +[21.725102, "o", "b"] +[21.744876, "o", "e"] +[21.763993, "o", "c"] +[21.791664, "o", "t"] +[21.809308, "o", "l"] +[21.826064, "o", " "] +[21.845329, "o", "g"] +[21.863369, "o", "e"] +[21.881001, "o", "t"] +[21.903275, "o", " "] +[21.926074, "o", "p"] +[21.947475, "o", "o"] +[21.965444, "o", "d"] +[22.494386, "o", "\r\n"] +[22.581581, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-9s7m9 1/1 Running 0 6s\r\napp-67f9df97bd-rj4qn 1/1 Running 0 "] +[22.581612, "o", "6s\r\napp-67f9df97bd-wb7s2 1/1 Running 0 6s\r\n"] +[22.582825, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[24.588987, "o", "\r\n"] +[24.589067, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[25.100388, "o", "#"] +[25.136502, "o", " "] +[25.175985, "o", "S"] +[25.217948, "o", "a"] +[25.252398, "o", "v"] +[25.283367, "o", "e"] +[25.312897, "o", " "] +[25.345673, "o", "i"] +[25.382252, "o", "t"] +[25.413674, "o", " "] +[25.444108, "o", "t"] +[25.474502, "o", "o"] +[25.50454, "o", " "] +[25.537422, "o", "s"] +[25.566747, "o", "n"] +[25.597695, "o", "a"] +[25.638057, "o", "p"] +[25.665573, "o", "s"] +[25.695946, "o", "h"] +[25.729982, "o", "o"] +[25.762899, "o", "t"] +[25.800239, "o", "."] +[25.842885, "o", "d"] +[25.872404, "o", "b"] +[26.030323, "o", "\r\n"] +[26.030489, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[27.047291, "o", "k"] +[27.072493, "o", "w"] +[27.0981, "o", "o"] +[27.122022, "o", "k"] +[27.147026, "o", "c"] +[27.171772, "o", "t"] +[27.191875, "o", "l"] +[27.214388, "o", " "] +[27.230527, "o", "s"] +[27.249781, "o", "n"] +[27.267986, "o", "a"] +[27.291378, "o", "p"] +[27.320956, "o", "s"] +[27.34577, "o", "h"] +[27.363868, "o", "o"] +[27.385036, "o", "t"] +[27.407143, "o", " "] +[27.424898, "o", "s"] +[27.444285, "o", "a"] +[27.491833, "o", "v"] +[27.506304, "o", "e"] +[27.520526, "o", " "] +[27.542281, "o", "-"] +[27.564028, "o", "-"] +[27.587979, "o", "p"] +[27.616814, "o", "a"] +[27.636093, "o", "t"] +[27.655749, "o", "h"] +[27.67273, "o", " "] +[27.690975, "o", "s"] +[27.707988, "o", "n"] +[27.72617, "o", "a"] +[27.743784, "o", "p"] +[27.76065, "o", "s"] +[27.778804, "o", "h"] +[27.808638, "o", "o"] +[27.826872, "o", "t"] +[27.845624, "o", "."] +[27.864032, "o", "d"] +[27.882032, "o", "b"] +[28.41971, "o", "\r\n"] +[28.63963, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[30.650542, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[31.172365, "o", "#"] +[31.207446, "o", " "] +[31.239837, "o", "R"] +[31.275597, "o", "e"] +[31.313104, "o", "c"] +[31.34263, "o", "r"] +[31.384509, "o", "e"] +[31.418475, "o", "a"] +[31.454722, "o", "t"] +[31.485995, "o", "e"] +[31.515859, "o", " "] +[31.54644, "o", "c"] +[31.578373, "o", "l"] +[31.609796, "o", "u"] +[31.639181, "o", "s"] +[31.68167, "o", "t"] +[31.732616, "o", "e"] +[31.769431, "o", "r"] +[31.912555, "o", "\r\n"] +[31.917219, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[32.939063, "o", "k"] +[32.971383, "o", "w"] +[32.996145, "o", "o"] +[33.017295, "o", "k"] +[33.035866, "o", "c"] +[33.054377, "o", "t"] +[33.074736, "o", "l"] +[33.091318, "o", " "] +[33.107586, "o", "d"] +[33.121621, "o", "e"] +[33.136841, "o", "l"] +[33.153841, "o", "e"] +[33.17075, "o", "t"] +[33.189169, "o", "e"] +[33.209235, "o", " "] +[33.229258, "o", "c"] +[33.251247, "o", "l"] +[33.273122, "o", "u"] +[33.289634, "o", "s"] +[33.303455, "o", "t"] +[33.319565, "o", "e"] +[33.335039, "o", "r"] +[33.352571, "o", " "] +[33.369807, "o", ">"] +[33.388972, "o", " "] +[33.410223, "o", "/"] +[33.429581, "o", "d"] +[33.449889, "o", "e"] +[33.469706, "o", "v"] +[33.491492, "o", "/"] +[33.509143, "o", "n"] +[33.525209, "o", "u"] +[33.547078, "o", "l"] +[33.566971, "o", "l"] +[33.584538, "o", " "] +[33.602684, "o", "2"] +[33.633026, "o", ">"] +[33.651173, "o", "&"] +[33.670592, "o", "1"] +[33.695456, "o", " "] +[33.713242, "o", "&"] +[33.735936, "o", "&"] +[33.752958, "o", " "] +[33.782852, "o", "k"] +[33.801918, "o", "w"] +[33.831044, "o", "o"] +[33.861518, "o", "k"] +[33.878447, "o", "c"] +[33.896279, "o", "t"] +[33.91465, "o", "l"] +[33.947398, "o", " "] +[33.965986, "o", "c"] +[33.993545, "o", "r"] +[34.01495, "o", "e"] +[34.039847, "o", "a"] +[34.064084, "o", "t"] +[34.091244, "o", "e"] +[34.10852, "o", " "] +[34.125409, "o", "c"] +[34.143556, "o", "l"] +[34.161457, "o", "u"] +[34.178516, "o", "s"] +[34.194558, "o", "t"] +[34.21026, "o", "e"] +[34.227416, "o", "r"] +[34.24391, "o", " "] +[34.26607, "o", ">"] +[34.281162, "o", " "] +[34.298581, "o", "/"] +[34.316756, "o", "d"] +[34.343205, "o", "e"] +[34.36849, "o", "v"] +[34.390019, "o", "/"] +[34.408397, "o", "n"] +[34.427244, "o", "u"] +[34.4449, "o", "l"] +[34.472012, "o", "l"] +[34.490287, "o", " "] +[34.508205, "o", "2"] +[34.527562, "o", ">"] +[34.55559, "o", "&"] +[34.588629, "o", "1"] +[35.120131, "o", "\r\n"] +[37.690573, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[39.702273, "o", "\r\n"] +[39.702476, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[40.223038, "o", "#"] +[40.255054, "o", " "] +[40.292207, "o", "R"] +[40.327089, "o", "e"] +[40.366222, "o", "s"] +[40.397781, "o", "t"] +[40.436337, "o", "o"] +[40.47542, "o", "r"] +[40.51324, "o", "e"] +[40.542626, "o", " "] +[40.570958, "o", "i"] +[40.597024, "o", "s"] +[40.625654, "o", " "] +[40.65975, "o", "f"] +[40.688976, "o", "r"] +[40.722425, "o", "o"] +[40.759645, "o", "m"] +[40.793943, "o", " "] +[40.824067, "o", "s"] +[40.851085, "o", "n"] +[40.881677, "o", "a"] +[40.910642, "o", "p"] +[40.942233, "o", "s"] +[40.97459, "o", "h"] +[41.00608, "o", "o"] +[41.042932, "o", "t"] +[41.068316, "o", "."] +[41.095496, "o", "d"] +[41.122684, "o", "b"] +[41.252664, "o", "\r\n"] +[41.252753, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[42.26196, "o", "k"] +[42.28015, "o", "w"] +[42.297868, "o", "o"] +[42.315302, "o", "k"] +[42.332129, "o", "c"] +[42.348338, "o", "t"] +[42.365345, "o", "l"] +[42.381609, "o", " "] +[42.398813, "o", "s"] +[42.415862, "o", "n"] +[42.430474, "o", "a"] +[42.447439, "o", "p"] +[42.462383, "o", "s"] +[42.478303, "o", "h"] +[42.494194, "o", "o"] +[42.507606, "o", "t"] +[42.522741, "o", " "] +[42.537991, "o", "r"] +[42.553406, "o", "e"] +[42.569359, "o", "s"] +[42.585063, "o", "t"] +[42.601168, "o", "o"] +[42.617014, "o", "r"] +[42.631497, "o", "e"] +[42.648208, "o", " "] +[42.663527, "o", "-"] +[42.679247, "o", "-"] +[42.696169, "o", "p"] +[42.712658, "o", "a"] +[42.729619, "o", "t"] +[42.744022, "o", "h"] +[42.759383, "o", " "] +[42.775396, "o", "s"] +[42.791914, "o", "n"] +[42.808115, "o", "a"] +[42.823928, "o", "p"] +[42.840417, "o", "s"] +[42.855373, "o", "h"] +[42.871795, "o", "o"] +[42.887307, "o", "t"] +[42.902095, "o", "."] +[42.914118, "o", "d"] +[42.928478, "o", "b"] +[43.450335, "o", "\r\n"] +[45.69, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[47.700174, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[48.214922, "o", "#"] +[48.254206, "o", " "] +[48.288751, "o", "L"] +[48.315686, "o", "e"] +[48.346784, "o", "t"] +[48.377771, "o", "'"] +[48.410581, "o", "s"] +[48.441871, "o", " "] +[48.47086, "o", "h"] +[48.503136, "o", "a"] +[48.537863, "o", "v"] +[48.571877, "o", "e"] +[48.607631, "o", " "] +[48.643369, "o", "a"] +[48.675416, "o", " "] +[48.710387, "o", "l"] +[48.751543, "o", "o"] +[48.789659, "o", "o"] +[48.822597, "o", "k"] +[48.854971, "o", " "] +[48.891377, "o", "a"] +[48.936438, "o", "t"] +[48.968774, "o", " "] +[49.006852, "o", "t"] +[49.041291, "o", "h"] +[49.067163, "o", "e"] +[49.103524, "o", " "] +[49.134258, "o", "p"] +[49.167093, "o", "o"] +[49.202931, "o", "d"] +[49.23976, "o", " "] +[49.274626, "o", "n"] +[49.303848, "o", "a"] +[49.336134, "o", "m"] +[49.36499, "o", "e"] +[49.391092, "o", " "] +[49.421392, "o", "a"] +[49.451999, "o", "g"] +[49.486538, "o", "a"] +[49.527705, "o", "i"] +[49.559281, "o", "n"] +[49.594796, "o", "."] +[49.740948, "o", "\r\n"] +[49.743068, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[50.764117, "o", "k"] +[50.788927, "o", "u"] +[50.819227, "o", "b"] +[50.839962, "o", "e"] +[50.863332, "o", "c"] +[50.88745, "o", "t"] +[50.909271, "o", "l"] +[50.927108, "o", " "] +[50.944784, "o", "g"] +[50.963175, "o", "e"] +[50.98693, "o", "t"] +[51.005546, "o", " "] +[51.023676, "o", "p"] +[51.041626, "o", "o"] +[51.060055, "o", "d"] +[51.593215, "o", "\r\n"] +[51.681606, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-9s7m9 1/1 Running 0 35s\r\napp-67f9df97bd-rj4qn 1/1 Running 0 35s\r\napp-67f9df97bd-wb7s2 1/1 Running 0 35s"] +[51.681776, "o", "\r\n"] +[51.682747, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[53.68945, "o", "\r\n"] +[53.689603, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[54.209882, "o", "#"] +[54.249525, "o", " "] +[54.276894, "o", "D"] +[54.306154, "o", "e"] +[54.339584, "o", "l"] +[54.372526, "o", "e"] +[54.406214, "o", "t"] +[54.439554, "o", "e"] +[54.46875, "o", " "] +[54.517719, "o", "t"] +[54.554482, "o", "h"] +[54.588403, "o", "e"] +[54.622776, "o", " "] +[54.657625, "o", "c"] +[54.693927, "o", "l"] +[54.743617, "o", "u"] +[54.787933, "o", "s"] +[54.834663, "o", "t"] +[54.876446, "o", "e"] +[54.907359, "o", "r"] +[54.937188, "o", "."] +[55.087532, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[56.114701, "o", "k"] +[56.144709, "o", "w"] +[56.171048, "o", "o"] +[56.189275, "o", "k"] +[56.208099, "o", "c"] +[56.223949, "o", "t"] +[56.239682, "o", "l"] +[56.262608, "o", " "] +[56.282296, "o", "d"] +[56.302725, "o", "e"] +[56.318188, "o", "l"] +[56.336034, "o", "e"] +[56.377296, "o", "t"] +[56.393603, "o", "e"] +[56.408294, "o", " "] +[56.425365, "o", "c"] +[56.45592, "o", "l"] +[56.470702, "o", "u"] +[56.483776, "o", "s"] +[56.502711, "o", "t"] +[56.523146, "o", "e"] +[56.542672, "o", "r"] +[57.078536, "o", "\r\n"] +[57.128119, "o", "Cluster is stopping cluster=kwok\r\n"] +[57.534842, "o", "Cluster is stopped elapsed=0.4s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"] +[57.985663, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"] +[57.986561, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[59.994625, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[60.508473, "o", "#"] +[60.53786, "o", " "] +[60.567623, "o", "T"] +[60.598679, "o", "h"] +[60.633028, "o", "a"] +[60.663586, "o", "t"] +[60.691881, "o", "'"] +[60.72295, "o", "s"] +[60.760355, "o", " "] +[60.790275, "o", "a"] +[60.819195, "o", "l"] +[60.849814, "o", "l"] +[60.881337, "o", ","] +[60.912688, "o", " "] +[60.94625, "o", "e"] +[60.981081, "o", "n"] +[61.016989, "o", "j"] +[61.052104, "o", "o"] +[61.089727, "o", "y"] +[61.121709, "o", " "] +[61.164951, "o", "i"] +[61.20659, "o", "t"] +[61.237693, "o", "!"] +[61.398289, "o", "\r\n"] +[61.398606, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[62.412178, "o", "c"] +[62.443559, "o", "l"] +[62.462452, "o", "e"] +[62.479202, "o", "a"] +[62.495485, "o", "r"] +[63.026676, "o", "\r\n"] +[63.037625, "o", "\u001b[3J\u001b[H\u001b[2J"] diff --git a/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.demo b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.demo new file mode 100644 index 000000000..89f9dd2bd --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.demo @@ -0,0 +1,29 @@ +# Let's get started with kwokctl! +kwokctl create cluster + +# Create the nodes. +kwokctl scale node --replicas 2 + +# Apply a deployment. +kubectl create deployment app --image=app --replicas=3 + +# Let's have a look at the pod name. +kubectl get pod + +# Save it to snapshot.db +kwokctl snapshot save --path snapshot.db + +# Recreate cluster +kwokctl delete cluster > /dev/null 2>&1 && kwokctl create cluster > /dev/null 2>&1 + +# Restore is from snapshot.db +kwokctl snapshot restore --path snapshot.db + +# Let's have a look at the pod name again. +kubectl get pod + +# Delete the cluster. +kwokctl delete cluster + +# That's all, enjoy it! +clear diff --git a/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.svg b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.svg new file mode 100644 index 000000000..4c840bd94 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.svg @@ -0,0 +1 @@ +~/sigs.k8s.io/kwok$~/sigs.k8s.io/kwok$#~/sigs.k8s.io/kwok$#L~/sigs.k8s.io/kwok$#Le~/sigs.k8s.io/kwok$#Let~/sigs.k8s.io/kwok$#Let'~/sigs.k8s.io/kwok$#Let's~/sigs.k8s.io/kwok$#Let'sget~/sigs.k8s.io/kwok$#Let'sgetstarted~/sigs.k8s.io/kwok$#Let'sgetstartedwith~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl!~/sigs.k8s.io/kwok$k~/sigs.k8s.io/kwok$kw~/sigs.k8s.io/kwok$kwo~/sigs.k8s.io/kwok$kwok~/sigs.k8s.io/kwok$kwokc~/sigs.k8s.io/kwok$kwokct~/sigs.k8s.io/kwok$kwokctl~/sigs.k8s.io/kwok$kwokctlcreate~/sigs.k8s.io/kwok$kwokctlcreateclusterClusteriscreatingcluster=kwokClusteriscreatedelapsed=0.8scluster=kwokClusterisstartingcluster=kwokClusterisstartedelapsed=0.6scluster=kwokYoucannowuseyourclusterwith:kubectlcluster-info--contextkwok-kwokThanksforusingkwok!~/sigs.k8s.io/kwok$#Create~/sigs.k8s.io/kwok$#Createthe~/sigs.k8s.io/kwok$#Createthenodes.~/sigs.k8s.io/kwok$kwokctls~/sigs.k8s.io/kwok$kwokctlscale~/sigs.k8s.io/kwok$kwokctlscalenode~/sigs.k8s.io/kwok$kwokctlscalenode--replicas~/sigs.k8s.io/kwok$kwokctlscalenode--replicas2Noresourcefound,usedefaultresourceresource=nodecluster=kwokLoadresourcescounter=2elapsed=15msresource=nodesreplicas=2name=nodecluster=kwok~/sigs.k8s.io/kwok$#Apply~/sigs.k8s.io/kwok$#Applya~/sigs.k8s.io/kwok$#Applyadeployment.~/sigs.k8s.io/kwok$ku~/sigs.k8s.io/kwok$kub~/sigs.k8s.io/kwok$kube~/sigs.k8s.io/kwok$kubec~/sigs.k8s.io/kwok$kubect~/sigs.k8s.io/kwok$kubectl~/sigs.k8s.io/kwok$kubectlcreate~/sigs.k8s.io/kwok$kubectlcreatedeployment~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=3deployment.apps/appcreated~/sigs.k8s.io/kwok$#Let'sh~/sigs.k8s.io/kwok$#Let'sha~/sigs.k8s.io/kwok$#Let'shav~/sigs.k8s.io/kwok$#Let'shave~/sigs.k8s.io/kwok$#Let'shavea~/sigs.k8s.io/kwok$#Let'shaveal~/sigs.k8s.io/kwok$#Let'shavealo~/sigs.k8s.io/kwok$#Let'shavealoo~/sigs.k8s.io/kwok$#Let'shavealook~/sigs.k8s.io/kwok$#Let'shavealooka~/sigs.k8s.io/kwok$#Let'shavealookat~/sigs.k8s.io/kwok$#Let'shavealookatt~/sigs.k8s.io/kwok$#Let'shavealookatth~/sigs.k8s.io/kwok$#Let'shavealookatthe~/sigs.k8s.io/kwok$#Let'shavealookatthep~/sigs.k8s.io/kwok$#Let'shavealookatthepo~/sigs.k8s.io/kwok$#Let'shavealookatthepod~/sigs.k8s.io/kwok$#Let'shavealookatthepodn~/sigs.k8s.io/kwok$#Let'shavealookatthepodna~/sigs.k8s.io/kwok$#Let'shavealookatthepodnam~/sigs.k8s.io/kwok$#Let'shavealookatthepodname~/sigs.k8s.io/kwok$#Let'shavealookatthepodname.~/sigs.k8s.io/kwok$kubectlg~/sigs.k8s.io/kwok$kubectlge~/sigs.k8s.io/kwok$kubectlget~/sigs.k8s.io/kwok$kubectlgetp~/sigs.k8s.io/kwok$kubectlgetpo~/sigs.k8s.io/kwok$kubectlgetpodNAMEREADYSTATUSRESTARTSAGEapp-67f9df97bd-9s7m91/1Running06sapp-67f9df97bd-rj4qn1/1Running06sapp-67f9df97bd-wb7s21/1Running06s~/sigs.k8s.io/kwok$#Save~/sigs.k8s.io/kwok$#Saveit~/sigs.k8s.io/kwok$#Saveitto~/sigs.k8s.io/kwok$#Saveittosnapshot.db~/sigs.k8s.io/kwok$kwokctlsn~/sigs.k8s.io/kwok$kwokctlsna~/sigs.k8s.io/kwok$kwokctlsnap~/sigs.k8s.io/kwok$kwokctlsnaps~/sigs.k8s.io/kwok$kwokctlsnapsh~/sigs.k8s.io/kwok$kwokctlsnapsho~/sigs.k8s.io/kwok$kwokctlsnapshot~/sigs.k8s.io/kwok$kwokctlsnapshotsave~/sigs.k8s.io/kwok$kwokctlsnapshotsave--path~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsnapshot.db~/sigs.k8s.io/kwok$#R~/sigs.k8s.io/kwok$#Re~/sigs.k8s.io/kwok$#Recreate~/sigs.k8s.io/kwok$#Recreatecluster~/sigs.k8s.io/kwok$kwokctld~/sigs.k8s.io/kwok$kwokctlde~/sigs.k8s.io/kwok$kwokctldel~/sigs.k8s.io/kwok$kwokctldele~/sigs.k8s.io/kwok$kwokctldelet~/sigs.k8s.io/kwok$kwokctldelete~/sigs.k8s.io/kwok$kwokctldeletec~/sigs.k8s.io/kwok$kwokctldeletecl~/sigs.k8s.io/kwok$kwokctldeleteclu~/sigs.k8s.io/kwok$kwokctldeleteclus~/sigs.k8s.io/kwok$kwokctldeleteclust~/sigs.k8s.io/kwok$kwokctldeletecluste~/sigs.k8s.io/kwok$kwokctldeletecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreate~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluster>>/dev/null>/dev/null2>&1~/sigs.k8s.io/kwok$#Restore~/sigs.k8s.io/kwok$#Restoreis~/sigs.k8s.io/kwok$#Restoreisfrom~/sigs.k8s.io/kwok$#Restoreisfromsnapshot.db~/sigs.k8s.io/kwok$kwokctlsnapshotrestore~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--path~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsnapshot.db~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagain.app-67f9df97bd-9s7m91/1Running035sapp-67f9df97bd-rj4qn1/1Running035sapp-67f9df97bd-wb7s21/1Running035s~/sigs.k8s.io/kwok$#Delete~/sigs.k8s.io/kwok$#Deletethe~/sigs.k8s.io/kwok$#Deletethecluster.Clusterisstoppingcluster=kwokClusterisstoppedelapsed=0.4scluster=kwokClusterisdeletingcluster=kwokClusterisdeletedelapsed=0.4scluster=kwok~/sigs.k8s.io/kwok$#That's~/sigs.k8s.io/kwok$#That'sall,~/sigs.k8s.io/kwok$#That'sall,enjoy~/sigs.k8s.io/kwok$#That'sall,enjoyit!~/sigs.k8s.io/kwok$clear~/sigs.k8s.io/kwok$#Let'sg~/sigs.k8s.io/kwok$#Let'sge~/sigs.k8s.io/kwok$#Let'sgets~/sigs.k8s.io/kwok$#Let'sgetst~/sigs.k8s.io/kwok$#Let'sgetsta~/sigs.k8s.io/kwok$#Let'sgetstar~/sigs.k8s.io/kwok$#Let'sgetstart~/sigs.k8s.io/kwok$#Let'sgetstarte~/sigs.k8s.io/kwok$#Let'sgetstartedw~/sigs.k8s.io/kwok$#Let'sgetstartedwi~/sigs.k8s.io/kwok$#Let'sgetstartedwit~/sigs.k8s.io/kwok$#Let'sgetstartedwithk~/sigs.k8s.io/kwok$#Let'sgetstartedwithkw~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl~/sigs.k8s.io/kwok$kwokctlc~/sigs.k8s.io/kwok$kwokctlcr~/sigs.k8s.io/kwok$kwokctlcre~/sigs.k8s.io/kwok$kwokctlcrea~/sigs.k8s.io/kwok$kwokctlcreat~/sigs.k8s.io/kwok$kwokctlcreatec~/sigs.k8s.io/kwok$kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctlcreatecluste~/sigs.k8s.io/kwok$#C~/sigs.k8s.io/kwok$#Cr~/sigs.k8s.io/kwok$#Cre~/sigs.k8s.io/kwok$#Crea~/sigs.k8s.io/kwok$#Creat~/sigs.k8s.io/kwok$#Createt~/sigs.k8s.io/kwok$#Createth~/sigs.k8s.io/kwok$#Createthen~/sigs.k8s.io/kwok$#Createtheno~/sigs.k8s.io/kwok$#Createthenod~/sigs.k8s.io/kwok$#Createthenode~/sigs.k8s.io/kwok$#Createthenodes~/sigs.k8s.io/kwok$kwokctlsc~/sigs.k8s.io/kwok$kwokctlsca~/sigs.k8s.io/kwok$kwokctlscal~/sigs.k8s.io/kwok$kwokctlscalen~/sigs.k8s.io/kwok$kwokctlscaleno~/sigs.k8s.io/kwok$kwokctlscalenod~/sigs.k8s.io/kwok$kwokctlscalenode-~/sigs.k8s.io/kwok$kwokctlscalenode--~/sigs.k8s.io/kwok$kwokctlscalenode--r~/sigs.k8s.io/kwok$kwokctlscalenode--re~/sigs.k8s.io/kwok$kwokctlscalenode--rep~/sigs.k8s.io/kwok$kwokctlscalenode--repl~/sigs.k8s.io/kwok$kwokctlscalenode--repli~/sigs.k8s.io/kwok$kwokctlscalenode--replic~/sigs.k8s.io/kwok$kwokctlscalenode--replica~/sigs.k8s.io/kwok$#A~/sigs.k8s.io/kwok$#Ap~/sigs.k8s.io/kwok$#App~/sigs.k8s.io/kwok$#Appl~/sigs.k8s.io/kwok$#Applyad~/sigs.k8s.io/kwok$#Applyade~/sigs.k8s.io/kwok$#Applyadep~/sigs.k8s.io/kwok$#Applyadepl~/sigs.k8s.io/kwok$#Applyadeplo~/sigs.k8s.io/kwok$#Applyadeploy~/sigs.k8s.io/kwok$#Applyadeploym~/sigs.k8s.io/kwok$#Applyadeployme~/sigs.k8s.io/kwok$#Applyadeploymen~/sigs.k8s.io/kwok$#Applyadeployment~/sigs.k8s.io/kwok$kubectlc~/sigs.k8s.io/kwok$kubectlcr~/sigs.k8s.io/kwok$kubectlcre~/sigs.k8s.io/kwok$kubectlcrea~/sigs.k8s.io/kwok$kubectlcreat~/sigs.k8s.io/kwok$kubectlcreated~/sigs.k8s.io/kwok$kubectlcreatede~/sigs.k8s.io/kwok$kubectlcreatedep~/sigs.k8s.io/kwok$kubectlcreatedepl~/sigs.k8s.io/kwok$kubectlcreatedeplo~/sigs.k8s.io/kwok$kubectlcreatedeploy~/sigs.k8s.io/kwok$kubectlcreatedeploym~/sigs.k8s.io/kwok$kubectlcreatedeployme~/sigs.k8s.io/kwok$kubectlcreatedeploymen~/sigs.k8s.io/kwok$kubectlcreatedeploymenta~/sigs.k8s.io/kwok$kubectlcreatedeploymentap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--i~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--im~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--ima~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--imag~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=a~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=ap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--r~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--re~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--rep~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repl~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repli~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replic~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replica~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=app-67f9df97bd-rj4qn1/1Running0~/sigs.k8s.io/kwok$#S~/sigs.k8s.io/kwok$#Sa~/sigs.k8s.io/kwok$#Sav~/sigs.k8s.io/kwok$#Savei~/sigs.k8s.io/kwok$#Saveitt~/sigs.k8s.io/kwok$#Saveittos~/sigs.k8s.io/kwok$#Saveittosn~/sigs.k8s.io/kwok$#Saveittosna~/sigs.k8s.io/kwok$#Saveittosnap~/sigs.k8s.io/kwok$#Saveittosnaps~/sigs.k8s.io/kwok$#Saveittosnapsh~/sigs.k8s.io/kwok$#Saveittosnapsho~/sigs.k8s.io/kwok$#Saveittosnapshot~/sigs.k8s.io/kwok$#Saveittosnapshot.~/sigs.k8s.io/kwok$#Saveittosnapshot.d~/sigs.k8s.io/kwok$kwokctlsnapshots~/sigs.k8s.io/kwok$kwokctlsnapshotsa~/sigs.k8s.io/kwok$kwokctlsnapshotsav~/sigs.k8s.io/kwok$kwokctlsnapshotsave-~/sigs.k8s.io/kwok$kwokctlsnapshotsave--~/sigs.k8s.io/kwok$kwokctlsnapshotsave--p~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pa~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pat~/sigs.k8s.io/kwok$kwokctlsnapshotsave--paths~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsn~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsna~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsnap~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsnaps~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsnapsh~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsnapsho~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsnapshot~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsnapshot.~/sigs.k8s.io/kwok$kwokctlsnapshotsave--pathsnapshot.d~/sigs.k8s.io/kwok$#Rec~/sigs.k8s.io/kwok$#Recr~/sigs.k8s.io/kwok$#Recre~/sigs.k8s.io/kwok$#Recrea~/sigs.k8s.io/kwok$#Recreat~/sigs.k8s.io/kwok$#Recreatec~/sigs.k8s.io/kwok$#Recreatecl~/sigs.k8s.io/kwok$#Recreateclu~/sigs.k8s.io/kwok$#Recreateclus~/sigs.k8s.io/kwok$#Recreateclust~/sigs.k8s.io/kwok$#Recreatecluste~/sigs.k8s.io/kwok$kwokctldeletecluster>/~/sigs.k8s.io/kwok$kwokctldeletecluster>/d~/sigs.k8s.io/kwok$kwokctldeletecluster>/de~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/n~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nul~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&k~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kw~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwo~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwok~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokct~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcr~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcre~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcrea~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreat~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatec~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluste>/>/d>/de>/dev>/dev/>/dev/n>/dev/nu>/dev/nul>/dev/null2>/dev/null2>>/dev/null2>&~/sigs.k8s.io/kwok$#Res~/sigs.k8s.io/kwok$#Rest~/sigs.k8s.io/kwok$#Resto~/sigs.k8s.io/kwok$#Restor~/sigs.k8s.io/kwok$#Restorei~/sigs.k8s.io/kwok$#Restoreisf~/sigs.k8s.io/kwok$#Restoreisfr~/sigs.k8s.io/kwok$#Restoreisfro~/sigs.k8s.io/kwok$#Restoreisfroms~/sigs.k8s.io/kwok$#Restoreisfromsn~/sigs.k8s.io/kwok$#Restoreisfromsna~/sigs.k8s.io/kwok$#Restoreisfromsnap~/sigs.k8s.io/kwok$#Restoreisfromsnaps~/sigs.k8s.io/kwok$#Restoreisfromsnapsh~/sigs.k8s.io/kwok$#Restoreisfromsnapsho~/sigs.k8s.io/kwok$#Restoreisfromsnapshot~/sigs.k8s.io/kwok$#Restoreisfromsnapshot.~/sigs.k8s.io/kwok$#Restoreisfromsnapshot.d~/sigs.k8s.io/kwok$kwokctlsnapshotr~/sigs.k8s.io/kwok$kwokctlsnapshotre~/sigs.k8s.io/kwok$kwokctlsnapshotres~/sigs.k8s.io/kwok$kwokctlsnapshotrest~/sigs.k8s.io/kwok$kwokctlsnapshotresto~/sigs.k8s.io/kwok$kwokctlsnapshotrestor~/sigs.k8s.io/kwok$kwokctlsnapshotrestore-~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--p~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pa~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pat~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--paths~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsn~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsna~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsnap~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsnaps~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsnapsh~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsnapsho~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsnapshot~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsnapshot.~/sigs.k8s.io/kwok$kwokctlsnapshotrestore--pathsnapshot.d~/sigs.k8s.io/kwok$#Let'shavealookatthepodnamea~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameag~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameaga~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagai~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagain~/sigs.k8s.io/kwok$#D~/sigs.k8s.io/kwok$#De~/sigs.k8s.io/kwok$#Del~/sigs.k8s.io/kwok$#Dele~/sigs.k8s.io/kwok$#Delet~/sigs.k8s.io/kwok$#Deletet~/sigs.k8s.io/kwok$#Deleteth~/sigs.k8s.io/kwok$#Deletethec~/sigs.k8s.io/kwok$#Deletethecl~/sigs.k8s.io/kwok$#Deletetheclu~/sigs.k8s.io/kwok$#Deletetheclus~/sigs.k8s.io/kwok$#Deletetheclust~/sigs.k8s.io/kwok$#Deletethecluste~/sigs.k8s.io/kwok$#Deletethecluster~/sigs.k8s.io/kwok$#T~/sigs.k8s.io/kwok$#Th~/sigs.k8s.io/kwok$#Tha~/sigs.k8s.io/kwok$#That~/sigs.k8s.io/kwok$#That'~/sigs.k8s.io/kwok$#That'sa~/sigs.k8s.io/kwok$#That'sal~/sigs.k8s.io/kwok$#That'sall~/sigs.k8s.io/kwok$#That'sall,e~/sigs.k8s.io/kwok$#That'sall,en~/sigs.k8s.io/kwok$#That'sall,enj~/sigs.k8s.io/kwok$#That'sall,enjo~/sigs.k8s.io/kwok$#That'sall,enjoyi~/sigs.k8s.io/kwok$#That'sall,enjoyit~/sigs.k8s.io/kwok$c~/sigs.k8s.io/kwok$cl~/sigs.k8s.io/kwok$cle~/sigs.k8s.io/kwok$clea \ No newline at end of file diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.cast b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.cast new file mode 100644 index 000000000..d1304307f --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.cast @@ -0,0 +1,816 @@ +{"version": 2, "width": 86, "height": 24, "timestamp": 1716532217, "env": {}} +[0.011114, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[0.526271, "o", "#"] +[0.555585, "o", " "] +[0.586443, "o", "L"] +[0.617653, "o", "e"] +[0.647241, "o", "t"] +[0.672989, "o", "'"] +[0.702339, "o", "s"] +[0.731948, "o", " "] +[0.759649, "o", "g"] +[0.7898, "o", "e"] +[0.822543, "o", "t"] +[0.852287, "o", " "] +[0.881954, "o", "s"] +[0.91133, "o", "t"] +[0.940254, "o", "a"] +[0.970201, "o", "r"] +[0.995022, "o", "t"] +[1.024456, "o", "e"] +[1.052023, "o", "d"] +[1.076982, "o", " "] +[1.102659, "o", "w"] +[1.132221, "o", "i"] +[1.162157, "o", "t"] +[1.189451, "o", "h"] +[1.215106, "o", " "] +[1.239821, "o", "k"] +[1.269239, "o", "w"] +[1.297326, "o", "o"] +[1.32655, "o", "k"] +[1.356298, "o", "c"] +[1.385806, "o", "t"] +[1.415525, "o", "l"] +[1.442948, "o", "!"] +[1.577319, "o", "\r\n"] +[1.578696, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[2.587211, "o", "k"] +[2.606917, "o", "w"] +[2.624662, "o", "o"] +[2.641921, "o", "k"] +[2.65945, "o", "c"] +[2.676459, "o", "t"] +[2.693099, "o", "l"] +[2.710089, "o", " "] +[2.727114, "o", "c"] +[2.743752, "o", "r"] +[2.760005, "o", "e"] +[2.776422, "o", "a"] +[2.790749, "o", "t"] +[2.806826, "o", "e"] +[2.822206, "o", " "] +[2.837972, "o", "c"] +[2.851761, "o", "l"] +[2.867561, "o", "u"] +[2.881995, "o", "s"] +[2.897958, "o", "t"] +[2.912986, "o", "e"] +[2.92668, "o", "r"] +[3.451856, "o", "\r\n"] +[3.547407, "o", "Cluster is creating cluster=kwok\r\n"] +[4.435312, "o", "Cluster is created elapsed=0.8s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"] +[5.21587, "o", "Cluster is started elapsed=0.7s cluster=kwok\r\nYou can now use your cluster with:\r\n\r\n\tkubectl cluster-info --context kwok-kwok\r\n\r\nThanks for using kwok!\r\n"] +[5.216819, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.226039, "o", "\r\n"] +[7.22621, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.740117, "o", "#"] +[7.774512, "o", " "] +[7.806717, "o", "R"] +[7.834483, "o", "e"] +[7.865206, "o", "c"] +[7.901122, "o", "o"] +[7.935891, "o", "r"] +[7.964445, "o", "d"] +[7.989912, "o", " "] +[8.021383, "o", "i"] +[8.052485, "o", "t"] +[8.085164, "o", " "] +[8.118159, "o", "t"] +[8.148476, "o", "o"] +[8.184003, "o", " "] +[8.215751, "o", "r"] +[8.249093, "o", "e"] +[8.281971, "o", "c"] +[8.315363, "o", "o"] +[8.350452, "o", "r"] +[8.381557, "o", "d"] +[8.415466, "o", "i"] +[8.44308, "o", "n"] +[8.472414, "o", "g"] +[8.505839, "o", "."] +[8.542693, "o", "y"] +[8.577374, "o", "a"] +[8.616493, "o", "m"] +[8.649439, "o", "l"] +[8.7909, "o", "\r\n"] +[8.791051, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[9.804224, "o", "k"] +[9.825872, "o", "w"] +[9.845116, "o", "o"] +[9.860612, "o", "k"] +[9.880643, "o", "c"] +[9.89814, "o", "t"] +[9.920645, "o", "l"] +[9.948226, "o", " "] +[9.965968, "o", "s"] +[9.981254, "o", "n"] +[9.997303, "o", "a"] +[10.015034, "o", "p"] +[10.033761, "o", "s"] +[10.050674, "o", "h"] +[10.068323, "o", "o"] +[10.084832, "o", "t"] +[10.104415, "o", " "] +[10.122343, "o", "r"] +[10.139721, "o", "e"] +[10.156074, "o", "c"] +[10.172026, "o", "o"] +[10.187731, "o", "r"] +[10.205108, "o", "d"] +[10.222529, "o", " "] +[10.239942, "o", "-"] +[10.257077, "o", "-"] +[10.274172, "o", "p"] +[10.290816, "o", "a"] +[10.307644, "o", "t"] +[10.324451, "o", "h"] +[10.341298, "o", " "] +[10.357162, "o", "r"] +[10.373405, "o", "e"] +[10.389928, "o", "c"] +[10.4064, "o", "o"] +[10.422894, "o", "r"] +[10.439458, "o", "d"] +[10.455856, "o", "i"] +[10.469865, "o", "n"] +[10.484607, "o", "g"] +[10.498973, "o", "."] +[10.514932, "o", "y"] +[10.528273, "o", "a"] +[10.543361, "o", "m"] +[10.558555, "o", "l"] +[10.573652, "o", " "] +[10.589832, "o", "&"] +[11.115757, "o", "\r\n"] +[11.11716, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[11.155135, "o", "Saving snapshot and recording cluster=kwok\r\n"] +[11.212077, "o", "Recording cluster=kwok\r\nPress Ctrl+C to stop recording resources cluster=kwok\r\n"] +[13.124348, "o", "\r\n"] +[13.125151, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[13.633218, "o", "#"] +[13.661914, "o", " "] +[13.694066, "o", "R"] +[13.723578, "o", "e"] +[13.749836, "o", "c"] +[13.776273, "o", "o"] +[13.807525, "o", "r"] +[13.835247, "o", "d"] +[13.86127, "o", " "] +[13.89039, "o", "s"] +[13.920957, "o", "o"] +[13.952262, "o", "m"] +[13.981088, "o", "e"] +[14.014408, "o", " "] +[14.044631, "o", "c"] +[14.078401, "o", "h"] +[14.112862, "o", "a"] +[14.144537, "o", "n"] +[14.178483, "o", "g"] +[14.209716, "o", "e"] +[14.241679, "o", "."] +[14.383095, "o", "\r\n"] +[14.384046, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[15.394088, "o", "k"] +[15.412476, "o", "w"] +[15.429936, "o", "o"] +[15.447566, "o", "k"] +[15.463662, "o", "c"] +[15.480765, "o", "t"] +[15.497307, "o", "l"] +[15.514049, "o", " "] +[15.531145, "o", "s"] +[15.547931, "o", "c"] +[15.564516, "o", "a"] +[15.580044, "o", "l"] +[15.595896, "o", "e"] +[15.612277, "o", " "] +[15.628728, "o", "n"] +[15.644658, "o", "o"] +[15.661061, "o", "d"] +[15.67754, "o", "e"] +[15.693536, "o", " "] +[15.709744, "o", "-"] +[15.726098, "o", "-"] +[15.741622, "o", "r"] +[15.756667, "o", "e"] +[15.770943, "o", "p"] +[15.784813, "o", "l"] +[15.798565, "o", "i"] +[15.813855, "o", "c"] +[15.828176, "o", "a"] +[15.843113, "o", "s"] +[15.857741, "o", " "] +[15.873186, "o", "2"] +[16.401995, "o", "\r\n"] +[16.436772, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"] +[16.480967, "o", "Load resources counter=2 elapsed=27ms resource=nodes replicas=2 name=node cluster=kwok\r\n"] +[16.482284, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[17.494767, "o", "k"] +[17.512758, "o", "u"] +[17.527772, "o", "b"] +[17.5445, "o", "e"] +[17.561738, "o", "c"] +[17.578668, "o", "t"] +[17.595818, "o", "l"] +[17.612669, "o", " "] +[17.629531, "o", "c"] +[17.645913, "o", "r"] +[17.662414, "o", "e"] +[17.677191, "o", "a"] +[17.692387, "o", "t"] +[17.709129, "o", "e"] +[17.725827, "o", " "] +[17.741591, "o", "d"] +[17.758317, "o", "e"] +[17.775746, "o", "p"] +[17.791102, "o", "l"] +[17.808075, "o", "o"] +[17.82422, "o", "y"] +[17.84099, "o", "m"] +[17.856999, "o", "e"] +[17.872986, "o", "n"] +[17.889591, "o", "t"] +[17.905631, "o", " "] +[17.921781, "o", "a"] +[17.938118, "o", "p"] +[17.954776, "o", "p"] +[17.971086, "o", " "] +[17.986638, "o", "-"] +[18.003973, "o", "-"] +[18.021947, "o", "i"] +[18.037659, "o", "m"] +[18.053137, "o", "a"] +[18.068821, "o", "g"] +[18.082421, "o", "e"] +[18.098079, "o", "="] +[18.114223, "o", "a"] +[18.129828, "o", "p"] +[18.146541, "o", "p"] +[18.163239, "o", " "] +[18.177212, "o", "-"] +[18.194116, "o", "-"] +[18.210968, "o", "r"] +[18.227981, "o", "e"] +[18.244985, "o", "p"] +[18.261393, "o", "l"] +[18.278055, "o", "i"] +[18.294889, "o", "c"] +[18.311879, "o", "a"] +[18.328104, "o", "s"] +[18.343181, "o", "="] +[18.360192, "o", "3"] +[18.888472, "o", "\r\n"] +[18.955589, "o", "deployment.apps/app created\r\n"] +[18.956496, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[19.963305, "o", "k"] +[19.977984, "o", "u"] +[19.994656, "o", "b"] +[20.011145, "o", "e"] +[20.029117, "o", "c"] +[20.064634, "o", "t"] +[20.076903, "o", "l"] +[20.090602, "o", " "] +[20.105322, "o", "d"] +[20.12093, "o", "e"] +[20.139018, "o", "l"] +[20.155771, "o", "e"] +[20.173404, "o", "t"] +[20.192159, "o", "e"] +[20.208146, "o", " "] +[20.224669, "o", "d"] +[20.240734, "o", "e"] +[20.258887, "o", "p"] +[20.274012, "o", "l"] +[20.290085, "o", "o"] +[20.308268, "o", "y"] +[20.324824, "o", "m"] +[20.346904, "o", "e"] +[20.366819, "o", "n"] +[20.383164, "o", "t"] +[20.399137, "o", " "] +[20.415945, "o", "a"] +[20.433857, "o", "p"] +[20.451132, "o", "p"] +[20.977281, "o", "\r\n"] +[21.044718, "o", "deployment.apps \"app\" deleted\r\n"] +[21.04895, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[22.058449, "o", "k"] +[22.07802, "o", "w"] +[22.095519, "o", "o"] +[22.113347, "o", "k"] +[22.12972, "o", "c"] +[22.146588, "o", "t"] +[22.162492, "o", "l"] +[22.176766, "o", " "] +[22.189591, "o", "s"] +[22.203917, "o", "c"] +[22.218451, "o", "a"] +[22.233094, "o", "l"] +[22.249435, "o", "e"] +[22.265293, "o", " "] +[22.283496, "o", "n"] +[22.301528, "o", "o"] +[22.319409, "o", "d"] +[22.337017, "o", "e"] +[22.352815, "o", " "] +[22.368373, "o", "-"] +[22.386386, "o", "-"] +[22.403588, "o", "r"] +[22.420857, "o", "e"] +[22.437366, "o", "p"] +[22.455225, "o", "l"] +[22.472888, "o", "i"] +[22.489804, "o", "c"] +[22.506677, "o", "a"] +[22.523082, "o", "s"] +[22.540241, "o", " "] +[22.55718, "o", "0"] +[23.079462, "o", "\r\n"] +[23.112356, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"] +[23.148482, "o", "Deleted resources counter=2 elapsed=22ms resource=nodes replicas=0 name=node cluster=kwok\r\n"] +[23.149773, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[25.16201, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[25.672729, "o", "#"] +[25.702363, "o", " "] +[25.733437, "o", "F"] +[25.763953, "o", "i"] +[25.79437, "o", "n"] +[25.824894, "o", "i"] +[25.852148, "o", "s"] +[25.881319, "o", "h"] +[25.911292, "o", " "] +[25.941189, "o", "t"] +[25.969203, "o", "h"] +[25.999095, "o", "e"] +[26.027074, "o", " "] +[26.054705, "o", "r"] +[26.084858, "o", "e"] +[26.108029, "o", "c"] +[26.134289, "o", "o"] +[26.159284, "o", "r"] +[26.183683, "o", "d"] +[26.208209, "o", "."] +[26.34601, "o", "\r\n"] +[26.346692, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[27.367635, "o", "p"] +[27.385165, "o", "k"] +[27.40409, "o", "i"] +[27.42216, "o", "l"] +[27.439067, "o", "l"] +[27.454632, "o", " "] +[27.471777, "o", "k"] +[27.48921, "o", "w"] +[27.50609, "o", "o"] +[27.521906, "o", "k"] +[27.539053, "o", "c"] +[27.555352, "o", "t"] +[27.571739, "o", "l"] +[28.099097, "o", "\r\n"] +[28.137451, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[30.145985, "o", "\r\n"] +[30.146525, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[30.662833, "o", "#"] +[30.692674, "o", " "] +[30.723958, "o", "R"] +[30.751499, "o", "e"] +[30.786082, "o", "c"] +[30.821467, "o", "r"] +[30.854147, "o", "e"] +[30.886609, "o", "a"] +[30.918334, "o", "t"] +[30.947255, "o", "e"] +[30.977335, "o", " "] +[31.009077, "o", "c"] +[31.039413, "o", "l"] +[31.070562, "o", "u"] +[31.107552, "o", "s"] +[31.137238, "o", "t"] +[31.165438, "o", "e"] +[31.194959, "o", "r"] +[31.228826, "o", "."] +[31.366715, "o", "\r\n"] +[31.36734, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[32.378245, "o", "k"] +[32.40042, "o", "w"] +[32.418215, "o", "o"] +[32.432941, "o", "k"] +[32.449989, "o", "c"] +[32.467007, "o", "t"] +[32.483023, "o", "l"] +[32.499821, "o", " "] +[32.516754, "o", "d"] +[32.532324, "o", "e"] +[32.54954, "o", "l"] +[32.562553, "o", "e"] +[32.577498, "o", "t"] +[32.591383, "o", "e"] +[32.60745, "o", " "] +[32.623061, "o", "c"] +[32.63952, "o", "l"] +[32.655424, "o", "u"] +[32.670468, "o", "s"] +[32.68617, "o", "t"] +[32.702646, "o", "e"] +[32.719411, "o", "r"] +[32.736603, "o", " "] +[32.753531, "o", ">"] +[32.770177, "o", " "] +[32.787218, "o", "/"] +[32.803235, "o", "d"] +[32.81997, "o", "e"] +[32.836801, "o", "v"] +[32.852927, "o", "/"] +[32.867995, "o", "n"] +[32.883679, "o", "u"] +[32.900428, "o", "l"] +[32.91538, "o", "l"] +[32.930645, "o", " "] +[32.947717, "o", "2"] +[32.963854, "o", ">"] +[32.980442, "o", "&"] +[32.996195, "o", "1"] +[33.011669, "o", " "] +[33.027563, "o", "&"] +[33.043454, "o", "&"] +[33.060372, "o", " "] +[33.076896, "o", "k"] +[33.093412, "o", "w"] +[33.109704, "o", "o"] +[33.124347, "o", "k"] +[33.140618, "o", "c"] +[33.157131, "o", "t"] +[33.173559, "o", "l"] +[33.189912, "o", " "] +[33.206392, "o", "c"] +[33.22239, "o", "r"] +[33.238387, "o", "e"] +[33.253127, "o", "a"] +[33.269216, "o", "t"] +[33.284174, "o", "e"] +[33.298987, "o", " "] +[33.313855, "o", "c"] +[33.329627, "o", "l"] +[33.346225, "o", "u"] +[33.362361, "o", "s"] +[33.378096, "o", "t"] +[33.394457, "o", "e"] +[33.410713, "o", "r"] +[33.427369, "o", " "] +[33.444005, "o", ">"] +[33.460492, "o", " "] +[33.47643, "o", "/"] +[33.493085, "o", "d"] +[33.509842, "o", "e"] +[33.52663, "o", "v"] +[33.544014, "o", "/"] +[33.560867, "o", "n"] +[33.577549, "o", "u"] +[33.594637, "o", "l"] +[33.611609, "o", "l"] +[33.628367, "o", " "] +[33.644838, "o", "2"] +[33.661403, "o", ">"] +[33.677857, "o", "&"] +[33.694882, "o", "1"] +[34.220864, "o", "\r\n"] +[36.803616, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[38.811873, "o", "\r\n"] +[38.81236, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[39.32397, "o", "#"] +[39.357009, "o", " "] +[39.391255, "o", "L"] +[39.424781, "o", "e"] +[39.457384, "o", "t"] +[39.491264, "o", "'"] +[39.524, "o", "s"] +[39.554741, "o", " "] +[39.58859, "o", "h"] +[39.621593, "o", "a"] +[39.64926, "o", "v"] +[39.682503, "o", "e"] +[39.715948, "o", " "] +[39.742741, "o", "a"] +[39.77097, "o", " "] +[39.798453, "o", "l"] +[39.825947, "o", "o"] +[39.858727, "o", "o"] +[39.891107, "o", "k"] +[39.927702, "o", " "] +[39.969014, "o", "a"] +[39.995757, "o", "t"] +[40.02241, "o", " "] +[40.052769, "o", "t"] +[40.082524, "o", "h"] +[40.109979, "o", "e"] +[40.140834, "o", " "] +[40.172838, "o", "r"] +[40.20582, "o", "e"] +[40.235971, "o", "s"] +[40.268006, "o", "o"] +[40.293754, "o", "u"] +[40.319512, "o", "r"] +[40.350494, "o", "c"] +[40.377718, "o", "e"] +[40.404573, "o", " "] +[40.437073, "o", "c"] +[40.466308, "o", "h"] +[40.496051, "o", "a"] +[40.528746, "o", "n"] +[40.558144, "o", "g"] +[40.587923, "o", "e"] +[40.620919, "o", "."] +[40.767065, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[41.775134, "o", "k"] +[41.794446, "o", "u"] +[41.812705, "o", "b"] +[41.828144, "o", "e"] +[41.841809, "o", "c"] +[41.859305, "o", "t"] +[41.876581, "o", "l"] +[41.894122, "o", " "] +[41.909264, "o", "g"] +[41.927048, "o", "e"] +[41.941921, "o", "t"] +[41.958908, "o", " "] +[41.974569, "o", "n"] +[41.991281, "o", "o"] +[42.008218, "o", "d"] +[42.024707, "o", "e"] +[42.040809, "o", " "] +[42.058015, "o", "-"] +[42.074138, "o", "-"] +[42.091336, "o", "w"] +[42.106701, "o", "a"] +[42.122786, "o", "t"] +[42.136383, "o", "c"] +[42.152125, "o", "h"] +[42.165515, "o", " "] +[42.18067, "o", "&"] +[42.706033, "o", "\r\n"] +[42.707712, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[43.716589, "o", "k"] +[43.735787, "o", "u"] +[43.754443, "o", "b"] +[43.771468, "o", "e"] +[43.787258, "o", "c"] +[43.802644, "o", "t"] +[43.819154, "o", "l"] +[43.834793, "o", " "] +[43.853174, "o", "g"] +[43.869777, "o", "e"] +[43.886718, "o", "t"] +[43.903437, "o", " "] +[43.921026, "o", "d"] +[43.937836, "o", "e"] +[43.953299, "o", "p"] +[43.970773, "o", "l"] +[43.988166, "o", "o"] +[44.004799, "o", "y"] +[44.020997, "o", "m"] +[44.038403, "o", "e"] +[44.055493, "o", "n"] +[44.071817, "o", "t"] +[44.088525, "o", " "] +[44.104798, "o", "-"] +[44.121767, "o", "-"] +[44.138276, "o", "w"] +[44.154543, "o", "a"] +[44.171308, "o", "t"] +[44.187969, "o", "c"] +[44.20442, "o", "h"] +[44.221285, "o", " "] +[44.238481, "o", "&"] +[44.762541, "o", "\r\n"] +[44.764394, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[45.776295, "o", "k"] +[45.796623, "o", "u"] +[45.811526, "o", "b"] +[45.829654, "o", "e"] +[45.854359, "o", "c"] +[45.870348, "o", "t"] +[45.888322, "o", "l"] +[45.906016, "o", " "] +[45.921951, "o", "g"] +[45.93969, "o", "e"] +[45.956538, "o", "t"] +[45.973191, "o", " "] +[45.990234, "o", "p"] +[46.006775, "o", "o"] +[46.023643, "o", "d"] +[46.040259, "o", " "] +[46.05617, "o", "-"] +[46.07198, "o", "-"] +[46.087022, "o", "w"] +[46.103044, "o", "a"] +[46.115529, "o", "t"] +[46.130044, "o", "c"] +[46.144804, "o", "h"] +[46.159021, "o", " "] +[46.173819, "o", "&"] +[46.700105, "o", "\r\n"] +[46.702139, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[48.713669, "o", "\r\n"] +[48.714766, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[49.228654, "o", "#"] +[49.256725, "o", " "] +[49.284519, "o", "R"] +[49.311569, "o", "e"] +[49.33796, "o", "p"] +[49.364918, "o", "l"] +[49.401863, "o", "a"] +[49.433284, "o", "y"] +[49.463447, "o", " "] +[49.494149, "o", "i"] +[49.525528, "o", "t"] +[49.555477, "o", " "] +[49.585369, "o", "f"] +[49.614953, "o", "r"] +[49.644219, "o", "o"] +[49.672981, "o", "m"] +[49.702171, "o", " "] +[49.731448, "o", "c"] +[49.763128, "o", "l"] +[49.796513, "o", "u"] +[49.828739, "o", "s"] +[49.859106, "o", "t"] +[49.888836, "o", "e"] +[49.919544, "o", "r"] +[49.950147, "o", "."] +[49.98156, "o", "y"] +[50.011114, "o", "a"] +[50.039374, "o", "m"] +[50.071129, "o", "l"] +[50.212441, "o", "\r\n"] +[50.214055, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[51.226075, "o", "k"] +[51.245842, "o", "w"] +[51.263579, "o", "o"] +[51.280692, "o", "k"] +[51.299306, "o", "c"] +[51.314951, "o", "t"] +[51.332379, "o", "l"] +[51.348152, "o", " "] +[51.366224, "o", "s"] +[51.384633, "o", "n"] +[51.401537, "o", "a"] +[51.418402, "o", "p"] +[51.434337, "o", "s"] +[51.450065, "o", "h"] +[51.465965, "o", "o"] +[51.481489, "o", "t"] +[51.495292, "o", " "] +[51.509068, "o", "r"] +[51.524668, "o", "e"] +[51.538684, "o", "p"] +[51.554609, "o", "l"] +[51.570778, "o", "a"] +[51.587475, "o", "y"] +[51.603884, "o", " "] +[51.6206, "o", "-"] +[51.637439, "o", "-"] +[51.654063, "o", "p"] +[51.670267, "o", "a"] +[51.687125, "o", "t"] +[51.704029, "o", "h"] +[51.720626, "o", " "] +[51.73741, "o", "r"] +[51.751967, "o", "e"] +[51.767228, "o", "c"] +[51.781455, "o", "o"] +[51.797253, "o", "r"] +[51.812231, "o", "d"] +[51.828765, "o", "i"] +[51.845315, "o", "n"] +[51.861635, "o", "g"] +[51.878346, "o", "."] +[51.894506, "o", "y"] +[51.911426, "o", "a"] +[51.927992, "o", "m"] +[51.943261, "o", "l"] +[52.469936, "o", "\r\n"] +[53.027783, "o", "Restoring snapshot and replaying cluster=kwok\r\n"] +[53.174607, "o", "Replaying cluster=kwok\r\nPress `Space` key to pause, press `Enter` key to continue cluster=kwok\r\nPress `U` key to speed up, press `D` key to speed down cluster=kwok\r\n"] +[53.174694, "o", "\u001b[0;31mERROR\u001b[0m Failed to get key err=\"error not in terminal\" cluster=kwok\r\n"] +[58.444646, "o", "NAME STATUS ROLES AGE VERSION\r\nnode-000000 Unknown agent 1s \r\n"] +[58.49649, "o", "node-000001 Unknown agent 1s \r\n"] +[58.554804, "o", "node-000000 Unknown agent 1s \r\n"] +[58.557111, "o", "node-000000 Ready agent 1s kwok-v0.5.2\r\n"] +[58.557903, "o", "node-000001 Unknown agent 1s \r\n"] +[58.559586, "o", "node-000001 Ready agent 1s kwok-v0.5.2\r\n"] +[60.948246, "o", "NAME READY UP-TO-DATE AVAILABLE AGE\r\napp 0/3 0 0 1s\r\n"] +[61.038193, "o", "app 0/3 0 0 1s\r\n"] +[61.041907, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-qrw9x 0/1 Pending 0 1s\r\n"] +[61.042629, "o", "app-67f9df97bd-rx54h 0/1 Pending 0 1s\r\n"] +[61.046156, "o", "app-67f9df97bd-xdtth 0/1 Pending 0 1s\r\n"] +[61.087526, "o", "app-67f9df97bd-qrw9x 0/1 Pending 0 1s\r\n"] +[61.08868, "o", "app 0/3 0 0 1s\r\n"] +[61.08943, "o", "app-67f9df97bd-rx54h 0/1 Pending 0 1s\r\n"] +[61.090597, "o", "app-67f9df97bd-xdtth 0/1 Pending 0 1s\r\n"] +[61.111672, "o", "app-67f9df97bd-xdtth 1/1 Running 0 1s\r\n"] +[61.112917, "o", "app-67f9df97bd-qrw9x 1/1 Running 0 1s\r\n"] +[61.113634, "o", "app-67f9df97bd-rx54h 1/1 Running 0 1s\r\n"] +[61.114715, "o", "app 0/3 3 0 1s\r\n"] +[61.116317, "o", "app 2/3 3 2 1s\r\n"] +[61.1177, "o", "app 3/3 3 3 1s\r\n"] +[63.027428, "o", "app 3/3 3 3 3s\r\n"] +[63.057622, "o", "app-67f9df97bd-qrw9x 1/1 Terminating 0 3s\r\n"] +[63.063749, "o", "app-67f9df97bd-xdtth 1/1 Terminating 0 3s\r\n"] +[63.068223, "o", "app-67f9df97bd-rx54h 1/1 Terminating 0 3s\r\n"] +[63.074308, "o", "app-67f9df97bd-qrw9x 1/1 Terminating 0 3s\r\n"] +[63.076222, "o", "app-67f9df97bd-qrw9x 1/1 Terminating 0 3s\r\n"] +[63.078792, "o", "app-67f9df97bd-xdtth 1/1 Terminating 0 3s\r\n"] +[63.080407, "o", "app-67f9df97bd-rx54h 1/1 Terminating 0 3s\r\n"] +[63.081588, "o", "app-67f9df97bd-xdtth 1/1 Terminating 0 3s\r\n"] +[63.082666, "o", "app-67f9df97bd-rx54h 1/1 Terminating 0 3s\r\n"] +[65.126467, "o", "node-000000 Ready agent 8s kwok-v0.5.2\r\n"] +[65.136006, "o", "node-000001 Ready agent 8s kwok-v0.5.2\r\n"] +[70.500028, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[72.505801, "o", "\r\n"] +[72.505943, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[73.01718, "o", "#"] +[73.044581, "o", " "] +[73.0701, "o", "D"] +[73.097361, "o", "e"] +[73.124323, "o", "l"] +[73.151192, "o", "e"] +[73.174565, "o", "t"] +[73.199121, "o", "e"] +[73.222879, "o", " "] +[73.250701, "o", "t"] +[73.279124, "o", "h"] +[73.306683, "o", "e"] +[73.335061, "o", " "] +[73.364544, "o", "c"] +[73.400604, "o", "l"] +[73.426536, "o", "u"] +[73.453103, "o", "s"] +[73.477227, "o", "t"] +[73.504608, "o", "e"] +[73.532261, "o", "r"] +[73.556189, "o", "."] +[73.686613, "o", "\r\n"] +[73.686681, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[74.222387, "r", "86x24"] +[74.69479, "o", "k"] +[74.71114, "o", "w"] +[74.727404, "o", "o"] +[74.749364, "o", "k"] +[74.766328, "o", "c"] +[74.783231, "o", "t"] +[74.799594, "o", "l"] +[74.814603, "o", " "] +[74.830882, "o", "d"] +[74.845244, "o", "e"] +[74.860883, "o", "l"] +[74.874198, "o", "e"] +[74.89061, "o", "t"] +[74.904626, "o", "e"] +[74.920733, "o", " "] +[74.936777, "o", "c"] +[74.950953, "o", "l"] +[74.965701, "o", "u"] +[74.982096, "o", "s"] +[74.996803, "o", "t"] +[75.011963, "o", "e"] +[75.024692, "o", "r"] +[75.543111, "o", "\r\n"] +[75.578447, "o", "Cluster is stopping cluster=kwok\r\n"] +[75.968466, "o", "Cluster is stopped elapsed=0.3s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"] +[76.385833, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"] +[76.386799, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[78.395928, "o", "\r\n"] +[78.396074, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[78.904139, "o", "#"] +[78.932154, "o", " "] +[78.957285, "o", "T"] +[78.984944, "o", "h"] +[79.012511, "o", "a"] +[79.040007, "o", "t"] +[79.065172, "o", "'"] +[79.091594, "o", "s"] +[79.118366, "o", " "] +[79.141384, "o", "a"] +[79.168757, "o", "l"] +[79.196195, "o", "l"] +[79.222889, "o", ","] +[79.245961, "o", " "] +[79.273456, "o", "e"] +[79.301293, "o", "n"] +[79.329487, "o", "j"] +[79.354351, "o", "o"] +[79.379952, "o", "y"] +[79.409102, "o", " "] +[79.43502, "o", "i"] +[79.459522, "o", "t"] +[79.489075, "o", "!"] +[79.58238, "r", "86x24"] +[79.629317, "o", "\r\n"] +[79.629602, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[80.64197, "o", "c"] +[80.661351, "o", "l"] +[80.679371, "o", "e"] +[80.696102, "o", "a"] +[80.713543, "o", "r"] +[81.245445, "o", "\r\n"] +[81.251797, "o", "\u001b[3J\u001b[H\u001b[2J"] diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.demo b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.demo new file mode 100644 index 000000000..72ce8b435 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.demo @@ -0,0 +1,31 @@ +# Let's get started with kwokctl! +kwokctl create cluster + +# Record it to recording.yaml +kwokctl snapshot record --path recording.yaml & + +# Record some change. +kwokctl scale node --replicas 2 +kubectl create deployment app --image=app --replicas=3 +kubectl delete deployment app +kwokctl scale node --replicas 0 + +# Finish the record. +pkill kwokctl + +# Recreate cluster. +kwokctl delete cluster > /dev/null 2>&1 && kwokctl create cluster > /dev/null 2>&1 + +# Let's have a look at the resource change. +kubectl get node --watch & +kubectl get deployment --watch & +kubectl get pod --watch & + +# Replay it from cluster.yaml +kwokctl snapshot replay --path recording.yaml + +# Delete the cluster. +kwokctl delete cluster + +# That's all, enjoy it! +clear diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.svg b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.svg new file mode 100644 index 000000000..0ec77ead3 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.svg @@ -0,0 +1 @@ +~/sigs.k8s.io/kwok$~/sigs.k8s.io/kwok$#~/sigs.k8s.io/kwok$#L~/sigs.k8s.io/kwok$#Le~/sigs.k8s.io/kwok$#Let~/sigs.k8s.io/kwok$#Let'~/sigs.k8s.io/kwok$#Let's~/sigs.k8s.io/kwok$#Let'sget~/sigs.k8s.io/kwok$#Let'sgetstarted~/sigs.k8s.io/kwok$#Let'sgetstartedwith~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl!~/sigs.k8s.io/kwok$k~/sigs.k8s.io/kwok$kw~/sigs.k8s.io/kwok$kwo~/sigs.k8s.io/kwok$kwok~/sigs.k8s.io/kwok$kwokc~/sigs.k8s.io/kwok$kwokct~/sigs.k8s.io/kwok$kwokctl~/sigs.k8s.io/kwok$kwokctlcreate~/sigs.k8s.io/kwok$kwokctlcreateclusterClusteriscreatingcluster=kwokClusteriscreatedelapsed=0.8scluster=kwokClusterisstartingcluster=kwokClusterisstartedelapsed=0.7scluster=kwokYoucannowuseyourclusterwith:kubectlcluster-info--contextkwok-kwokThanksforusingkwok!~/sigs.k8s.io/kwok$#R~/sigs.k8s.io/kwok$#Re~/sigs.k8s.io/kwok$#Rec~/sigs.k8s.io/kwok$#Reco~/sigs.k8s.io/kwok$#Recor~/sigs.k8s.io/kwok$#Record~/sigs.k8s.io/kwok$#Recordit~/sigs.k8s.io/kwok$#Recorditto~/sigs.k8s.io/kwok$#Recordittorecording.yaml~/sigs.k8s.io/kwok$kwokctls~/sigs.k8s.io/kwok$kwokctlsn~/sigs.k8s.io/kwok$kwokctlsna~/sigs.k8s.io/kwok$kwokctlsnap~/sigs.k8s.io/kwok$kwokctlsnaps~/sigs.k8s.io/kwok$kwokctlsnapsh~/sigs.k8s.io/kwok$kwokctlsnapsho~/sigs.k8s.io/kwok$kwokctlsnapshot~/sigs.k8s.io/kwok$kwokctlsnapshotr~/sigs.k8s.io/kwok$kwokctlsnapshotre~/sigs.k8s.io/kwok$kwokctlsnapshotrecord~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--path~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.yaml~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.yaml&~/sigs.k8s.io/kwok$Savingsnapshotandrecordingcluster=kwokRecordingcluster=kwokPressCtrl+Ctostoprecordingresourcescluster=kwok~/sigs.k8s.io/kwok$#Recordsome~/sigs.k8s.io/kwok$#Recordsomechange.~/sigs.k8s.io/kwok$kwokctlsc~/sigs.k8s.io/kwok$kwokctlsca~/sigs.k8s.io/kwok$kwokctlscal~/sigs.k8s.io/kwok$kwokctlscale~/sigs.k8s.io/kwok$kwokctlscalen~/sigs.k8s.io/kwok$kwokctlscaleno~/sigs.k8s.io/kwok$kwokctlscalenod~/sigs.k8s.io/kwok$kwokctlscalenode~/sigs.k8s.io/kwok$kwokctlscalenode-~/sigs.k8s.io/kwok$kwokctlscalenode--~/sigs.k8s.io/kwok$kwokctlscalenode--r~/sigs.k8s.io/kwok$kwokctlscalenode--re~/sigs.k8s.io/kwok$kwokctlscalenode--rep~/sigs.k8s.io/kwok$kwokctlscalenode--repl~/sigs.k8s.io/kwok$kwokctlscalenode--repli~/sigs.k8s.io/kwok$kwokctlscalenode--replic~/sigs.k8s.io/kwok$kwokctlscalenode--replica~/sigs.k8s.io/kwok$kwokctlscalenode--replicas~/sigs.k8s.io/kwok$kwokctlscalenode--replicas2Noresourcefound,usedefaultresourceresource=nodecluster=kwokLoadresourcescounter=2elapsed=27msresource=nodesreplicas=2name=nodecluster=kwok~/sigs.k8s.io/kwok$ku~/sigs.k8s.io/kwok$kub~/sigs.k8s.io/kwok$kube~/sigs.k8s.io/kwok$kubec~/sigs.k8s.io/kwok$kubect~/sigs.k8s.io/kwok$kubectl~/sigs.k8s.io/kwok$kubectlcreate~/sigs.k8s.io/kwok$kubectlcreatedeployment~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=3deployment.apps/appcreated~/sigs.k8s.io/kwok$kubectldelete~/sigs.k8s.io/kwok$kubectldeletedeployment~/sigs.k8s.io/kwok$kubectldeletedeploymentappdeployment.apps"app"deleted~/sigs.k8s.io/kwok$kwokctlscalenode--replicas0Deletedresourcescounter=2elapsed=22msresource=nodesreplicas=0name=nodecluster=kwok~/sigs.k8s.io/kwok$#Finish~/sigs.k8s.io/kwok$#Finishthe~/sigs.k8s.io/kwok$#Finishtherecord.~/sigs.k8s.io/kwok$pkill~/sigs.k8s.io/kwok$pkillkwokctl~/sigs.k8s.io/kwok$#Recreate~/sigs.k8s.io/kwok$#Recreatecluster.~/sigs.k8s.io/kwok$kwokctld~/sigs.k8s.io/kwok$kwokctlde~/sigs.k8s.io/kwok$kwokctldel~/sigs.k8s.io/kwok$kwokctldele~/sigs.k8s.io/kwok$kwokctldelet~/sigs.k8s.io/kwok$kwokctldelete~/sigs.k8s.io/kwok$kwokctldeletec~/sigs.k8s.io/kwok$kwokctldeletecl~/sigs.k8s.io/kwok$kwokctldeleteclu~/sigs.k8s.io/kwok$kwokctldeleteclus~/sigs.k8s.io/kwok$kwokctldeleteclust~/sigs.k8s.io/kwok$kwokctldeletecluste~/sigs.k8s.io/kwok$kwokctldeletecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreate~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluster>>/dev/null>/dev/null2>&1~/sigs.k8s.io/kwok$#Let'shave~/sigs.k8s.io/kwok$#Let'shavea~/sigs.k8s.io/kwok$#Let'shavealook~/sigs.k8s.io/kwok$#Let'shavealookat~/sigs.k8s.io/kwok$#Let'shavealookatthe~/sigs.k8s.io/kwok$#Let'shavealookattheresource~/sigs.k8s.io/kwok$#Let'shavealookattheresourcechange.~/sigs.k8s.io/kwok$kubectlg~/sigs.k8s.io/kwok$kubectlge~/sigs.k8s.io/kwok$kubectlget~/sigs.k8s.io/kwok$kubectlgetnode~/sigs.k8s.io/kwok$kubectlgetnode--watch~/sigs.k8s.io/kwok$kubectlgetnode--watch&~/sigs.k8s.io/kwok$kubectlgetdeployment~/sigs.k8s.io/kwok$kubectlgetdeployment--watch~/sigs.k8s.io/kwok$kubectlgetdeployment--watch&~/sigs.k8s.io/kwok$kubectlgetpod~/sigs.k8s.io/kwok$kubectlgetpod--watch~/sigs.k8s.io/kwok$kubectlgetpod--watch&~/sigs.k8s.io/kwok$#Replay~/sigs.k8s.io/kwok$#Replayit~/sigs.k8s.io/kwok$#Replayitfrom~/sigs.k8s.io/kwok$#Replayitfromcluster.yaml~/sigs.k8s.io/kwok$kwokctlsnapshotreplay~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--path~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.yamlRestoringsnapshotandreplayingcluster=kwokReplayingcluster=kwokPress`Space`keytopause,press`Enter`keytocontinuecluster=kwokPress`U`keytospeedup,press`D`keytospeeddowncluster=kwokERRORFailedtogetkeyerr="errornotinterminal"cluster=kwokNAMESTATUSROLESAGEVERSIONnode-000000Unknownagent1snode-000001Unknownagent1snode-000000Readyagent1skwok-v0.5.2node-000001Readyagent1skwok-v0.5.2NAMEREADYUP-TO-DATEAVAILABLEAGEapp0/3001sNAMEREADYSTATUSRESTARTSAGEapp-67f9df97bd-qrw9x0/1Pending01sapp-67f9df97bd-rx54h0/1Pending01sapp-67f9df97bd-xdtth0/1Pending01sapp-67f9df97bd-xdtth1/1Running01sapp-67f9df97bd-qrw9x1/1Running01sapp-67f9df97bd-rx54h1/1Running01sapp0/3301sapp2/3321sapp3/3331sapp3/3333sapp-67f9df97bd-qrw9x1/1Terminating03sapp-67f9df97bd-xdtth1/1Terminating03sapp-67f9df97bd-rx54h1/1Terminating03snode-000000Readyagent8skwok-v0.5.2node-000001Readyagent8skwok-v0.5.2~/sigs.k8s.io/kwok$#Delete~/sigs.k8s.io/kwok$#Deletethe~/sigs.k8s.io/kwok$#Deletethecluster.Clusterisstoppingcluster=kwokClusterisstoppedelapsed=0.3scluster=kwokClusterisdeletingcluster=kwokClusterisdeletedelapsed=0.4scluster=kwok~/sigs.k8s.io/kwok$#That's~/sigs.k8s.io/kwok$#That'sall,~/sigs.k8s.io/kwok$#That'sall,enjoy~/sigs.k8s.io/kwok$#That'sall,enjoyit!~/sigs.k8s.io/kwok$clear~/sigs.k8s.io/kwok$#Let'sg~/sigs.k8s.io/kwok$#Let'sge~/sigs.k8s.io/kwok$#Let'sgets~/sigs.k8s.io/kwok$#Let'sgetst~/sigs.k8s.io/kwok$#Let'sgetsta~/sigs.k8s.io/kwok$#Let'sgetstar~/sigs.k8s.io/kwok$#Let'sgetstart~/sigs.k8s.io/kwok$#Let'sgetstarte~/sigs.k8s.io/kwok$#Let'sgetstartedw~/sigs.k8s.io/kwok$#Let'sgetstartedwi~/sigs.k8s.io/kwok$#Let'sgetstartedwit~/sigs.k8s.io/kwok$#Let'sgetstartedwithk~/sigs.k8s.io/kwok$#Let'sgetstartedwithkw~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl~/sigs.k8s.io/kwok$kwokctlc~/sigs.k8s.io/kwok$kwokctlcr~/sigs.k8s.io/kwok$kwokctlcre~/sigs.k8s.io/kwok$kwokctlcrea~/sigs.k8s.io/kwok$kwokctlcreat~/sigs.k8s.io/kwok$kwokctlcreatec~/sigs.k8s.io/kwok$kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctlcreatecluste~/sigs.k8s.io/kwok$#Recordi~/sigs.k8s.io/kwok$#Recorditt~/sigs.k8s.io/kwok$#Recordittor~/sigs.k8s.io/kwok$#Recordittore~/sigs.k8s.io/kwok$#Recordittorec~/sigs.k8s.io/kwok$#Recordittoreco~/sigs.k8s.io/kwok$#Recordittorecor~/sigs.k8s.io/kwok$#Recordittorecord~/sigs.k8s.io/kwok$#Recordittorecordi~/sigs.k8s.io/kwok$#Recordittorecordin~/sigs.k8s.io/kwok$#Recordittorecording~/sigs.k8s.io/kwok$#Recordittorecording.~/sigs.k8s.io/kwok$#Recordittorecording.y~/sigs.k8s.io/kwok$#Recordittorecording.ya~/sigs.k8s.io/kwok$#Recordittorecording.yam~/sigs.k8s.io/kwok$kwokctlsnapshotrec~/sigs.k8s.io/kwok$kwokctlsnapshotreco~/sigs.k8s.io/kwok$kwokctlsnapshotrecor~/sigs.k8s.io/kwok$kwokctlsnapshotrecord-~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--p~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pa~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pat~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathr~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathre~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrec~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathreco~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecor~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecord~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecordi~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecordin~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.y~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.ya~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.yam~/sigs.k8s.io/kwok$#Records~/sigs.k8s.io/kwok$#Recordso~/sigs.k8s.io/kwok$#Recordsom~/sigs.k8s.io/kwok$#Recordsomec~/sigs.k8s.io/kwok$#Recordsomech~/sigs.k8s.io/kwok$#Recordsomecha~/sigs.k8s.io/kwok$#Recordsomechan~/sigs.k8s.io/kwok$#Recordsomechang~/sigs.k8s.io/kwok$#Recordsomechange~/sigs.k8s.io/kwok$kubectlc~/sigs.k8s.io/kwok$kubectlcr~/sigs.k8s.io/kwok$kubectlcre~/sigs.k8s.io/kwok$kubectlcrea~/sigs.k8s.io/kwok$kubectlcreat~/sigs.k8s.io/kwok$kubectlcreated~/sigs.k8s.io/kwok$kubectlcreatede~/sigs.k8s.io/kwok$kubectlcreatedep~/sigs.k8s.io/kwok$kubectlcreatedepl~/sigs.k8s.io/kwok$kubectlcreatedeplo~/sigs.k8s.io/kwok$kubectlcreatedeploy~/sigs.k8s.io/kwok$kubectlcreatedeploym~/sigs.k8s.io/kwok$kubectlcreatedeployme~/sigs.k8s.io/kwok$kubectlcreatedeploymen~/sigs.k8s.io/kwok$kubectlcreatedeploymenta~/sigs.k8s.io/kwok$kubectlcreatedeploymentap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--i~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--im~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--ima~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--imag~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=a~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=ap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--r~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--re~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--rep~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repl~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repli~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replic~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replica~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=~/sigs.k8s.io/kwok$kubectld~/sigs.k8s.io/kwok$kubectlde~/sigs.k8s.io/kwok$kubectldel~/sigs.k8s.io/kwok$kubectldele~/sigs.k8s.io/kwok$kubectldelet~/sigs.k8s.io/kwok$kubectldeleted~/sigs.k8s.io/kwok$kubectldeletede~/sigs.k8s.io/kwok$kubectldeletedep~/sigs.k8s.io/kwok$kubectldeletedepl~/sigs.k8s.io/kwok$kubectldeletedeplo~/sigs.k8s.io/kwok$kubectldeletedeploy~/sigs.k8s.io/kwok$kubectldeletedeploym~/sigs.k8s.io/kwok$kubectldeletedeployme~/sigs.k8s.io/kwok$kubectldeletedeploymen~/sigs.k8s.io/kwok$kubectldeletedeploymenta~/sigs.k8s.io/kwok$kubectldeletedeploymentap~/sigs.k8s.io/kwok$#F~/sigs.k8s.io/kwok$#Fi~/sigs.k8s.io/kwok$#Fin~/sigs.k8s.io/kwok$#Fini~/sigs.k8s.io/kwok$#Finis~/sigs.k8s.io/kwok$#Finisht~/sigs.k8s.io/kwok$#Finishth~/sigs.k8s.io/kwok$#Finishther~/sigs.k8s.io/kwok$#Finishthere~/sigs.k8s.io/kwok$#Finishtherec~/sigs.k8s.io/kwok$#Finishthereco~/sigs.k8s.io/kwok$#Finishtherecor~/sigs.k8s.io/kwok$#Finishtherecord~/sigs.k8s.io/kwok$p~/sigs.k8s.io/kwok$pk~/sigs.k8s.io/kwok$pki~/sigs.k8s.io/kwok$pkil~/sigs.k8s.io/kwok$pkillk~/sigs.k8s.io/kwok$pkillkw~/sigs.k8s.io/kwok$pkillkwo~/sigs.k8s.io/kwok$pkillkwok~/sigs.k8s.io/kwok$pkillkwokc~/sigs.k8s.io/kwok$pkillkwokct~/sigs.k8s.io/kwok$#Recr~/sigs.k8s.io/kwok$#Recre~/sigs.k8s.io/kwok$#Recrea~/sigs.k8s.io/kwok$#Recreat~/sigs.k8s.io/kwok$#Recreatec~/sigs.k8s.io/kwok$#Recreatecl~/sigs.k8s.io/kwok$#Recreateclu~/sigs.k8s.io/kwok$#Recreateclus~/sigs.k8s.io/kwok$#Recreateclust~/sigs.k8s.io/kwok$#Recreatecluste~/sigs.k8s.io/kwok$#Recreatecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>/~/sigs.k8s.io/kwok$kwokctldeletecluster>/d~/sigs.k8s.io/kwok$kwokctldeletecluster>/de~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/n~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nul~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&k~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kw~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwo~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwok~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokct~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcr~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcre~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcrea~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreat~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatec~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluste>/>/d>/de>/dev>/dev/>/dev/n>/dev/nu>/dev/nul>/dev/null2>/dev/null2>>/dev/null2>&~/sigs.k8s.io/kwok$#Let'sh~/sigs.k8s.io/kwok$#Let'sha~/sigs.k8s.io/kwok$#Let'shav~/sigs.k8s.io/kwok$#Let'shaveal~/sigs.k8s.io/kwok$#Let'shavealo~/sigs.k8s.io/kwok$#Let'shavealoo~/sigs.k8s.io/kwok$#Let'shavealooka~/sigs.k8s.io/kwok$#Let'shavealookatt~/sigs.k8s.io/kwok$#Let'shavealookatth~/sigs.k8s.io/kwok$#Let'shavealookatther~/sigs.k8s.io/kwok$#Let'shavealookatthere~/sigs.k8s.io/kwok$#Let'shavealookattheres~/sigs.k8s.io/kwok$#Let'shavealookatthereso~/sigs.k8s.io/kwok$#Let'shavealookattheresou~/sigs.k8s.io/kwok$#Let'shavealookattheresour~/sigs.k8s.io/kwok$#Let'shavealookattheresourc~/sigs.k8s.io/kwok$#Let'shavealookattheresourcec~/sigs.k8s.io/kwok$#Let'shavealookattheresourcech~/sigs.k8s.io/kwok$#Let'shavealookattheresourcecha~/sigs.k8s.io/kwok$#Let'shavealookattheresourcechan~/sigs.k8s.io/kwok$#Let'shavealookattheresourcechang~/sigs.k8s.io/kwok$#Let'shavealookattheresourcechange~/sigs.k8s.io/kwok$kubectlgetn~/sigs.k8s.io/kwok$kubectlgetno~/sigs.k8s.io/kwok$kubectlgetnod~/sigs.k8s.io/kwok$kubectlgetnode-~/sigs.k8s.io/kwok$kubectlgetnode--~/sigs.k8s.io/kwok$kubectlgetnode--w~/sigs.k8s.io/kwok$kubectlgetnode--wa~/sigs.k8s.io/kwok$kubectlgetnode--wat~/sigs.k8s.io/kwok$kubectlgetnode--watc~/sigs.k8s.io/kwok$kubectlgetd~/sigs.k8s.io/kwok$kubectlgetde~/sigs.k8s.io/kwok$kubectlgetdep~/sigs.k8s.io/kwok$kubectlgetdepl~/sigs.k8s.io/kwok$kubectlgetdeplo~/sigs.k8s.io/kwok$kubectlgetdeploy~/sigs.k8s.io/kwok$kubectlgetdeploym~/sigs.k8s.io/kwok$kubectlgetdeployme~/sigs.k8s.io/kwok$kubectlgetdeploymen~/sigs.k8s.io/kwok$kubectlgetdeployment-~/sigs.k8s.io/kwok$kubectlgetdeployment--~/sigs.k8s.io/kwok$kubectlgetdeployment--w~/sigs.k8s.io/kwok$kubectlgetdeployment--wa~/sigs.k8s.io/kwok$kubectlgetdeployment--wat~/sigs.k8s.io/kwok$kubectlgetdeployment--watc~/sigs.k8s.io/kwok$kubectlgetp~/sigs.k8s.io/kwok$kubectlgetpo~/sigs.k8s.io/kwok$kubectlgetpod-~/sigs.k8s.io/kwok$kubectlgetpod--~/sigs.k8s.io/kwok$kubectlgetpod--w~/sigs.k8s.io/kwok$kubectlgetpod--wa~/sigs.k8s.io/kwok$kubectlgetpod--wat~/sigs.k8s.io/kwok$kubectlgetpod--watc~/sigs.k8s.io/kwok$#Rep~/sigs.k8s.io/kwok$#Repl~/sigs.k8s.io/kwok$#Repla~/sigs.k8s.io/kwok$#Replayi~/sigs.k8s.io/kwok$#Replayitf~/sigs.k8s.io/kwok$#Replayitfr~/sigs.k8s.io/kwok$#Replayitfro~/sigs.k8s.io/kwok$#Replayitfromc~/sigs.k8s.io/kwok$#Replayitfromcl~/sigs.k8s.io/kwok$#Replayitfromclu~/sigs.k8s.io/kwok$#Replayitfromclus~/sigs.k8s.io/kwok$#Replayitfromclust~/sigs.k8s.io/kwok$#Replayitfromcluste~/sigs.k8s.io/kwok$#Replayitfromcluster~/sigs.k8s.io/kwok$#Replayitfromcluster.~/sigs.k8s.io/kwok$#Replayitfromcluster.y~/sigs.k8s.io/kwok$#Replayitfromcluster.ya~/sigs.k8s.io/kwok$#Replayitfromcluster.yam~/sigs.k8s.io/kwok$kwokctlsnapshotrep~/sigs.k8s.io/kwok$kwokctlsnapshotrepl~/sigs.k8s.io/kwok$kwokctlsnapshotrepla~/sigs.k8s.io/kwok$kwokctlsnapshotreplay-~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--p~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pa~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pat~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathr~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathre~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrec~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathreco~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecor~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecord~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecordi~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecordin~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.y~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.ya~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.yam~/sigs.k8s.io/kwok$#D~/sigs.k8s.io/kwok$#De~/sigs.k8s.io/kwok$#Del~/sigs.k8s.io/kwok$#Dele~/sigs.k8s.io/kwok$#Delet~/sigs.k8s.io/kwok$#Deletet~/sigs.k8s.io/kwok$#Deleteth~/sigs.k8s.io/kwok$#Deletethec~/sigs.k8s.io/kwok$#Deletethecl~/sigs.k8s.io/kwok$#Deletetheclu~/sigs.k8s.io/kwok$#Deletetheclus~/sigs.k8s.io/kwok$#Deletetheclust~/sigs.k8s.io/kwok$#Deletethecluste~/sigs.k8s.io/kwok$#Deletethecluster~/sigs.k8s.io/kwok$#T~/sigs.k8s.io/kwok$#Th~/sigs.k8s.io/kwok$#Tha~/sigs.k8s.io/kwok$#That~/sigs.k8s.io/kwok$#That'~/sigs.k8s.io/kwok$#That'sa~/sigs.k8s.io/kwok$#That'sal~/sigs.k8s.io/kwok$#That'sall~/sigs.k8s.io/kwok$#That'sall,e~/sigs.k8s.io/kwok$#That'sall,en~/sigs.k8s.io/kwok$#That'sall,enj~/sigs.k8s.io/kwok$#That'sall,enjo~/sigs.k8s.io/kwok$#That'sall,enjoyi~/sigs.k8s.io/kwok$#That'sall,enjoyit~/sigs.k8s.io/kwok$c~/sigs.k8s.io/kwok$cl~/sigs.k8s.io/kwok$cle~/sigs.k8s.io/kwok$clea \ No newline at end of file diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.cast b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.cast new file mode 100644 index 000000000..19075e768 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.cast @@ -0,0 +1,700 @@ +{"version": 2, "width": 86, "height": 24, "timestamp": 1716532309, "env": {}} +[0.009372, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[0.5194, "o", "#"] +[0.554053, "o", " "] +[0.582561, "o", "L"] +[0.615293, "o", "e"] +[0.644064, "o", "t"] +[0.669459, "o", "'"] +[0.699394, "o", "s"] +[0.730089, "o", " "] +[0.760406, "o", "g"] +[0.79086, "o", "e"] +[0.821045, "o", "t"] +[0.846163, "o", " "] +[0.874368, "o", "s"] +[0.902693, "o", "t"] +[0.931635, "o", "a"] +[0.961048, "o", "r"] +[0.990475, "o", "t"] +[1.01726, "o", "e"] +[1.046528, "o", "d"] +[1.072865, "o", " "] +[1.102898, "o", "w"] +[1.129795, "o", "i"] +[1.159525, "o", "t"] +[1.188756, "o", "h"] +[1.218724, "o", " "] +[1.244455, "o", "k"] +[1.274496, "o", "w"] +[1.304629, "o", "o"] +[1.334556, "o", "k"] +[1.364033, "o", "c"] +[1.394478, "o", "t"] +[1.424187, "o", "l"] +[1.453567, "o", "!"] +[1.59416, "o", "\r\n"] +[1.594622, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[2.605653, "o", "k"] +[2.626075, "o", "w"] +[2.643281, "o", "o"] +[2.660551, "o", "k"] +[2.678105, "o", "c"] +[2.695004, "o", "t"] +[2.711416, "o", "l"] +[2.727694, "o", " "] +[2.744955, "o", "c"] +[2.762472, "o", "r"] +[2.779381, "o", "e"] +[2.795773, "o", "a"] +[2.812656, "o", "t"] +[2.829885, "o", "e"] +[2.846692, "o", " "] +[2.863567, "o", "c"] +[2.877683, "o", "l"] +[2.894033, "o", "u"] +[2.90982, "o", "s"] +[2.923799, "o", "t"] +[2.939348, "o", "e"] +[2.955858, "o", "r"] +[3.477622, "o", "\r\n"] +[3.543753, "o", "Cluster is creating cluster=kwok\r\n"] +[4.489056, "o", "Cluster is created elapsed=0.9s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"] +[5.081725, "o", "Cluster is started elapsed=0.5s cluster=kwok\r\n"] +[5.081776, "o", "You can now use your cluster with:\r\n\r\n\tkubectl cluster-info --context kwok-kwok\r\n\r\nThanks for using kwok!\r\n"] +[5.082645, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.086315, "o", "\r\n"] +[7.086758, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.597104, "o", "#"] +[7.628907, "o", " "] +[7.660713, "o", "C"] +[7.691709, "o", "r"] +[7.721352, "o", "e"] +[7.751922, "o", "a"] +[7.779501, "o", "t"] +[7.806723, "o", "e"] +[7.834482, "o", " "] +[7.864902, "o", "t"] +[7.89027, "o", "h"] +[7.919428, "o", "e"] +[7.946434, "o", " "] +[7.976585, "o", "n"] +[8.006237, "o", "o"] +[8.034407, "o", "d"] +[8.059593, "o", "e"] +[8.08557, "o", "s"] +[8.111435, "o", "."] +[8.245309, "o", "\r\n"] +[8.24577, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[9.255899, "o", "k"] +[9.27674, "o", "w"] +[9.293205, "o", "o"] +[9.309483, "o", "k"] +[9.32712, "o", "c"] +[9.344544, "o", "t"] +[9.361885, "o", "l"] +[9.37814, "o", " "] +[9.39387, "o", "s"] +[9.410069, "o", "c"] +[9.423182, "o", "a"] +[9.437976, "o", "l"] +[9.452191, "o", "e"] +[9.466607, "o", " "] +[9.480935, "o", "n"] +[9.495367, "o", "o"] +[9.511596, "o", "d"] +[9.528195, "o", "e"] +[9.546507, "o", " "] +[9.561795, "o", "-"] +[9.579726, "o", "-"] +[9.595391, "o", "r"] +[9.612737, "o", "e"] +[9.631366, "o", "p"] +[9.648692, "o", "l"] +[9.664612, "o", "i"] +[9.681829, "o", "c"] +[9.699206, "o", "a"] +[9.716223, "o", "s"] +[9.732608, "o", " "] +[9.747665, "o", "2"] +[10.273857, "o", "\r\n"] +[10.311, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"] +[10.339267, "o", "Load resources counter=2 elapsed=7ms resource=nodes replicas=2 name=node cluster=kwok\r\n"] +[10.340362, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[12.349512, "o", "\r\n"] +[12.349967, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[12.857106, "o", "#"] +[12.887278, "o", " "] +[12.913442, "o", "A"] +[12.940226, "o", "p"] +[12.969024, "o", "p"] +[13.000407, "o", "l"] +[13.027624, "o", "y"] +[13.060968, "o", " "] +[13.091887, "o", "a"] +[13.125695, "o", " "] +[13.153533, "o", "d"] +[13.181341, "o", "e"] +[13.211695, "o", "p"] +[13.240706, "o", "l"] +[13.271417, "o", "o"] +[13.297956, "o", "y"] +[13.323442, "o", "m"] +[13.349958, "o", "e"] +[13.376573, "o", "n"] +[13.401029, "o", "t"] +[13.424921, "o", "."] +[13.557704, "o", "\r\n"] +[13.558782, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[14.567989, "o", "k"] +[14.586207, "o", "u"] +[14.600774, "o", "b"] +[14.620297, "o", "e"] +[14.637117, "o", "c"] +[14.655631, "o", "t"] +[14.67284, "o", "l"] +[14.690911, "o", " "] +[14.707684, "o", "c"] +[14.724411, "o", "r"] +[14.742435, "o", "e"] +[14.759382, "o", "a"] +[14.775376, "o", "t"] +[14.792426, "o", "e"] +[14.809079, "o", " "] +[14.826122, "o", "d"] +[14.841408, "o", "e"] +[14.854859, "o", "p"] +[14.86959, "o", "l"] +[14.884103, "o", "o"] +[14.898794, "o", "y"] +[14.912297, "o", "m"] +[14.926983, "o", "e"] +[14.941702, "o", "n"] +[14.956322, "o", "t"] +[14.97046, "o", " "] +[14.985167, "o", "a"] +[14.99969, "o", "p"] +[15.011842, "o", "p"] +[15.026624, "o", " "] +[15.041408, "o", "-"] +[15.054161, "o", "-"] +[15.068842, "o", "i"] +[15.082995, "o", "m"] +[15.096822, "o", "a"] +[15.111855, "o", "g"] +[15.126989, "o", "e"] +[15.14187, "o", "="] +[15.157295, "o", "a"] +[15.172727, "o", "p"] +[15.187475, "o", "p"] +[15.203373, "o", " "] +[15.219611, "o", "-"] +[15.236024, "o", "-"] +[15.252075, "o", "r"] +[15.26846, "o", "e"] +[15.284798, "o", "p"] +[15.299826, "o", "l"] +[15.315614, "o", "i"] +[15.33177, "o", "c"] +[15.346562, "o", "a"] +[15.362888, "o", "s"] +[15.379252, "o", "="] +[15.396345, "o", "3"] +[15.915054, "o", "\r\n"] +[15.991396, "o", "deployment.apps/app created\r\n"] +[15.992396, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[18.001671, "o", "\r\n"] +[18.002796, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[18.514891, "o", "#"] +[18.545626, "o", " "] +[18.575236, "o", "L"] +[18.603999, "o", "e"] +[18.629702, "o", "t"] +[18.657801, "o", "'"] +[18.687132, "o", "s"] +[18.71547, "o", " "] +[18.74431, "o", "h"] +[18.774532, "o", "a"] +[18.803681, "o", "v"] +[18.833624, "o", "e"] +[18.867494, "o", " "] +[18.894151, "o", "a"] +[18.925372, "o", " "] +[18.956681, "o", "l"] +[18.988172, "o", "o"] +[19.01819, "o", "o"] +[19.046296, "o", "k"] +[19.074639, "o", " "] +[19.104115, "o", "a"] +[19.134203, "o", "t"] +[19.164616, "o", " "] +[19.195494, "o", "t"] +[19.22574, "o", "h"] +[19.262521, "o", "e"] +[19.291584, "o", " "] +[19.322153, "o", "p"] +[19.354613, "o", "o"] +[19.383763, "o", "d"] +[19.416565, "o", " "] +[19.444144, "o", "n"] +[19.474089, "o", "a"] +[19.505312, "o", "m"] +[19.535702, "o", "e"] +[19.567649, "o", "."] +[19.702517, "o", "\r\n"] +[19.70424, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[20.716935, "o", "k"] +[20.735959, "o", "u"] +[20.753334, "o", "b"] +[20.770382, "o", "e"] +[20.788081, "o", "c"] +[20.805005, "o", "t"] +[20.81812, "o", "l"] +[20.832469, "o", " "] +[20.845322, "o", "g"] +[20.860399, "o", "e"] +[20.876919, "o", "t"] +[20.893647, "o", " "] +[20.908547, "o", "p"] +[20.924357, "o", "o"] +[20.940954, "o", "d"] +[21.469545, "o", "\r\n"] +[21.544887, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-428l4 1/1 Running 0 6s\r\napp-67f9df97bd-6px2x 1/1 Running 0 6s\r\napp-67f9df97bd-nwdzs"] +[21.544964, "o", " 1/1 Running 0 6s\r\n"] +[21.545858, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[23.550809, "o", "\r\n"] +[23.550903, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[24.062608, "o", "#"] +[24.096428, "o", " "] +[24.124413, "o", "S"] +[24.154137, "o", "a"] +[24.180069, "o", "v"] +[24.208306, "o", "e"] +[24.237774, "o", " "] +[24.266714, "o", "i"] +[24.297053, "o", "t"] +[24.321891, "o", " "] +[24.351516, "o", "t"] +[24.379781, "o", "o"] +[24.40633, "o", " "] +[24.436076, "o", "c"] +[24.463698, "o", "l"] +[24.494485, "o", "u"] +[24.525035, "o", "s"] +[24.550046, "o", "t"] +[24.580657, "o", "e"] +[24.60742, "o", "r"] +[24.633848, "o", "."] +[24.663846, "o", "y"] +[24.694194, "o", "a"] +[24.721783, "o", "m"] +[24.749738, "o", "l"] +[24.881613, "o", "\r\n"] +[24.881938, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[25.894724, "o", "k"] +[25.917504, "o", "w"] +[25.933767, "o", "o"] +[25.950243, "o", "k"] +[25.96523, "o", "c"] +[25.981881, "o", "t"] +[25.999015, "o", "l"] +[26.016428, "o", " "] +[26.033492, "o", "s"] +[26.049965, "o", "n"] +[26.065904, "o", "a"] +[26.082647, "o", "p"] +[26.098817, "o", "s"] +[26.115135, "o", "h"] +[26.13208, "o", "o"] +[26.148809, "o", "t"] +[26.165435, "o", " "] +[26.18215, "o", "r"] +[26.199159, "o", "e"] +[26.216211, "o", "c"] +[26.23311, "o", "o"] +[26.250449, "o", "r"] +[26.265073, "o", "d"] +[26.28185, "o", " "] +[26.2965, "o", "-"] +[26.313321, "o", "-"] +[26.330044, "o", "s"] +[26.345876, "o", "n"] +[26.363023, "o", "a"] +[26.379499, "o", "p"] +[26.395776, "o", "s"] +[26.412351, "o", "h"] +[26.428729, "o", "o"] +[26.445436, "o", "t"] +[26.461139, "o", " "] +[26.477302, "o", "-"] +[26.491408, "o", "-"] +[26.506848, "o", "p"] +[26.522723, "o", "a"] +[26.539093, "o", "t"] +[26.553007, "o", "h"] +[26.568172, "o", " "] +[26.583784, "o", "c"] +[26.59979, "o", "l"] +[26.615889, "o", "u"] +[26.631112, "o", "s"] +[26.646281, "o", "t"] +[26.661691, "o", "e"] +[26.67719, "o", "r"] +[26.692748, "o", "."] +[26.708129, "o", "y"] +[26.723236, "o", "a"] +[26.738619, "o", "m"] +[26.754469, "o", "l"] +[27.274191, "o", "\r\n"] +[27.299826, "o", "Saving snapshot cluster=kwok\r\n"] +[27.354529, "o", "Saved snapshot cluster=kwok\r\n"] +[27.355615, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[29.359005, "o", "\r\n"] +[29.359494, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[29.880074, "o", "#"] +[29.925887, "o", " "] +[29.960316, "o", "R"] +[29.996259, "o", "e"] +[30.030358, "o", "c"] +[30.062438, "o", "r"] +[30.099303, "o", "e"] +[30.139619, "o", "a"] +[30.17452, "o", "t"] +[30.214665, "o", "e"] +[30.257581, "o", " "] +[30.314405, "o", "c"] +[30.355912, "o", "l"] +[30.40842, "o", "u"] +[30.446651, "o", "s"] +[30.483067, "o", "t"] +[30.511084, "o", "e"] +[30.540138, "o", "r"] +[30.573218, "o", "."] +[30.72528, "o", "\r\n"] +[30.726267, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[31.737407, "o", "k"] +[31.769692, "o", "w"] +[31.784363, "o", "o"] +[31.797516, "o", "k"] +[31.811849, "o", "c"] +[31.829277, "o", "t"] +[31.848502, "o", "l"] +[31.874193, "o", " "] +[31.895605, "o", "d"] +[31.912827, "o", "e"] +[31.934594, "o", "l"] +[31.962754, "o", "e"] +[31.982534, "o", "t"] +[32.009458, "o", "e"] +[32.037503, "o", " "] +[32.055653, "o", "c"] +[32.073568, "o", "l"] +[32.090924, "o", "u"] +[32.106954, "o", "s"] +[32.124468, "o", "t"] +[32.140915, "o", "e"] +[32.159454, "o", "r"] +[32.176006, "o", " "] +[32.19605, "o", ">"] +[32.21389, "o", " "] +[32.230775, "o", "/"] +[32.25074, "o", "d"] +[32.294751, "o", "e"] +[32.309459, "o", "v"] +[32.322911, "o", "/"] +[32.342839, "o", "n"] +[32.362694, "o", "u"] +[32.379522, "o", "l"] +[32.398439, "o", "l"] +[32.419283, "o", " "] +[32.436418, "o", "2"] +[32.453731, "o", ">"] +[32.471685, "o", "&"] +[32.493326, "o", "1"] +[32.5125, "o", " "] +[32.534687, "o", "&"] +[32.550563, "o", "&"] +[32.566971, "o", " "] +[32.58445, "o", "k"] +[32.615337, "o", "w"] +[32.637025, "o", "o"] +[32.657437, "o", "k"] +[32.675617, "o", "c"] +[32.693343, "o", "t"] +[32.71228, "o", "l"] +[32.733001, "o", " "] +[32.750036, "o", "c"] +[32.768407, "o", "r"] +[32.789682, "o", "e"] +[32.808779, "o", "a"] +[32.834309, "o", "t"] +[32.852725, "o", "e"] +[32.871221, "o", " "] +[32.889714, "o", "c"] +[32.909786, "o", "l"] +[32.926252, "o", "u"] +[32.943613, "o", "s"] +[32.962011, "o", "t"] +[32.979797, "o", "e"] +[32.999566, "o", "r"] +[33.023708, "o", " "] +[33.044255, "o", ">"] +[33.06192, "o", " "] +[33.092741, "o", "/"] +[33.108134, "o", "d"] +[33.123918, "o", "e"] +[33.142797, "o", "v"] +[33.170481, "o", "/"] +[33.210028, "o", "n"] +[33.239817, "o", "u"] +[33.269148, "o", "l"] +[33.28864, "o", "l"] +[33.307416, "o", " "] +[33.326414, "o", "2"] +[33.343924, "o", ">"] +[33.361988, "o", "&"] +[33.379563, "o", "1"] +[33.904703, "o", "\r\n"] +[36.531489, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[38.541591, "o", "\r\n"] +[38.541765, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[39.061484, "o", "#"] +[39.098867, "o", " "] +[39.136453, "o", "R"] +[39.171728, "o", "e"] +[39.200673, "o", "s"] +[39.228725, "o", "t"] +[39.253674, "o", "o"] +[39.284567, "o", "r"] +[39.310999, "o", "e"] +[39.337718, "o", " "] +[39.367031, "o", "i"] +[39.398117, "o", "s"] +[39.42705, "o", " "] +[39.461769, "o", "f"] +[39.496531, "o", "r"] +[39.526953, "o", "o"] +[39.555201, "o", "m"] +[39.583418, "o", " "] +[39.613015, "o", "c"] +[39.638707, "o", "l"] +[39.667887, "o", "u"] +[39.70159, "o", "s"] +[39.737875, "o", "t"] +[39.772956, "o", "e"] +[39.817553, "o", "r"] +[39.854955, "o", "."] +[39.897722, "o", "y"] +[39.935594, "o", "a"] +[39.977309, "o", "m"] +[40.023044, "o", "l"] +[40.170274, "o", "\r\n"] +[40.171078, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[41.183861, "o", "k"] +[41.202042, "o", "w"] +[41.220011, "o", "o"] +[41.236361, "o", "k"] +[41.254603, "o", "c"] +[41.271882, "o", "t"] +[41.287483, "o", "l"] +[41.304948, "o", " "] +[41.322106, "o", "s"] +[41.33951, "o", "n"] +[41.355622, "o", "a"] +[41.372492, "o", "p"] +[41.389085, "o", "s"] +[41.405584, "o", "h"] +[41.42263, "o", "o"] +[41.438144, "o", "t"] +[41.453045, "o", " "] +[41.468278, "o", "r"] +[41.481301, "o", "e"] +[41.495291, "o", "p"] +[41.51096, "o", "l"] +[41.524943, "o", "a"] +[41.540546, "o", "y"] +[41.556608, "o", " "] +[41.570393, "o", "-"] +[41.584498, "o", "-"] +[41.598349, "o", "s"] +[41.6138, "o", "n"] +[41.626664, "o", "a"] +[41.642046, "o", "p"] +[41.654976, "o", "s"] +[41.670625, "o", "h"] +[41.685097, "o", "o"] +[41.700124, "o", "t"] +[41.716336, "o", " "] +[41.732126, "o", "-"] +[41.748507, "o", "-"] +[41.765049, "o", "p"] +[41.778803, "o", "a"] +[41.795072, "o", "t"] +[41.811407, "o", "h"] +[41.828464, "o", " "] +[41.84453, "o", "c"] +[41.861073, "o", "l"] +[41.877821, "o", "u"] +[41.892096, "o", "s"] +[41.906255, "o", "t"] +[41.921417, "o", "e"] +[41.935513, "o", "r"] +[41.949275, "o", "."] +[41.96339, "o", "y"] +[41.979745, "o", "a"] +[41.995731, "o", "m"] +[42.0118, "o", "l"] +[42.531297, "o", "\r\n"] +[43.142178, "o", "Restoring snapshot cluster=kwok\r\n"] +[43.320045, "o", "Restored snapshot cluster=kwok\r\n"] +[43.832477, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[45.840801, "o", "\r\n"] +[45.841329, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[46.355696, "o", "#"] +[46.386141, "o", " "] +[46.414405, "o", "L"] +[46.44495, "o", "e"] +[46.477295, "o", "t"] +[46.507009, "o", "'"] +[46.539312, "o", "s"] +[46.569146, "o", " "] +[46.599965, "o", "h"] +[46.630059, "o", "a"] +[46.657733, "o", "v"] +[46.687744, "o", "e"] +[46.717566, "o", " "] +[46.746862, "o", "a"] +[46.774497, "o", " "] +[46.803502, "o", "l"] +[46.833077, "o", "o"] +[46.863025, "o", "o"] +[46.891048, "o", "k"] +[46.92041, "o", " "] +[46.950175, "o", "a"] +[46.980033, "o", "t"] +[47.010453, "o", " "] +[47.040222, "o", "t"] +[47.064638, "o", "h"] +[47.090353, "o", "e"] +[47.120391, "o", " "] +[47.149687, "o", "p"] +[47.179731, "o", "o"] +[47.207633, "o", "d"] +[47.234797, "o", " "] +[47.262031, "o", "n"] +[47.287687, "o", "a"] +[47.312706, "o", "m"] +[47.340237, "o", "e"] +[47.367374, "o", " "] +[47.398541, "o", "a"] +[47.424756, "o", "g"] +[47.449723, "o", "a"] +[47.479893, "o", "i"] +[47.510072, "o", "n"] +[47.542109, "o", "."] +[47.680204, "o", "\r\n"] +[47.683653, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[48.697123, "o", "k"] +[48.718027, "o", "u"] +[48.734652, "o", "b"] +[48.752317, "o", "e"] +[48.769406, "o", "c"] +[48.783701, "o", "t"] +[48.800561, "o", "l"] +[48.81713, "o", " "] +[48.831041, "o", "g"] +[48.847619, "o", "e"] +[48.863716, "o", "t"] +[48.879434, "o", " "] +[48.895903, "o", "p"] +[48.912911, "o", "o"] +[48.928939, "o", "d"] +[49.45395, "o", "\r\n"] +[49.519683, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-428l4 1/1 Running 0 19s\r\napp-67f9df97bd-6px2x 1/1"] +[49.519772, "o", " Running 0 19s\r\napp-67f9df97bd-nwdzs 1/1 Running 0 19s\r\n"] +[49.520677, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[51.529294, "o", "\r\n"] +[51.530592, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[52.043604, "o", "#"] +[52.07534, "o", " "] +[52.106672, "o", "D"] +[52.13393, "o", "e"] +[52.161311, "o", "l"] +[52.192143, "o", "e"] +[52.219347, "o", "t"] +[52.246222, "o", "e"] +[52.27564, "o", " "] +[52.304761, "o", "t"] +[52.332809, "o", "h"] +[52.362056, "o", "e"] +[52.391242, "o", " "] +[52.420458, "o", "c"] +[52.449382, "o", "l"] +[52.479297, "o", "u"] +[52.509638, "o", "s"] +[52.538907, "o", "t"] +[52.569175, "o", "e"] +[52.595397, "o", "r"] +[52.627901, "o", "."] +[52.769766, "o", "\r\n"] +[52.770905, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[53.780385, "o", "k"] +[53.801564, "o", "w"] +[53.821851, "o", "o"] +[53.836947, "o", "k"] +[53.850609, "o", "c"] +[53.867503, "o", "t"] +[53.885825, "o", "l"] +[53.903608, "o", " "] +[53.920651, "o", "d"] +[53.937372, "o", "e"] +[53.954107, "o", "l"] +[53.971661, "o", "e"] +[53.988177, "o", "t"] +[54.003695, "o", "e"] +[54.019209, "o", " "] +[54.036108, "o", "c"] +[54.053066, "o", "l"] +[54.070579, "o", "u"] +[54.086848, "o", "s"] +[54.10044, "o", "t"] +[54.1155, "o", "e"] +[54.13128, "o", "r"] +[54.655852, "o", "\r\n"] +[54.69272, "o", "Cluster is stopping cluster=kwok\r\n"] +[55.086452, "o", "Cluster is stopped elapsed=0.3s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"] +[55.533622, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"] +[55.534417, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[57.542209, "o", "\r\n"] +[57.54345, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[58.055558, "o", "#"] +[58.08381, "o", " "] +[58.110856, "o", "T"] +[58.136486, "o", "h"] +[58.166731, "o", "a"] +[58.196097, "o", "t"] +[58.221195, "o", "'"] +[58.248962, "o", "s"] +[58.272817, "o", " "] +[58.304872, "o", "a"] +[58.337488, "o", "l"] +[58.367546, "o", "l"] +[58.396401, "o", ","] +[58.426879, "o", " "] +[58.453862, "o", "e"] +[58.484062, "o", "n"] +[58.510419, "o", "j"] +[58.537631, "o", "o"] +[58.566687, "o", "y"] +[58.602447, "o", " "] +[58.632789, "o", "i"] +[58.659025, "o", "t"] +[58.690008, "o", "!"] +[58.830623, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[59.844583, "o", "c"] +[59.865303, "o", "l"] +[59.88489, "o", "e"] +[59.898152, "o", "a"] +[59.912615, "o", "r"] +[60.436605, "o", "\r\n"] +[60.440407, "o", "\u001b[3J\u001b[H\u001b[2J"] diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.demo b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.demo new file mode 100644 index 000000000..20273d483 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.demo @@ -0,0 +1,29 @@ +# Let's get started with kwokctl! +kwokctl create cluster + +# Create the nodes. +kwokctl scale node --replicas 2 + +# Apply a deployment. +kubectl create deployment app --image=app --replicas=3 + +# Let's have a look at the pod name. +kubectl get pod + +# Save it to cluster.yaml +kwokctl snapshot record --snapshot --path cluster.yaml + +# Recreate cluster. +kwokctl delete cluster > /dev/null 2>&1 && kwokctl create cluster > /dev/null 2>&1 + +# Restore is from cluster.yaml +kwokctl snapshot replay --snapshot --path cluster.yaml + +# Let's have a look at the pod name again. +kubectl get pod + +# Delete the cluster. +kwokctl delete cluster + +# That's all, enjoy it! +clear diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.svg b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.svg new file mode 100644 index 000000000..e4bffcf54 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.svg @@ -0,0 +1 @@ +~/sigs.k8s.io/kwok$~/sigs.k8s.io/kwok$#~/sigs.k8s.io/kwok$#L~/sigs.k8s.io/kwok$#Le~/sigs.k8s.io/kwok$#Let~/sigs.k8s.io/kwok$#Let'~/sigs.k8s.io/kwok$#Let's~/sigs.k8s.io/kwok$#Let'sget~/sigs.k8s.io/kwok$#Let'sgetstarted~/sigs.k8s.io/kwok$#Let'sgetstartedwith~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl!~/sigs.k8s.io/kwok$k~/sigs.k8s.io/kwok$kw~/sigs.k8s.io/kwok$kwo~/sigs.k8s.io/kwok$kwok~/sigs.k8s.io/kwok$kwokc~/sigs.k8s.io/kwok$kwokct~/sigs.k8s.io/kwok$kwokctl~/sigs.k8s.io/kwok$kwokctlcreate~/sigs.k8s.io/kwok$kwokctlcreateclusterClusteriscreatingcluster=kwokClusteriscreatedelapsed=0.9scluster=kwokClusterisstartingcluster=kwokClusterisstartedelapsed=0.5scluster=kwokYoucannowuseyourclusterwith:kubectlcluster-info--contextkwok-kwokThanksforusingkwok!~/sigs.k8s.io/kwok$#Create~/sigs.k8s.io/kwok$#Createthe~/sigs.k8s.io/kwok$#Createthenodes.~/sigs.k8s.io/kwok$kwokctls~/sigs.k8s.io/kwok$kwokctlscale~/sigs.k8s.io/kwok$kwokctlscalenode~/sigs.k8s.io/kwok$kwokctlscalenode--replicas~/sigs.k8s.io/kwok$kwokctlscalenode--replicas2Noresourcefound,usedefaultresourceresource=nodecluster=kwokLoadresourcescounter=2elapsed=7msresource=nodesreplicas=2name=nodecluster=kwok~/sigs.k8s.io/kwok$#Apply~/sigs.k8s.io/kwok$#Applya~/sigs.k8s.io/kwok$#Applyadeployment.~/sigs.k8s.io/kwok$ku~/sigs.k8s.io/kwok$kub~/sigs.k8s.io/kwok$kube~/sigs.k8s.io/kwok$kubec~/sigs.k8s.io/kwok$kubect~/sigs.k8s.io/kwok$kubectl~/sigs.k8s.io/kwok$kubectlcreate~/sigs.k8s.io/kwok$kubectlcreatedeployment~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=3deployment.apps/appcreated~/sigs.k8s.io/kwok$#Let'sh~/sigs.k8s.io/kwok$#Let'sha~/sigs.k8s.io/kwok$#Let'shav~/sigs.k8s.io/kwok$#Let'shave~/sigs.k8s.io/kwok$#Let'shavea~/sigs.k8s.io/kwok$#Let'shaveal~/sigs.k8s.io/kwok$#Let'shavealo~/sigs.k8s.io/kwok$#Let'shavealoo~/sigs.k8s.io/kwok$#Let'shavealook~/sigs.k8s.io/kwok$#Let'shavealooka~/sigs.k8s.io/kwok$#Let'shavealookat~/sigs.k8s.io/kwok$#Let'shavealookatt~/sigs.k8s.io/kwok$#Let'shavealookatth~/sigs.k8s.io/kwok$#Let'shavealookatthe~/sigs.k8s.io/kwok$#Let'shavealookatthep~/sigs.k8s.io/kwok$#Let'shavealookatthepo~/sigs.k8s.io/kwok$#Let'shavealookatthepod~/sigs.k8s.io/kwok$#Let'shavealookatthepodn~/sigs.k8s.io/kwok$#Let'shavealookatthepodna~/sigs.k8s.io/kwok$#Let'shavealookatthepodnam~/sigs.k8s.io/kwok$#Let'shavealookatthepodname~/sigs.k8s.io/kwok$#Let'shavealookatthepodname.~/sigs.k8s.io/kwok$kubectlg~/sigs.k8s.io/kwok$kubectlge~/sigs.k8s.io/kwok$kubectlget~/sigs.k8s.io/kwok$kubectlgetp~/sigs.k8s.io/kwok$kubectlgetpo~/sigs.k8s.io/kwok$kubectlgetpodNAMEREADYSTATUSRESTARTSAGEapp-67f9df97bd-428l41/1Running06sapp-67f9df97bd-6px2x1/1Running06sapp-67f9df97bd-nwdzs1/1Running06s~/sigs.k8s.io/kwok$#Save~/sigs.k8s.io/kwok$#Saveit~/sigs.k8s.io/kwok$#Saveitto~/sigs.k8s.io/kwok$#Saveittocluster.yaml~/sigs.k8s.io/kwok$kwokctlsn~/sigs.k8s.io/kwok$kwokctlsna~/sigs.k8s.io/kwok$kwokctlsnap~/sigs.k8s.io/kwok$kwokctlsnaps~/sigs.k8s.io/kwok$kwokctlsnapsh~/sigs.k8s.io/kwok$kwokctlsnapsho~/sigs.k8s.io/kwok$kwokctlsnapshot~/sigs.k8s.io/kwok$kwokctlsnapshotr~/sigs.k8s.io/kwok$kwokctlsnapshotre~/sigs.k8s.io/kwok$kwokctlsnapshotrecord~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--path~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.yamlSavingsnapshotcluster=kwokSavedsnapshotcluster=kwok~/sigs.k8s.io/kwok$#R~/sigs.k8s.io/kwok$#Re~/sigs.k8s.io/kwok$#Recreate~/sigs.k8s.io/kwok$#Recreatecluster.~/sigs.k8s.io/kwok$kwokctld~/sigs.k8s.io/kwok$kwokctlde~/sigs.k8s.io/kwok$kwokctldel~/sigs.k8s.io/kwok$kwokctldele~/sigs.k8s.io/kwok$kwokctldelet~/sigs.k8s.io/kwok$kwokctldelete~/sigs.k8s.io/kwok$kwokctldeletec~/sigs.k8s.io/kwok$kwokctldeletecl~/sigs.k8s.io/kwok$kwokctldeleteclu~/sigs.k8s.io/kwok$kwokctldeleteclus~/sigs.k8s.io/kwok$kwokctldeleteclust~/sigs.k8s.io/kwok$kwokctldeletecluste~/sigs.k8s.io/kwok$kwokctldeletecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreate~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluster>>/dev/null>/dev/null2>&1~/sigs.k8s.io/kwok$#Restore~/sigs.k8s.io/kwok$#Restoreis~/sigs.k8s.io/kwok$#Restoreisfrom~/sigs.k8s.io/kwok$#Restoreisfromcluster.yaml~/sigs.k8s.io/kwok$kwokctlsnapshotreplay~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--path~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.yamlRestoringsnapshotcluster=kwokRestoredsnapshotcluster=kwok~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagain.app-67f9df97bd-428l41/1Running019sapp-67f9df97bd-6px2x1/1Running019sapp-67f9df97bd-nwdzs1/1Running019s~/sigs.k8s.io/kwok$#Delete~/sigs.k8s.io/kwok$#Deletethe~/sigs.k8s.io/kwok$#Deletethecluster.Clusterisstoppingcluster=kwokClusterisstoppedelapsed=0.3scluster=kwokClusterisdeletingcluster=kwokClusterisdeletedelapsed=0.4scluster=kwok~/sigs.k8s.io/kwok$#That's~/sigs.k8s.io/kwok$#That'sall,~/sigs.k8s.io/kwok$#That'sall,enjoy~/sigs.k8s.io/kwok$#That'sall,enjoyit!~/sigs.k8s.io/kwok$clear~/sigs.k8s.io/kwok$#Let'sg~/sigs.k8s.io/kwok$#Let'sge~/sigs.k8s.io/kwok$#Let'sgets~/sigs.k8s.io/kwok$#Let'sgetst~/sigs.k8s.io/kwok$#Let'sgetsta~/sigs.k8s.io/kwok$#Let'sgetstar~/sigs.k8s.io/kwok$#Let'sgetstart~/sigs.k8s.io/kwok$#Let'sgetstarte~/sigs.k8s.io/kwok$#Let'sgetstartedw~/sigs.k8s.io/kwok$#Let'sgetstartedwi~/sigs.k8s.io/kwok$#Let'sgetstartedwit~/sigs.k8s.io/kwok$#Let'sgetstartedwithk~/sigs.k8s.io/kwok$#Let'sgetstartedwithkw~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl~/sigs.k8s.io/kwok$kwokctlc~/sigs.k8s.io/kwok$kwokctlcr~/sigs.k8s.io/kwok$kwokctlcre~/sigs.k8s.io/kwok$kwokctlcrea~/sigs.k8s.io/kwok$kwokctlcreat~/sigs.k8s.io/kwok$kwokctlcreatec~/sigs.k8s.io/kwok$kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctlcreatecluste~/sigs.k8s.io/kwok$#C~/sigs.k8s.io/kwok$#Cr~/sigs.k8s.io/kwok$#Cre~/sigs.k8s.io/kwok$#Crea~/sigs.k8s.io/kwok$#Creat~/sigs.k8s.io/kwok$#Createt~/sigs.k8s.io/kwok$#Createth~/sigs.k8s.io/kwok$#Createthen~/sigs.k8s.io/kwok$#Createtheno~/sigs.k8s.io/kwok$#Createthenod~/sigs.k8s.io/kwok$#Createthenode~/sigs.k8s.io/kwok$#Createthenodes~/sigs.k8s.io/kwok$kwokctlsc~/sigs.k8s.io/kwok$kwokctlsca~/sigs.k8s.io/kwok$kwokctlscal~/sigs.k8s.io/kwok$kwokctlscalen~/sigs.k8s.io/kwok$kwokctlscaleno~/sigs.k8s.io/kwok$kwokctlscalenod~/sigs.k8s.io/kwok$kwokctlscalenode-~/sigs.k8s.io/kwok$kwokctlscalenode--~/sigs.k8s.io/kwok$kwokctlscalenode--r~/sigs.k8s.io/kwok$kwokctlscalenode--re~/sigs.k8s.io/kwok$kwokctlscalenode--rep~/sigs.k8s.io/kwok$kwokctlscalenode--repl~/sigs.k8s.io/kwok$kwokctlscalenode--repli~/sigs.k8s.io/kwok$kwokctlscalenode--replic~/sigs.k8s.io/kwok$kwokctlscalenode--replica~/sigs.k8s.io/kwok$#A~/sigs.k8s.io/kwok$#Ap~/sigs.k8s.io/kwok$#App~/sigs.k8s.io/kwok$#Appl~/sigs.k8s.io/kwok$#Applyad~/sigs.k8s.io/kwok$#Applyade~/sigs.k8s.io/kwok$#Applyadep~/sigs.k8s.io/kwok$#Applyadepl~/sigs.k8s.io/kwok$#Applyadeplo~/sigs.k8s.io/kwok$#Applyadeploy~/sigs.k8s.io/kwok$#Applyadeploym~/sigs.k8s.io/kwok$#Applyadeployme~/sigs.k8s.io/kwok$#Applyadeploymen~/sigs.k8s.io/kwok$#Applyadeployment~/sigs.k8s.io/kwok$kubectlc~/sigs.k8s.io/kwok$kubectlcr~/sigs.k8s.io/kwok$kubectlcre~/sigs.k8s.io/kwok$kubectlcrea~/sigs.k8s.io/kwok$kubectlcreat~/sigs.k8s.io/kwok$kubectlcreated~/sigs.k8s.io/kwok$kubectlcreatede~/sigs.k8s.io/kwok$kubectlcreatedep~/sigs.k8s.io/kwok$kubectlcreatedepl~/sigs.k8s.io/kwok$kubectlcreatedeplo~/sigs.k8s.io/kwok$kubectlcreatedeploy~/sigs.k8s.io/kwok$kubectlcreatedeploym~/sigs.k8s.io/kwok$kubectlcreatedeployme~/sigs.k8s.io/kwok$kubectlcreatedeploymen~/sigs.k8s.io/kwok$kubectlcreatedeploymenta~/sigs.k8s.io/kwok$kubectlcreatedeploymentap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--i~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--im~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--ima~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--imag~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=a~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=ap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--r~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--re~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--rep~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repl~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repli~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replic~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replica~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=app-67f9df97bd-nwdzs~/sigs.k8s.io/kwok$#S~/sigs.k8s.io/kwok$#Sa~/sigs.k8s.io/kwok$#Sav~/sigs.k8s.io/kwok$#Savei~/sigs.k8s.io/kwok$#Saveitt~/sigs.k8s.io/kwok$#Saveittoc~/sigs.k8s.io/kwok$#Saveittocl~/sigs.k8s.io/kwok$#Saveittoclu~/sigs.k8s.io/kwok$#Saveittoclus~/sigs.k8s.io/kwok$#Saveittoclust~/sigs.k8s.io/kwok$#Saveittocluste~/sigs.k8s.io/kwok$#Saveittocluster~/sigs.k8s.io/kwok$#Saveittocluster.~/sigs.k8s.io/kwok$#Saveittocluster.y~/sigs.k8s.io/kwok$#Saveittocluster.ya~/sigs.k8s.io/kwok$#Saveittocluster.yam~/sigs.k8s.io/kwok$kwokctlsnapshotrec~/sigs.k8s.io/kwok$kwokctlsnapshotreco~/sigs.k8s.io/kwok$kwokctlsnapshotrecor~/sigs.k8s.io/kwok$kwokctlsnapshotrecord-~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--s~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--sn~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--sna~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snap~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snaps~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapsh~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapsho~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot-~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--p~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pa~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pat~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathc~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcl~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathclu~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathclus~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathclust~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluste~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.y~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.ya~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.yam~/sigs.k8s.io/kwok$#Rec~/sigs.k8s.io/kwok$#Recr~/sigs.k8s.io/kwok$#Recre~/sigs.k8s.io/kwok$#Recrea~/sigs.k8s.io/kwok$#Recreat~/sigs.k8s.io/kwok$#Recreatec~/sigs.k8s.io/kwok$#Recreatecl~/sigs.k8s.io/kwok$#Recreateclu~/sigs.k8s.io/kwok$#Recreateclus~/sigs.k8s.io/kwok$#Recreateclust~/sigs.k8s.io/kwok$#Recreatecluste~/sigs.k8s.io/kwok$#Recreatecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>/~/sigs.k8s.io/kwok$kwokctldeletecluster>/d~/sigs.k8s.io/kwok$kwokctldeletecluster>/de~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/n~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nul~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&k~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kw~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwo~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwok~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokct~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcr~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcre~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcrea~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreat~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatec~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluste>/>/d>/de>/dev>/dev/>/dev/n>/dev/nu>/dev/nul>/dev/null2>/dev/null2>>/dev/null2>&~/sigs.k8s.io/kwok$#Res~/sigs.k8s.io/kwok$#Rest~/sigs.k8s.io/kwok$#Resto~/sigs.k8s.io/kwok$#Restor~/sigs.k8s.io/kwok$#Restorei~/sigs.k8s.io/kwok$#Restoreisf~/sigs.k8s.io/kwok$#Restoreisfr~/sigs.k8s.io/kwok$#Restoreisfro~/sigs.k8s.io/kwok$#Restoreisfromc~/sigs.k8s.io/kwok$#Restoreisfromcl~/sigs.k8s.io/kwok$#Restoreisfromclu~/sigs.k8s.io/kwok$#Restoreisfromclus~/sigs.k8s.io/kwok$#Restoreisfromclust~/sigs.k8s.io/kwok$#Restoreisfromcluste~/sigs.k8s.io/kwok$#Restoreisfromcluster~/sigs.k8s.io/kwok$#Restoreisfromcluster.~/sigs.k8s.io/kwok$#Restoreisfromcluster.y~/sigs.k8s.io/kwok$#Restoreisfromcluster.ya~/sigs.k8s.io/kwok$#Restoreisfromcluster.yam~/sigs.k8s.io/kwok$kwokctlsnapshotrep~/sigs.k8s.io/kwok$kwokctlsnapshotrepl~/sigs.k8s.io/kwok$kwokctlsnapshotrepla~/sigs.k8s.io/kwok$kwokctlsnapshotreplay-~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--s~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--sn~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--sna~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snap~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snaps~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapsh~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapsho~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot-~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--p~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pa~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pat~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathc~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcl~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathclu~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathclus~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathclust~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluste~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.y~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.ya~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.yam~/sigs.k8s.io/kwok$#Let'shavealookatthepodnamea~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameag~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameaga~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagai~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagainapp-67f9df97bd-6px2x1/1~/sigs.k8s.io/kwok$#D~/sigs.k8s.io/kwok$#De~/sigs.k8s.io/kwok$#Del~/sigs.k8s.io/kwok$#Dele~/sigs.k8s.io/kwok$#Delet~/sigs.k8s.io/kwok$#Deletet~/sigs.k8s.io/kwok$#Deleteth~/sigs.k8s.io/kwok$#Deletethec~/sigs.k8s.io/kwok$#Deletethecl~/sigs.k8s.io/kwok$#Deletetheclu~/sigs.k8s.io/kwok$#Deletetheclus~/sigs.k8s.io/kwok$#Deletetheclust~/sigs.k8s.io/kwok$#Deletethecluste~/sigs.k8s.io/kwok$#Deletethecluster~/sigs.k8s.io/kwok$#T~/sigs.k8s.io/kwok$#Th~/sigs.k8s.io/kwok$#Tha~/sigs.k8s.io/kwok$#That~/sigs.k8s.io/kwok$#That'~/sigs.k8s.io/kwok$#That'sa~/sigs.k8s.io/kwok$#That'sal~/sigs.k8s.io/kwok$#That'sall~/sigs.k8s.io/kwok$#That'sall,e~/sigs.k8s.io/kwok$#That'sall,en~/sigs.k8s.io/kwok$#That'sall,enj~/sigs.k8s.io/kwok$#That'sall,enjo~/sigs.k8s.io/kwok$#That'sall,enjoyi~/sigs.k8s.io/kwok$#That'sall,enjoyit~/sigs.k8s.io/kwok$c~/sigs.k8s.io/kwok$cl~/sigs.k8s.io/kwok$cle~/sigs.k8s.io/kwok$clea \ No newline at end of file