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..3670d3e27 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.cast @@ -0,0 +1,670 @@ +{"version": 2, "width": 86, "height": 24, "timestamp": 1716349527, "env": {}} +[0.009207, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[0.517931, "o", "#"] +[0.550864, "o", " "] +[0.578622, "o", "L"] +[0.603569, "o", "e"] +[0.628167, "o", "t"] +[0.657071, "o", "'"] +[0.685881, "o", "s"] +[0.714912, "o", " "] +[0.744762, "o", "g"] +[0.770163, "o", "e"] +[0.7955, "o", "t"] +[0.824144, "o", "t"] +[0.849164, "o", "i"] +[0.878195, "o", "n"] +[0.905889, "o", "g"] +[0.933831, "o", " "] +[0.957426, "o", "s"] +[0.985924, "o", "t"] +[1.01391, "o", "a"] +[1.04228, "o", "r"] +[1.070098, "o", "t"] +[1.101217, "o", "e"] +[1.127347, "o", "d"] +[1.152099, "o", " "] +[1.180666, "o", "w"] +[1.208782, "o", "i"] +[1.236007, "o", "t"] +[1.264084, "o", "h"] +[1.292271, "o", " "] +[1.319902, "o", "k"] +[1.344516, "o", "w"] +[1.372851, "o", "o"] +[1.399037, "o", "k"] +[1.428054, "o", "c"] +[1.457245, "o", "t"] +[1.487447, "o", "l"] +[1.511926, "o", "!"] +[1.648335, "o", "\r\n"] +[1.648581, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[2.659756, "o", "k"] +[2.67749, "o", "w"] +[2.693662, "o", "o"] +[2.711319, "o", "k"] +[2.729003, "o", "c"] +[2.7448, "o", "t"] +[2.762464, "o", "l"] +[2.77956, "o", " "] +[2.795604, "o", "c"] +[2.812367, "o", "r"] +[2.829447, "o", "e"] +[2.844366, "o", "a"] +[2.859844, "o", "t"] +[2.876163, "o", "e"] +[2.892168, "o", " "] +[2.909063, "o", "c"] +[2.924299, "o", "l"] +[2.939149, "o", "u"] +[2.954249, "o", "s"] +[2.967387, "o", "t"] +[2.982298, "o", "e"] +[2.995873, "o", "r"] +[3.518939, "o", "\r\n"] +[3.554471, "o", "Cluster is creating cluster=kwok\r\n"] +[4.517483, "o", "Cluster is created elapsed=0.9s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"] +[5.270967, "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.271908, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.280973, "o", "\r\n"] +[7.281251, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.793243, "o", "#"] +[7.817127, "o", " "] +[7.840521, "o", "C"] +[7.863334, "o", "r"] +[7.888602, "o", "e"] +[7.916881, "o", "a"] +[7.945505, "o", "t"] +[7.969817, "o", "e"] +[7.997728, "o", " "] +[8.022575, "o", "a"] +[8.047863, "o", "n"] +[8.075061, "o", " "] +[8.104185, "o", "n"] +[8.133514, "o", "o"] +[8.16355, "o", "d"] +[8.191146, "o", "e"] +[8.220871, "o", "s"] +[8.250691, "o", "."] +[8.387584, "o", "\r\n"] +[8.387743, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[9.400362, "o", "k"] +[9.421703, "o", "w"] +[9.438908, "o", "o"] +[9.454356, "o", "k"] +[9.47129, "o", "c"] +[9.488059, "o", "t"] +[9.504774, "o", "l"] +[9.521056, "o", " "] +[9.537917, "o", "s"] +[9.552552, "o", "c"] +[9.56895, "o", "a"] +[9.58385, "o", "l"] +[9.598847, "o", "e"] +[9.611852, "o", " "] +[9.625154, "o", "n"] +[9.639986, "o", "o"] +[9.652295, "o", "d"] +[9.666706, "o", "e"] +[9.682038, "o", " "] +[9.696772, "o", "-"] +[9.712898, "o", "-"] +[9.727404, "o", "r"] +[9.742489, "o", "e"] +[9.755494, "o", "p"] +[9.770379, "o", "l"] +[9.784957, "o", "i"] +[9.799709, "o", "c"] +[9.813073, "o", "a"] +[9.828038, "o", "s"] +[9.841851, "o", " "] +[9.857124, "o", "2"] +[10.379868, "o", "\r\n"] +[10.412977, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"] +[10.458653, "o", "Load resources counter=2 elapsed=15ms resource=nodes replicas=2 name=node cluster=kwok\r\n"] +[10.459842, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[12.469592, "o", "\r\n"] +[12.470721, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[12.985212, "o", "#"] +[13.01958, "o", " "] +[13.049817, "o", "A"] +[13.079167, "o", "p"] +[13.104335, "o", "p"] +[13.133468, "o", "l"] +[13.162741, "o", "y"] +[13.191846, "o", " "] +[13.220829, "o", "a"] +[13.249453, "o", " "] +[13.273643, "o", "d"] +[13.301268, "o", "e"] +[13.328676, "o", "p"] +[13.354508, "o", "l"] +[13.383746, "o", "o"] +[13.409747, "o", "y"] +[13.435428, "o", "m"] +[13.465027, "o", "e"] +[13.493502, "o", "n"] +[13.522013, "o", "t"] +[13.55101, "o", "."] +[13.689937, "o", "\r\n"] +[13.692718, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[14.701443, "o", "k"] +[14.721515, "o", "u"] +[14.737729, "o", "b"] +[14.75587, "o", "e"] +[14.773676, "o", "c"] +[14.79141, "o", "t"] +[14.806893, "o", "l"] +[14.822221, "o", " "] +[14.839891, "o", "c"] +[14.856746, "o", "r"] +[14.871018, "o", "e"] +[14.88766, "o", "a"] +[14.902701, "o", "t"] +[14.918206, "o", "e"] +[14.934715, "o", " "] +[14.949651, "o", "d"] +[14.964626, "o", "e"] +[14.9801, "o", "p"] +[14.994109, "o", "l"] +[15.009545, "o", "o"] +[15.025481, "o", "y"] +[15.040604, "o", "m"] +[15.056281, "o", "e"] +[15.069618, "o", "n"] +[15.08518, "o", "t"] +[15.098674, "o", " "] +[15.11386, "o", "a"] +[15.127247, "o", "p"] +[15.140884, "o", "p"] +[15.155981, "o", " "] +[15.17124, "o", "-"] +[15.186282, "o", "-"] +[15.201533, "o", "i"] +[15.214884, "o", "m"] +[15.230202, "o", "a"] +[15.245718, "o", "g"] +[15.261336, "o", "e"] +[15.275259, "o", "="] +[15.291064, "o", "a"] +[15.306567, "o", "p"] +[15.32303, "o", "p"] +[15.339153, "o", " "] +[15.352236, "o", "-"] +[15.368087, "o", "-"] +[15.383848, "o", "r"] +[15.398857, "o", "e"] +[15.414603, "o", "p"] +[15.429456, "o", "l"] +[15.444481, "o", "i"] +[15.4588, "o", "c"] +[15.473773, "o", "a"] +[15.488485, "o", "s"] +[15.503294, "o", "="] +[15.518525, "o", "3"] +[16.041705, "o", "\r\n"] +[16.123378, "o", "deployment.apps/app created\r\n"] +[16.124349, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[18.133941, "o", "\r\n"] +[18.134102, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[18.650394, "o", "#"] +[18.678646, "o", " "] +[18.709232, "o", "L"] +[18.737163, "o", "e"] +[18.76241, "o", "t"] +[18.791433, "o", "'"] +[18.819312, "o", "s"] +[18.846099, "o", " "] +[18.873581, "o", "h"] +[18.900749, "o", "a"] +[18.930389, "o", "v"] +[18.956203, "o", "e"] +[18.98155, "o", " "] +[19.011253, "o", "a"] +[19.036788, "o", " "] +[19.062616, "o", "l"] +[19.088126, "o", "o"] +[19.113878, "o", "o"] +[19.142411, "o", "k"] +[19.167057, "o", " "] +[19.193352, "o", "a"] +[19.218449, "o", "t"] +[19.247546, "o", " "] +[19.27504, "o", "t"] +[19.304374, "o", "h"] +[19.333476, "o", "e"] +[19.357613, "o", " "] +[19.386533, "o", "p"] +[19.415046, "o", "o"] +[19.440852, "o", "d"] +[19.469764, "o", " "] +[19.498634, "o", "n"] +[19.524226, "o", "a"] +[19.553424, "o", "m"] +[19.578817, "o", "e"] +[19.606462, "o", "."] +[19.740701, "o", "\r\n"] +[19.741148, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[20.752316, "o", "k"] +[20.770976, "o", "u"] +[20.788748, "o", "b"] +[20.806716, "o", "e"] +[20.823197, "o", "c"] +[20.840095, "o", "t"] +[20.857267, "o", "l"] +[20.87407, "o", " "] +[20.891121, "o", "g"] +[20.90703, "o", "e"] +[20.92326, "o", "t"] +[20.938661, "o", " "] +[20.953442, "o", "p"] +[20.970015, "o", "o"] +[20.986221, "o", "d"] +[21.512164, "o", "\r\n"] +[21.583558, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-6t98r 1/1 Running 0 5s\r\napp-67f9df97bd-bltk4 1/1 Running"] +[21.583585, "o", " 0 5s\r\napp-67f9df97bd-vdr2w 1/1 Running 0 5s\r\n"] +[21.584557, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[23.588762, "o", "\r\n"] +[23.589218, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[24.09757, "o", "#"] +[24.130953, "o", " "] +[24.161336, "o", "S"] +[24.191029, "o", "a"] +[24.21937, "o", "v"] +[24.245032, "o", "e"] +[24.27429, "o", " "] +[24.302775, "o", "i"] +[24.333187, "o", "t"] +[24.361462, "o", " "] +[24.387211, "o", "t"] +[24.417028, "o", "o"] +[24.443011, "o", " "] +[24.467204, "o", "s"] +[24.495332, "o", "n"] +[24.520186, "o", "a"] +[24.549116, "o", "p"] +[24.575196, "o", "s"] +[24.604193, "o", "h"] +[24.633929, "o", "o"] +[24.661992, "o", "t"] +[24.691148, "o", "."] +[24.720637, "o", "d"] +[24.746175, "o", "b"] +[24.881496, "o", "\r\n"] +[24.884369, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[25.891114, "o", "k"] +[25.911175, "o", "w"] +[25.928662, "o", "o"] +[25.945245, "o", "k"] +[25.962623, "o", "c"] +[25.980275, "o", "t"] +[25.996953, "o", "l"] +[26.014389, "o", " "] +[26.031444, "o", "s"] +[26.048225, "o", "n"] +[26.063986, "o", "a"] +[26.080754, "o", "p"] +[26.097805, "o", "s"] +[26.11263, "o", "h"] +[26.129036, "o", "o"] +[26.145373, "o", "t"] +[26.161238, "o", " "] +[26.177584, "o", "s"] +[26.193989, "o", "a"] +[26.209135, "o", "v"] +[26.223201, "o", "e"] +[26.239612, "o", " "] +[26.256352, "o", "-"] +[26.272242, "o", "-"] +[26.288733, "o", "p"] +[26.304558, "o", "a"] +[26.317422, "o", "t"] +[26.332558, "o", "h"] +[26.347746, "o", " "] +[26.362961, "o", "s"] +[26.378554, "o", "n"] +[26.3939, "o", "a"] +[26.409303, "o", "p"] +[26.425872, "o", "s"] +[26.440869, "o", "h"] +[26.457192, "o", "o"] +[26.473322, "o", "t"] +[26.489878, "o", "."] +[26.506347, "o", "d"] +[26.5216, "o", "b"] +[27.04854, "o", "\r\n"] +[27.245903, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[29.251525, "o", "\r\n"] +[29.251668, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[29.766108, "o", "#"] +[29.798771, "o", " "] +[29.830302, "o", "R"] +[29.856835, "o", "e"] +[29.886668, "o", "c"] +[29.915237, "o", "r"] +[29.940969, "o", "e"] +[29.970404, "o", "a"] +[30.000299, "o", "t"] +[30.028943, "o", "e"] +[30.058239, "o", " "] +[30.086647, "o", "c"] +[30.112766, "o", "l"] +[30.14024, "o", "u"] +[30.169623, "o", "s"] +[30.199175, "o", "t"] +[30.224327, "o", "e"] +[30.249261, "o", "r"] +[30.388344, "o", "\r\n"] +[30.389392, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[31.399953, "o", "k"] +[31.419129, "o", "w"] +[31.436506, "o", "o"] +[31.452535, "o", "k"] +[31.468173, "o", "c"] +[31.485219, "o", "t"] +[31.502866, "o", "l"] +[31.520102, "o", " "] +[31.536603, "o", "d"] +[31.551143, "o", "e"] +[31.570291, "o", "l"] +[31.587379, "o", "e"] +[31.602864, "o", "t"] +[31.618911, "o", "e"] +[31.634566, "o", " "] +[31.647154, "o", "c"] +[31.663594, "o", "l"] +[31.68006, "o", "u"] +[31.69569, "o", "s"] +[31.712064, "o", "t"] +[31.727118, "o", "e"] +[31.742749, "o", "r"] +[31.760485, "o", " "] +[31.777191, "o", ">"] +[31.790474, "o", " "] +[31.806106, "o", "/"] +[31.818933, "o", "d"] +[31.833423, "o", "e"] +[31.848255, "o", "v"] +[31.86442, "o", "/"] +[31.880383, "o", "n"] +[31.892865, "o", "u"] +[31.906234, "o", "l"] +[31.92266, "o", "l"] +[31.93699, "o", " "] +[31.951891, "o", "2"] +[31.968022, "o", ">"] +[31.980983, "o", "&"] +[31.996518, "o", "1"] +[32.013074, "o", " "] +[32.026778, "o", "&"] +[32.043375, "o", "&"] +[32.063327, "o", " "] +[32.079724, "o", "k"] +[32.092773, "o", "w"] +[32.108938, "o", "o"] +[32.124699, "o", "k"] +[32.137379, "o", "c"] +[32.154646, "o", "t"] +[32.175116, "o", "l"] +[32.187693, "o", " "] +[32.202526, "o", "c"] +[32.221115, "o", "r"] +[32.235343, "o", "e"] +[32.252262, "o", "a"] +[32.267498, "o", "t"] +[32.285161, "o", "e"] +[32.300992, "o", " "] +[32.31731, "o", "c"] +[32.334604, "o", "l"] +[32.350243, "o", "u"] +[32.365815, "o", "s"] +[32.382984, "o", "t"] +[32.399362, "o", "e"] +[32.413918, "o", "r"] +[32.427099, "o", " "] +[32.440672, "o", ">"] +[32.453621, "o", " "] +[32.471298, "o", "/"] +[32.487111, "o", "d"] +[32.501436, "o", "e"] +[32.516056, "o", "v"] +[32.529973, "o", "/"] +[32.556763, "o", "n"] +[32.572343, "o", "u"] +[32.58921, "o", "l"] +[32.605981, "o", "l"] +[32.620743, "o", " "] +[32.639267, "o", "2"] +[32.655381, "o", ">"] +[32.680715, "o", "&"] +[32.702571, "o", "1"] +[33.228739, "o", "\r\n"] +[35.817578, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[37.826217, "o", "\r\n"] +[37.827525, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[38.342101, "o", "#"] +[38.376891, "o", " "] +[38.404204, "o", "R"] +[38.430075, "o", "e"] +[38.460315, "o", "s"] +[38.485179, "o", "t"] +[38.5149, "o", "o"] +[38.540776, "o", "r"] +[38.569951, "o", "e"] +[38.595595, "o", " "] +[38.619926, "o", "i"] +[38.648665, "o", "s"] +[38.676409, "o", " "] +[38.705045, "o", "f"] +[38.735783, "o", "r"] +[38.767741, "o", "o"] +[38.7989, "o", "m"] +[38.829957, "o", " "] +[38.86082, "o", "s"] +[38.891336, "o", "n"] +[38.917224, "o", "a"] +[38.945579, "o", "p"] +[38.975724, "o", "s"] +[39.002161, "o", "h"] +[39.028054, "o", "o"] +[39.056944, "o", "t"] +[39.084714, "o", "."] +[39.114774, "o", "d"] +[39.144709, "o", "b"] +[39.280644, "o", "\r\n"] +[39.28079, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[40.291847, "o", "k"] +[40.310485, "o", "w"] +[40.325731, "o", "o"] +[40.340731, "o", "k"] +[40.353816, "o", "c"] +[40.368582, "o", "t"] +[40.38646, "o", "l"] +[40.402541, "o", " "] +[40.417722, "o", "s"] +[40.435646, "o", "n"] +[40.451003, "o", "a"] +[40.467688, "o", "p"] +[40.483355, "o", "s"] +[40.498194, "o", "h"] +[40.514445, "o", "o"] +[40.528698, "o", "t"] +[40.545002, "o", " "] +[40.561025, "o", "r"] +[40.577031, "o", "e"] +[40.593768, "o", "s"] +[40.610018, "o", "t"] +[40.624832, "o", "o"] +[40.639984, "o", "r"] +[40.655415, "o", "e"] +[40.672326, "o", " "] +[40.689104, "o", "-"] +[40.705303, "o", "-"] +[40.721432, "o", "p"] +[40.735367, "o", "a"] +[40.751179, "o", "t"] +[40.765786, "o", "h"] +[40.781785, "o", " "] +[40.798632, "o", "s"] +[40.815076, "o", "n"] +[40.832841, "o", "a"] +[40.855435, "o", "p"] +[40.873071, "o", "s"] +[40.885461, "o", "h"] +[40.900242, "o", "o"] +[40.913108, "o", "t"] +[40.927666, "o", "."] +[40.942396, "o", "d"] +[40.957058, "o", "b"] +[41.476157, "o", "\r\n"] +[43.68961, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[45.698634, "o", "\r\n"] +[45.699987, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[46.213606, "o", "#"] +[46.245267, "o", " "] +[46.271753, "o", "L"] +[46.297405, "o", "e"] +[46.323006, "o", "t"] +[46.352629, "o", "'"] +[46.378459, "o", "s"] +[46.40814, "o", " "] +[46.436078, "o", "h"] +[46.461754, "o", "a"] +[46.491046, "o", "v"] +[46.518716, "o", "e"] +[46.548406, "o", " "] +[46.57435, "o", "a"] +[46.603858, "o", " "] +[46.629274, "o", "l"] +[46.65853, "o", "o"] +[46.684637, "o", "o"] +[46.710244, "o", "k"] +[46.739649, "o", " "] +[46.769176, "o", "a"] +[46.794427, "o", "t"] +[46.820202, "o", " "] +[46.849117, "o", "t"] +[46.877747, "o", "h"] +[46.907398, "o", "e"] +[46.93209, "o", " "] +[46.960964, "o", "p"] +[46.989785, "o", "o"] +[47.020217, "o", "d"] +[47.0471, "o", " "] +[47.072718, "o", "n"] +[47.09855, "o", "a"] +[47.12799, "o", "m"] +[47.154768, "o", "e"] +[47.183429, "o", " "] +[47.212558, "o", "a"] +[47.241806, "o", "g"] +[47.271102, "o", "a"] +[47.297641, "o", "i"] +[47.326961, "o", "n"] +[47.356282, "o", "."] +[47.495811, "o", "\r\n"] +[47.495972, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[48.509837, "o", "k"] +[48.531323, "o", "u"] +[48.549133, "o", "b"] +[48.567081, "o", "e"] +[48.584521, "o", "c"] +[48.600654, "o", "t"] +[48.617247, "o", "l"] +[48.632427, "o", " "] +[48.648612, "o", "g"] +[48.664194, "o", "e"] +[48.677552, "o", "t"] +[48.691313, "o", " "] +[48.705386, "o", "p"] +[48.721164, "o", "o"] +[48.737631, "o", "d"] +[49.265253, "o", "\r\n"] +[49.333695, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-6t98r 1/1 Running 0 33s\r\napp-67f9df97bd-bltk4 1/1 Running 0 "] +[49.333843, "o", " 33s\r\napp-67f9df97bd-vdr2w 1/1 Running 0 33s\r\n"] +[49.334652, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[51.343474, "o", "\r\n"] +[51.34521, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[51.858967, "o", "#"] +[51.895465, "o", " "] +[51.930038, "o", "D"] +[51.957742, "o", "e"] +[51.985999, "o", "l"] +[52.01731, "o", "e"] +[52.046001, "o", "t"] +[52.07191, "o", "e"] +[52.101384, "o", " "] +[52.131307, "o", "t"] +[52.157329, "o", "h"] +[52.186814, "o", "e"] +[52.21519, "o", " "] +[52.245026, "o", "c"] +[52.27556, "o", "l"] +[52.305058, "o", "u"] +[52.3353, "o", "s"] +[52.365288, "o", "t"] +[52.394842, "o", "e"] +[52.424864, "o", "r"] +[52.45478, "o", "."] +[52.58669, "o", "\r\n"] +[52.587976, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[53.598547, "o", "k"] +[53.61519, "o", "w"] +[53.630715, "o", "o"] +[53.652597, "o", "k"] +[53.673226, "o", "c"] +[53.689178, "o", "t"] +[53.706654, "o", "l"] +[53.723774, "o", " "] +[53.738841, "o", "d"] +[53.754428, "o", "e"] +[53.771934, "o", "l"] +[53.789773, "o", "e"] +[53.80681, "o", "t"] +[53.824344, "o", "e"] +[53.841727, "o", " "] +[53.858842, "o", "c"] +[53.875783, "o", "l"] +[53.891986, "o", "u"] +[53.908714, "o", "s"] +[53.925196, "o", "t"] +[53.941037, "o", "e"] +[53.957699, "o", "r"] +[54.479475, "o", "\r\n"] +[54.511589, "o", "Cluster is stopping cluster=kwok\r\n"] +[54.913644, "o", "Cluster is stopped elapsed=0.4s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"] +[55.336666, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"] +[55.337526, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[57.347079, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[57.860627, "o", "#"] +[57.893921, "o", " "] +[57.924176, "o", "T"] +[57.949662, "o", "h"] +[57.975071, "o", "a"] +[58.005605, "o", "t"] +[58.031632, "o", "'"] +[58.060034, "o", "s"] +[58.088612, "o", " "] +[58.117847, "o", "a"] +[58.144151, "o", "l"] +[58.170094, "o", "l"] +[58.199243, "o", ","] +[58.228546, "o", " "] +[58.25846, "o", "e"] +[58.285732, "o", "n"] +[58.312642, "o", "j"] +[58.339173, "o", "o"] +[58.365485, "o", "y"] +[58.391018, "o", " "] +[58.416252, "o", "i"] +[58.440797, "o", "t"] +[58.469918, "o", "!"] +[58.601173, "o", "\r\n"] +[58.602611, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[59.613105, "o", "c"] +[59.630935, "o", "l"] +[59.645266, "o", "e"] +[59.665171, "o", "a"] +[59.682705, "o", "r"] +[60.206867, "o", "\r\n"] +[60.212787, "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..c948d70a7 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.demo @@ -0,0 +1,32 @@ +# Let's get started with kwokctl! +kwokctl create cluster + +# Use context +kubectl cluster-info --context kwok-kwok + +# 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..d04572ae1 --- /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'sgetting~/sigs.k8s.io/kwok$#Let'sgettingstarted~/sigs.k8s.io/kwok$#Let'sgettingstartedwith~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl!~/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.7scluster=kwokYoucannowuseyourclusterwith:kubectlcluster-info--contextkwok-kwokThanksforusingkwok!~/sigs.k8s.io/kwok$#Create~/sigs.k8s.io/kwok$#Createan~/sigs.k8s.io/kwok$#Createannodes.~/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-6t98r1/1Running05sapp-67f9df97bd-bltk41/1Running05sapp-67f9df97bd-vdr2w1/1Running05s~/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-6t98r1/1Running033sapp-67f9df97bd-bltk41/1Running033sapp-67f9df97bd-vdr2w1/1Running033s~/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'sget~/sigs.k8s.io/kwok$#Let'sgett~/sigs.k8s.io/kwok$#Let'sgetti~/sigs.k8s.io/kwok$#Let'sgettin~/sigs.k8s.io/kwok$#Let'sgettings~/sigs.k8s.io/kwok$#Let'sgettingst~/sigs.k8s.io/kwok$#Let'sgettingsta~/sigs.k8s.io/kwok$#Let'sgettingstar~/sigs.k8s.io/kwok$#Let'sgettingstart~/sigs.k8s.io/kwok$#Let'sgettingstarte~/sigs.k8s.io/kwok$#Let'sgettingstartedw~/sigs.k8s.io/kwok$#Let'sgettingstartedwi~/sigs.k8s.io/kwok$#Let'sgettingstartedwit~/sigs.k8s.io/kwok$#Let'sgettingstartedwithk~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkw~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl~/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$#Createa~/sigs.k8s.io/kwok$#Createann~/sigs.k8s.io/kwok$#Createanno~/sigs.k8s.io/kwok$#Createannod~/sigs.k8s.io/kwok$#Createannode~/sigs.k8s.io/kwok$#Createannodes~/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-bltk41/1Running~/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'shavealookatthepodnameagainapp-67f9df97bd-bltk41/1Running0~/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..273f19431 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.cast @@ -0,0 +1,819 @@ +{"version": 2, "width": 86, "height": 24, "timestamp": 1716349670, "env": {}} +[0.009657, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[0.519183, "o", "#"] +[0.551063, "o", " "] +[0.581477, "o", "L"] +[0.607661, "o", "e"] +[0.637227, "o", "t"] +[0.67363, "o", "'"] +[0.706961, "o", "s"] +[0.741272, "o", " "] +[0.774375, "o", "g"] +[0.802652, "o", "e"] +[0.828321, "o", "t"] +[0.858708, "o", "t"] +[0.883622, "o", "i"] +[0.912922, "o", "n"] +[0.942502, "o", "g"] +[0.972836, "o", " "] +[0.999878, "o", "s"] +[1.027584, "o", "t"] +[1.057468, "o", "a"] +[1.088313, "o", "r"] +[1.118363, "o", "t"] +[1.147875, "o", "e"] +[1.177596, "o", "d"] +[1.206748, "o", " "] +[1.234778, "o", "w"] +[1.264371, "o", "i"] +[1.291932, "o", "t"] +[1.317723, "o", "h"] +[1.343444, "o", " "] +[1.373028, "o", "k"] +[1.398555, "o", "w"] +[1.427785, "o", "o"] +[1.457073, "o", "k"] +[1.48596, "o", "c"] +[1.510582, "o", "t"] +[1.536456, "o", "l"] +[1.566085, "o", "!"] +[1.706381, "o", "\r\n"] +[1.707245, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[2.717585, "o", "k"] +[2.738841, "o", "w"] +[2.755927, "o", "o"] +[2.77186, "o", "k"] +[2.789089, "o", "c"] +[2.806172, "o", "t"] +[2.821957, "o", "l"] +[2.836621, "o", " "] +[2.852619, "o", "c"] +[2.869327, "o", "r"] +[2.886044, "o", "e"] +[2.902695, "o", "a"] +[2.918796, "o", "t"] +[2.933569, "o", "e"] +[2.947901, "o", " "] +[2.962805, "o", "c"] +[2.977746, "o", "l"] +[2.992994, "o", "u"] +[3.007983, "o", "s"] +[3.023476, "o", "t"] +[3.039937, "o", "e"] +[3.054028, "o", "r"] +[3.580576, "o", "\r\n"] +[3.61255, "o", "Cluster is creating cluster=kwok\r\n"] +[4.557955, "o", "Cluster is created elapsed=0.9s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"] +[5.198801, "o", "Cluster is started elapsed=0.6s 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.199552, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.211157, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.72021, "o", "#"] +[7.750337, "o", " "] +[7.779846, "o", "R"] +[7.809105, "o", "e"] +[7.838819, "o", "c"] +[7.868322, "o", "o"] +[7.897808, "o", "r"] +[7.923254, "o", "d"] +[7.949268, "o", " "] +[7.974709, "o", "i"] +[8.000104, "o", "t"] +[8.0257, "o", " "] +[8.051436, "o", "t"] +[8.080466, "o", "o"] +[8.109466, "o", " "] +[8.133128, "o", "r"] +[8.158311, "o", "e"] +[8.186458, "o", "c"] +[8.211368, "o", "o"] +[8.241339, "o", "r"] +[8.270582, "o", "d"] +[8.299824, "o", "i"] +[8.325219, "o", "n"] +[8.354291, "o", "g"] +[8.378211, "o", "."] +[8.403312, "o", "y"] +[8.430362, "o", "a"] +[8.456621, "o", "m"] +[8.484573, "o", "l"] +[8.616835, "o", "\r\n"] +[8.617676, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[9.627296, "o", "k"] +[9.649201, "o", "w"] +[9.666466, "o", "o"] +[9.682281, "o", "k"] +[9.700588, "o", "c"] +[9.717693, "o", "t"] +[9.733438, "o", "l"] +[9.750489, "o", " "] +[9.767507, "o", "s"] +[9.782998, "o", "n"] +[9.800284, "o", "a"] +[9.816691, "o", "p"] +[9.833161, "o", "s"] +[9.848344, "o", "h"] +[9.861399, "o", "o"] +[9.876347, "o", "t"] +[9.891482, "o", " "] +[9.906611, "o", "r"] +[9.920098, "o", "e"] +[9.93526, "o", "c"] +[9.948785, "o", "o"] +[9.964462, "o", "r"] +[9.97827, "o", "d"] +[9.993445, "o", " "] +[10.008476, "o", "-"] +[10.023791, "o", "-"] +[10.039001, "o", "p"] +[10.053377, "o", "a"] +[10.068256, "o", "t"] +[10.081985, "o", "h"] +[10.097711, "o", " "] +[10.113646, "o", "r"] +[10.129106, "o", "e"] +[10.143968, "o", "c"] +[10.159101, "o", "o"] +[10.174105, "o", "r"] +[10.188321, "o", "d"] +[10.204348, "o", "i"] +[10.218521, "o", "n"] +[10.233598, "o", "g"] +[10.248759, "o", "."] +[10.263831, "o", "y"] +[10.278901, "o", "a"] +[10.292165, "o", "m"] +[10.307032, "o", "l"] +[10.321975, "o", " "] +[10.336478, "o", "&"] +[10.858326, "o", "\r\n"] +[10.859085, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[10.878249, "o", "Saving snapshot and recording cluster=kwok\r\n"] +[10.92621, "o", "Recording cluster=kwok\r\nPress Ctrl+C to stop recording resources cluster=kwok\r\n"] +[12.864674, "o", "\r\n"] +[12.864733, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[13.37376, "o", "#"] +[13.399973, "o", " "] +[13.429427, "o", "R"] +[13.459232, "o", "e"] +[13.488724, "o", "c"] +[13.517976, "o", "o"] +[13.544358, "o", "r"] +[13.573033, "o", "d"] +[13.598926, "o", " "] +[13.62769, "o", "s"] +[13.656648, "o", "o"] +[13.686061, "o", "m"] +[13.714728, "o", "e"] +[13.744283, "o", " "] +[13.773538, "o", "c"] +[13.80249, "o", "h"] +[13.827086, "o", "a"] +[13.853663, "o", "n"] +[13.879518, "o", "g"] +[13.908905, "o", "e"] +[13.937882, "o", "."] +[14.077878, "o", "\r\n"] +[14.078994, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[15.091435, "o", "k"] +[15.106427, "o", "w"] +[15.121288, "o", "o"] +[15.134109, "o", "k"] +[15.147962, "o", "c"] +[15.162844, "o", "t"] +[15.177573, "o", "l"] +[15.192311, "o", " "] +[15.207252, "o", "s"] +[15.219676, "o", "c"] +[15.232512, "o", "a"] +[15.245247, "o", "l"] +[15.26006, "o", "e"] +[15.274879, "o", " "] +[15.287326, "o", "n"] +[15.302128, "o", "o"] +[15.315739, "o", "d"] +[15.331411, "o", "e"] +[15.344456, "o", " "] +[15.358484, "o", "-"] +[15.373306, "o", "-"] +[15.388352, "o", "r"] +[15.401385, "o", "e"] +[15.416326, "o", "p"] +[15.430947, "o", "l"] +[15.445107, "o", "i"] +[15.460021, "o", "c"] +[15.475024, "o", "a"] +[15.488104, "o", "s"] +[15.50296, "o", " "] +[15.515614, "o", "2"] +[16.039798, "o", "\r\n"] +[16.073126, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"] +[16.112634, "o", "Load resources counter=2 elapsed=14ms resource=nodes replicas=2 name=node cluster=kwok\r\n"] +[16.113907, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[17.121268, "o", "k"] +[17.137997, "o", "u"] +[17.15291, "o", "b"] +[17.168194, "o", "e"] +[17.181963, "o", "c"] +[17.197501, "o", "t"] +[17.212623, "o", "l"] +[17.227599, "o", " "] +[17.240668, "o", "c"] +[17.256025, "o", "r"] +[17.270493, "o", "e"] +[17.285827, "o", "a"] +[17.300172, "o", "t"] +[17.315436, "o", "e"] +[17.329683, "o", " "] +[17.343544, "o", "d"] +[17.357651, "o", "e"] +[17.371226, "o", "p"] +[17.386161, "o", "l"] +[17.40061, "o", "o"] +[17.415633, "o", "y"] +[17.430407, "o", "m"] +[17.443961, "o", "e"] +[17.458831, "o", "n"] +[17.474053, "o", "t"] +[17.488994, "o", " "] +[17.503818, "o", "a"] +[17.5186, "o", "p"] +[17.533175, "o", "p"] +[17.547818, "o", " "] +[17.562213, "o", "-"] +[17.57683, "o", "-"] +[17.591766, "o", "i"] +[17.604174, "o", "m"] +[17.619056, "o", "a"] +[17.633203, "o", "g"] +[17.648235, "o", "e"] +[17.662391, "o", "="] +[17.677483, "o", "a"] +[17.690263, "o", "p"] +[17.705328, "o", "p"] +[17.720424, "o", " "] +[17.73553, "o", "-"] +[17.750309, "o", "-"] +[17.765217, "o", "r"] +[17.780044, "o", "e"] +[17.794804, "o", "p"] +[17.809727, "o", "l"] +[17.824098, "o", "i"] +[17.838794, "o", "c"] +[17.853398, "o", "a"] +[17.868609, "o", "s"] +[17.883545, "o", "="] +[17.898471, "o", "3"] +[18.42716, "o", "\r\n"] +[18.50596, "o", "deployment.apps/app created\r\n"] +[18.507017, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[19.516746, "o", "k"] +[19.534475, "o", "u"] +[19.550197, "o", "b"] +[19.567562, "o", "e"] +[19.583754, "o", "c"] +[19.600197, "o", "t"] +[19.615951, "o", "l"] +[19.633003, "o", " "] +[19.650214, "o", "d"] +[19.665969, "o", "e"] +[19.679406, "o", "l"] +[19.694334, "o", "e"] +[19.709018, "o", "t"] +[19.72372, "o", "e"] +[19.736554, "o", " "] +[19.75125, "o", "d"] +[19.764144, "o", "e"] +[19.777986, "o", "p"] +[19.791762, "o", "l"] +[19.80614, "o", "o"] +[19.820744, "o", "y"] +[19.835393, "o", "m"] +[19.849239, "o", "e"] +[19.863802, "o", "n"] +[19.878475, "o", "t"] +[19.893353, "o", " "] +[19.907392, "o", "a"] +[19.922665, "o", "p"] +[19.938279, "o", "p"] +[20.455093, "o", "\r\n"] +[20.521087, "o", "deployment.apps \"app\" deleted\r\n"] +[20.532814, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[21.541123, "o", "k"] +[21.558808, "o", "w"] +[21.576822, "o", "o"] +[21.594982, "o", "k"] +[21.611026, "o", "c"] +[21.627098, "o", "t"] +[21.643472, "o", "l"] +[21.659907, "o", " "] +[21.676687, "o", "s"] +[21.692021, "o", "c"] +[21.708383, "o", "a"] +[21.725002, "o", "l"] +[21.741088, "o", "e"] +[21.75742, "o", " "] +[21.773031, "o", "n"] +[21.789498, "o", "o"] +[21.804371, "o", "d"] +[21.818433, "o", "e"] +[21.834886, "o", " "] +[21.851122, "o", "-"] +[21.867291, "o", "-"] +[21.882575, "o", "r"] +[21.897879, "o", "e"] +[21.910947, "o", "p"] +[21.924901, "o", "l"] +[21.9379, "o", "i"] +[21.951541, "o", "c"] +[21.967796, "o", "a"] +[21.982046, "o", "s"] +[21.995823, "o", " "] +[22.011399, "o", "0"] +[22.533372, "o", "\r\n"] +[22.571616, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"] +[22.616268, "o", "Deleted resources counter=2 elapsed=19ms resource=nodes replicas=0 name=node cluster=kwok\r\n"] +[22.617537, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[24.627293, "o", "\r\n"] +[24.629314, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[25.146884, "o", "#"] +[25.187288, "o", " "] +[25.215544, "o", "F"] +[25.245972, "o", "i"] +[25.271085, "o", "n"] +[25.300911, "o", "i"] +[25.328586, "o", "s"] +[25.358076, "o", "h"] +[25.386167, "o", " "] +[25.413198, "o", "t"] +[25.43897, "o", "h"] +[25.468941, "o", "e"] +[25.494434, "o", " "] +[25.524079, "o", "r"] +[25.549557, "o", "e"] +[25.578896, "o", "c"] +[25.604877, "o", "o"] +[25.630633, "o", "r"] +[25.660216, "o", "d"] +[25.689784, "o", "."] +[25.821093, "o", "\r\n"] +[25.821226, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[26.830563, "o", "p"] +[26.85031, "o", "k"] +[26.867867, "o", "i"] +[26.882491, "o", "l"] +[26.89907, "o", "l"] +[26.915394, "o", " "] +[26.932182, "o", "k"] +[26.948804, "o", "w"] +[26.965093, "o", "o"] +[26.981106, "o", "k"] +[26.995772, "o", "c"] +[27.011769, "o", "t"] +[27.027242, "o", "l"] +[27.547505, "o", "\r\n"] +[27.582951, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[29.592648, "o", "\r\n"] +[29.593928, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[30.107228, "o", "#"] +[30.137953, "o", " "] +[30.167006, "o", "R"] +[30.192945, "o", "e"] +[30.227154, "o", "c"] +[30.257464, "o", "r"] +[30.284787, "o", "e"] +[30.316602, "o", "a"] +[30.343365, "o", "t"] +[30.372772, "o", "e"] +[30.402474, "o", " "] +[30.432008, "o", "c"] +[30.459576, "o", "l"] +[30.489142, "o", "u"] +[30.51878, "o", "s"] +[30.544768, "o", "t"] +[30.571909, "o", "e"] +[30.597957, "o", "r"] +[30.623687, "o", "."] +[30.759253, "o", "\r\n"] +[30.760433, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[31.775136, "o", "k"] +[31.792945, "o", "w"] +[31.810381, "o", "o"] +[31.826969, "o", "k"] +[31.843664, "o", "c"] +[31.860707, "o", "t"] +[31.877282, "o", "l"] +[31.892665, "o", " "] +[31.90852, "o", "d"] +[31.922405, "o", "e"] +[31.939169, "o", "l"] +[31.954565, "o", "e"] +[31.969997, "o", "t"] +[31.985217, "o", "e"] +[31.998211, "o", " "] +[32.012635, "o", "c"] +[32.026127, "o", "l"] +[32.040354, "o", "u"] +[32.055579, "o", "s"] +[32.070725, "o", "t"] +[32.083857, "o", "e"] +[32.098751, "o", "r"] +[32.114253, "o", " "] +[32.129245, "o", ">"] +[32.144315, "o", " "] +[32.160234, "o", "/"] +[32.177204, "o", "d"] +[32.192756, "o", "e"] +[32.20812, "o", "v"] +[32.223287, "o", "/"] +[32.23829, "o", "n"] +[32.253369, "o", "u"] +[32.267159, "o", "l"] +[32.283246, "o", "l"] +[32.299218, "o", " "] +[32.313834, "o", "2"] +[32.329689, "o", ">"] +[32.345851, "o", "&"] +[32.362392, "o", "1"] +[32.378985, "o", " "] +[32.39537, "o", "&"] +[32.411757, "o", "&"] +[32.427783, "o", " "] +[32.443025, "o", "k"] +[32.459359, "o", "w"] +[32.475304, "o", "o"] +[32.491566, "o", "k"] +[32.50799, "o", "c"] +[32.52384, "o", "t"] +[32.539903, "o", "l"] +[32.556079, "o", " "] +[32.570785, "o", "c"] +[32.585452, "o", "r"] +[32.599817, "o", "e"] +[32.615867, "o", "a"] +[32.631927, "o", "t"] +[32.646757, "o", "e"] +[32.664984, "o", " "] +[32.68482, "o", "c"] +[32.701772, "o", "l"] +[32.716682, "o", "u"] +[32.731416, "o", "s"] +[32.746609, "o", "t"] +[32.76151, "o", "e"] +[32.776474, "o", "r"] +[32.79136, "o", " "] +[32.806397, "o", ">"] +[32.821577, "o", " "] +[32.836642, "o", "/"] +[32.849763, "o", "d"] +[32.865257, "o", "e"] +[32.880758, "o", "v"] +[32.894889, "o", "/"] +[32.910773, "o", "n"] +[32.926833, "o", "u"] +[32.941944, "o", "l"] +[32.956964, "o", "l"] +[32.969937, "o", " "] +[32.985235, "o", "2"] +[32.998232, "o", ">"] +[33.013983, "o", "&"] +[33.029799, "o", "1"] +[33.556711, "o", "\r\n"] +[35.838524, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[37.847451, "o", "\r\n"] +[37.848837, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[38.359094, "o", "#"] +[38.388749, "o", " "] +[38.418902, "o", "L"] +[38.448029, "o", "e"] +[38.473391, "o", "t"] +[38.501727, "o", "'"] +[38.528949, "o", "s"] +[38.559113, "o", " "] +[38.58883, "o", "h"] +[38.61475, "o", "a"] +[38.639211, "o", "v"] +[38.668353, "o", "e"] +[38.698361, "o", " "] +[38.726918, "o", "a"] +[38.75257, "o", " "] +[38.778616, "o", "l"] +[38.806273, "o", "o"] +[38.836149, "o", "o"] +[38.865773, "o", "k"] +[38.895252, "o", " "] +[38.924465, "o", "a"] +[38.9534, "o", "t"] +[38.97839, "o", " "] +[39.007221, "o", "t"] +[39.037113, "o", "h"] +[39.067329, "o", "e"] +[39.096698, "o", " "] +[39.124569, "o", "r"] +[39.152152, "o", "e"] +[39.175818, "o", "s"] +[39.204536, "o", "o"] +[39.229194, "o", "u"] +[39.258269, "o", "r"] +[39.287438, "o", "c"] +[39.317567, "o", "e"] +[39.34801, "o", " "] +[39.375807, "o", "c"] +[39.400843, "o", "h"] +[39.426187, "o", "a"] +[39.45257, "o", "n"] +[39.482916, "o", "g"] +[39.51187, "o", "e"] +[39.541733, "o", "."] +[39.672755, "o", "\r\n"] +[39.673125, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[40.685318, "o", "k"] +[40.704401, "o", "u"] +[40.721042, "o", "b"] +[40.73663, "o", "e"] +[40.752588, "o", "c"] +[40.767585, "o", "t"] +[40.783279, "o", "l"] +[40.798983, "o", " "] +[40.814558, "o", "g"] +[40.830317, "o", "e"] +[40.846457, "o", "t"] +[40.862705, "o", " "] +[40.879195, "o", "n"] +[40.895397, "o", "o"] +[40.910925, "o", "d"] +[40.925861, "o", "e"] +[40.939775, "o", " "] +[40.955653, "o", "-"] +[40.971647, "o", "-"] +[40.986242, "o", "w"] +[41.002112, "o", "a"] +[41.018143, "o", "t"] +[41.035156, "o", "c"] +[41.051692, "o", "h"] +[41.06817, "o", " "] +[41.084711, "o", "&"] +[41.607749, "o", "\r\n"] +[41.612484, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[42.626443, "o", "k"] +[42.646118, "o", "u"] +[42.663658, "o", "b"] +[42.679596, "o", "e"] +[42.697474, "o", "c"] +[42.714197, "o", "t"] +[42.730975, "o", "l"] +[42.748234, "o", " "] +[42.763223, "o", "g"] +[42.779002, "o", "e"] +[42.795244, "o", "t"] +[42.808121, "o", " "] +[42.823274, "o", "d"] +[42.838319, "o", "e"] +[42.853627, "o", "p"] +[42.86883, "o", "l"] +[42.883569, "o", "o"] +[42.89869, "o", "y"] +[42.91442, "o", "m"] +[42.930271, "o", "e"] +[42.94468, "o", "n"] +[42.96042, "o", "t"] +[42.976253, "o", " "] +[42.990953, "o", "-"] +[43.007253, "o", "-"] +[43.021712, "o", "w"] +[43.037338, "o", "a"] +[43.053122, "o", "t"] +[43.068705, "o", "c"] +[43.082358, "o", "h"] +[43.098644, "o", " "] +[43.114665, "o", "&"] +[43.636179, "o", "\r\n"] +[43.641194, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[44.653879, "o", "k"] +[44.671505, "o", "u"] +[44.689419, "o", "b"] +[44.706141, "o", "e"] +[44.722618, "o", "c"] +[44.738955, "o", "t"] +[44.755257, "o", "l"] +[44.772055, "o", " "] +[44.788382, "o", "g"] +[44.802669, "o", "e"] +[44.817363, "o", "t"] +[44.832964, "o", " "] +[44.84688, "o", "p"] +[44.863327, "o", "o"] +[44.878501, "o", "d"] +[44.892061, "o", " "] +[44.90726, "o", "-"] +[44.921711, "o", "-"] +[44.936727, "o", "w"] +[44.952541, "o", "a"] +[44.96626, "o", "t"] +[44.980824, "o", "c"] +[44.994417, "o", "h"] +[45.010181, "o", " "] +[45.026396, "o", "&"] +[45.55377, "o", "\r\n"] +[45.555973, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[47.567503, "o", "\r\n"] +[47.568524, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[48.083725, "o", "#"] +[48.115495, "o", " "] +[48.142733, "o", "R"] +[48.172172, "o", "e"] +[48.204999, "o", "p"] +[48.237252, "o", "l"] +[48.270638, "o", "a"] +[48.30171, "o", "y"] +[48.332013, "o", " "] +[48.361547, "o", "i"] +[48.392023, "o", "t"] +[48.422087, "o", " "] +[48.448548, "o", "f"] +[48.474137, "o", "r"] +[48.503015, "o", "o"] +[48.532408, "o", "m"] +[48.561696, "o", " "] +[48.591083, "o", "c"] +[48.616075, "o", "l"] +[48.640935, "o", "u"] +[48.669922, "o", "s"] +[48.699672, "o", "t"] +[48.728517, "o", "e"] +[48.75353, "o", "r"] +[48.779761, "o", "."] +[48.80604, "o", "y"] +[48.835471, "o", "a"] +[48.861861, "o", "m"] +[48.886799, "o", "l"] +[49.021718, "o", "\r\n"] +[49.022655, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[50.036631, "o", "k"] +[50.056046, "o", "w"] +[50.07379, "o", "o"] +[50.089929, "o", "k"] +[50.106455, "o", "c"] +[50.121151, "o", "t"] +[50.137553, "o", "l"] +[50.154422, "o", " "] +[50.171031, "o", "s"] +[50.186873, "o", "n"] +[50.203532, "o", "a"] +[50.217628, "o", "p"] +[50.231529, "o", "s"] +[50.247579, "o", "h"] +[50.263661, "o", "o"] +[50.279631, "o", "t"] +[50.295576, "o", " "] +[50.311472, "o", "r"] +[50.32622, "o", "e"] +[50.340095, "o", "p"] +[50.355108, "o", "l"] +[50.370036, "o", "a"] +[50.385279, "o", "y"] +[50.400064, "o", " "] +[50.41548, "o", "-"] +[50.428627, "o", "-"] +[50.442135, "o", "p"] +[50.457491, "o", "a"] +[50.472068, "o", "t"] +[50.485858, "o", "h"] +[50.501402, "o", " "] +[50.515682, "o", "r"] +[50.529618, "o", "e"] +[50.54489, "o", "c"] +[50.560661, "o", "o"] +[50.574987, "o", "r"] +[50.590877, "o", "d"] +[50.607156, "o", "i"] +[50.623319, "o", "n"] +[50.639884, "o", "g"] +[50.655726, "o", "."] +[50.67195, "o", "y"] +[50.688902, "o", "a"] +[50.704837, "o", "m"] +[50.720672, "o", "l"] +[51.242502, "o", "\r\n"] +[51.815958, "o", "Restoring snapshot and replaying cluster=kwok\r\n"] +[51.972408, "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"] +[51.972525, "o", "\u001b[0;31mERROR\u001b[0m Failed to get key err=\"error not in terminal\" cluster=kwok\r\n"] +[57.091819, "o", "NAME STATUS ROLES AGE VERSION\r\nnode-000000 Unknown agent 1s \r\n"] +[57.122919, "o", "node-000001 Unknown agent 1s \r\n"] +[57.184842, "o", "node-000000 Unknown agent 1s \r\n"] +[57.187708, "o", "node-000001 Unknown agent 1s \r\n"] +[57.188822, "o", "node-000000 Ready agent 1s kwok-v0.5.2\r\n"] +[57.190629, "o", "node-000001 Ready agent 1s kwok-v0.5.2\r\n"] +[59.506593, "o", "NAME READY UP-TO-DATE AVAILABLE AGE\r\napp 0/3 0 0 1s\r\n"] +[59.571386, "o", "app 0/3 0 0 1s\r\n"] +[59.574577, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-8dsgm 0/1 Pending 0 "] +[59.574601, "o", "1s\r\n"] +[59.588672, "o", "app-67f9df97bd-d5v7p 0/1 Pending 0 1s\r\n"] +[59.589771, "o", "app-67f9df97bd-6cdtz 0/1 Pending 0 1s\r\n"] +[59.627875, "o", "app-67f9df97bd-8dsgm 0/1 Pending 0 1s\r\n"] +[59.628777, "o", "app 0/3 0 0 1s\r\n"] +[59.646496, "o", "app-67f9df97bd-d5v7p 0/1 Pending 0 1s\r\n"] +[59.647506, "o", "app-67f9df97bd-6cdtz 0/1 Pending 0 1s\r\n"] +[59.652188, "o", "app-67f9df97bd-d5v7p 1/1 Running 0 1s\r\n"] +[59.653613, "o", "app-67f9df97bd-8dsgm 1/1 Running 0 1s\r\n"] +[59.654548, "o", "app-67f9df97bd-6cdtz 1/1 Running 0 1s\r\n"] +[59.65552, "o", "app 0/3 3 0 1s\r\n"] +[59.658229, "o", "app 1/3 3 1 1s\r\n"] +[59.659327, "o", "app 3/3 3 3 1s"] +[59.659372, "o", "\r\n"] +[61.519793, "o", "app 3/3 3 3 3s\r\n"] +[61.536878, "o", "app-67f9df97bd-6cdtz 1/1 Terminating 0 3s\r\n"] +[61.538649, "o", "app-67f9df97bd-d5v7p 1/1 Terminating 0 3s\r\n"] +[61.542042, "o", "app-67f9df97bd-8dsgm 1/1 Terminating 0 3s\r\n"] +[61.544239, "o", "app-67f9df97bd-6cdtz 1/1 Terminating 0 3s\r\n"] +[61.54765, "o", "app-67f9df97bd-d5v7p 1/1 Terminating 0 3s\r\n"] +[61.549412, "o", "app-67f9df97bd-8dsgm 1/1 Terminating 0 3s\r\n"] +[61.551116, "o", "app-67f9df97bd-6cdtz 1/1 Terminating 0 3s\r\n"] +[61.552843, "o", "app-67f9df97bd-d5v7p 1/1 Terminating 0 3s\r\n"] +[61.553884, "o", "app-67f9df97bd-8dsgm 1/1 Terminating 0 3s\r\n"] +[63.615781, "o", "node-000000 Ready agent 8s kwok-v0.5.2\r\n"] +[63.623477, "o", "node-000001 Ready agent 8s kwok-v0.5.2\r\n"] +[67.579557, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[69.590776, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[70.104261, "o", "#"] +[70.134265, "o", " "] +[70.160011, "o", "D"] +[70.185803, "o", "e"] +[70.211289, "o", "l"] +[70.24037, "o", "e"] +[70.266579, "o", "t"] +[70.295842, "o", "e"] +[70.322092, "o", " "] +[70.351381, "o", "t"] +[70.380476, "o", "h"] +[70.409733, "o", "e"] +[70.439326, "o", " "] +[70.468738, "o", "c"] +[70.49382, "o", "l"] +[70.52339, "o", "u"] +[70.553373, "o", "s"] +[70.583147, "o", "t"] +[70.608317, "o", "e"] +[70.633733, "o", "r"] +[70.663016, "o", "."] +[70.807795, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[71.819158, "o", "k"] +[71.837872, "o", "w"] +[71.853381, "o", "o"] +[71.869878, "o", "k"] +[71.886121, "o", "c"] +[71.902689, "o", "t"] +[71.919201, "o", "l"] +[71.935789, "o", " "] +[71.952498, "o", "d"] +[71.969003, "o", "e"] +[71.984949, "o", "l"] +[72.001775, "o", "e"] +[72.018054, "o", "t"] +[72.035067, "o", "e"] +[72.052082, "o", " "] +[72.068913, "o", "c"] +[72.084145, "o", "l"] +[72.098642, "o", "u"] +[72.113655, "o", "s"] +[72.128656, "o", "t"] +[72.147887, "o", "e"] +[72.179268, "o", "r"] +[72.701803, "o", "\r\n"] +[72.736677, "o", "Cluster is stopping cluster=kwok\r\n"] +[73.110512, "o", "Cluster is stopped elapsed=0.3s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"] +[73.531785, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"] +[73.532617, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[75.541305, "o", "\r\n"] +[75.541745, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[76.053675, "o", "#"] +[76.081412, "o", " "] +[76.109831, "o", "T"] +[76.13671, "o", "h"] +[76.160317, "o", "a"] +[76.185313, "o", "t"] +[76.209809, "o", "'"] +[76.241437, "o", "s"] +[76.268683, "o", " "] +[76.297419, "o", "a"] +[76.329232, "o", "l"] +[76.37641, "o", "l"] +[76.402847, "o", ","] +[76.429075, "o", " "] +[76.459537, "o", "e"] +[76.489269, "o", "n"] +[76.516587, "o", "j"] +[76.546843, "o", "o"] +[76.576586, "o", "y"] +[76.604658, "o", " "] +[76.634459, "o", "i"] +[76.661905, "o", "t"] +[76.689825, "o", "!"] +[76.826048, "o", "\r\n"] +[76.826958, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[77.840459, "o", "c"] +[77.860545, "o", "l"] +[77.877586, "o", "e"] +[77.894657, "o", "a"] +[77.911521, "o", "r"] +[78.443225, "o", "\r\n"] +[78.448094, "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..e2b269c71 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.demo @@ -0,0 +1,34 @@ +# Let's get started with kwokctl! +kwokctl create cluster + +# Use context +kubectl cluster-info --context kwok-kwok + +# 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..bf04f7fd4 --- /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'sgetting~/sigs.k8s.io/kwok$#Let'sgettingstarted~/sigs.k8s.io/kwok$#Let'sgettingstartedwith~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl!~/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.6scluster=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=14msresource=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=19msresource=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-8dsgm0/1Pending01sapp-67f9df97bd-d5v7p0/1Pending01sapp-67f9df97bd-6cdtz0/1Pending01sapp-67f9df97bd-d5v7p1/1Running01sapp-67f9df97bd-8dsgm1/1Running01sapp-67f9df97bd-6cdtz1/1Running01sapp0/3301sapp1/3311sapp3/3331sapp3/3333sapp-67f9df97bd-6cdtz1/1Terminating03sapp-67f9df97bd-d5v7p1/1Terminating03sapp-67f9df97bd-8dsgm1/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'sget~/sigs.k8s.io/kwok$#Let'sgett~/sigs.k8s.io/kwok$#Let'sgetti~/sigs.k8s.io/kwok$#Let'sgettin~/sigs.k8s.io/kwok$#Let'sgettings~/sigs.k8s.io/kwok$#Let'sgettingst~/sigs.k8s.io/kwok$#Let'sgettingsta~/sigs.k8s.io/kwok$#Let'sgettingstar~/sigs.k8s.io/kwok$#Let'sgettingstart~/sigs.k8s.io/kwok$#Let'sgettingstarte~/sigs.k8s.io/kwok$#Let'sgettingstartedw~/sigs.k8s.io/kwok$#Let'sgettingstartedwi~/sigs.k8s.io/kwok$#Let'sgettingstartedwit~/sigs.k8s.io/kwok$#Let'sgettingstartedwithk~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkw~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl~/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.yamapp-67f9df97bd-8dsgm0/1Pending0~/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..04ac3b7a8 --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.cast @@ -0,0 +1,700 @@ +{"version": 2, "width": 86, "height": 24, "timestamp": 1716349602, "env": {}} +[0.009714, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[0.518226, "o", "#"] +[0.546299, "o", " "] +[0.579011, "o", "L"] +[0.613515, "o", "e"] +[0.64326, "o", "t"] +[0.671353, "o", "'"] +[0.698388, "o", "s"] +[0.725414, "o", " "] +[0.75351, "o", "g"] +[0.783002, "o", "e"] +[0.811794, "o", "t"] +[0.841773, "o", "t"] +[0.87023, "o", "i"] +[0.90015, "o", "n"] +[0.929228, "o", "g"] +[0.955616, "o", " "] +[0.985111, "o", "s"] +[1.01063, "o", "t"] +[1.038225, "o", "a"] +[1.062113, "o", "r"] +[1.087416, "o", "t"] +[1.11573, "o", "e"] +[1.139692, "o", "d"] +[1.168982, "o", " "] +[1.194085, "o", "w"] +[1.224282, "o", "i"] +[1.251894, "o", "t"] +[1.279529, "o", "h"] +[1.314429, "o", " "] +[1.342249, "o", "k"] +[1.368842, "o", "w"] +[1.400011, "o", "o"] +[1.430761, "o", "k"] +[1.457258, "o", "c"] +[1.48251, "o", "t"] +[1.509079, "o", "l"] +[1.539574, "o", "!"] +[1.681111, "o", "\r\n"] +[1.681873, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[2.693557, "o", "k"] +[2.711576, "o", "w"] +[2.728436, "o", "o"] +[2.745204, "o", "k"] +[2.759929, "o", "c"] +[2.776668, "o", "t"] +[2.791001, "o", "l"] +[2.807494, "o", " "] +[2.823471, "o", "c"] +[2.839139, "o", "r"] +[2.85521, "o", "e"] +[2.871315, "o", "a"] +[2.887371, "o", "t"] +[2.903728, "o", "e"] +[2.92029, "o", " "] +[2.9368, "o", "c"] +[2.953375, "o", "l"] +[2.970281, "o", "u"] +[2.984421, "o", "s"] +[3.000939, "o", "t"] +[3.017368, "o", "e"] +[3.033658, "o", "r"] +[3.555423, "o", "\r\n"] +[3.588958, "o", "Cluster is creating cluster=kwok\r\n"] +[4.459084, "o", "Cluster is created elapsed=0.8s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"] +[5.146782, "o", "Cluster is started elapsed=0.6s 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.147643, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.157, "o", "\r\n"] +[7.158047, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[7.67291, "o", "#"] +[7.702122, "o", " "] +[7.732357, "o", "C"] +[7.762453, "o", "r"] +[7.789118, "o", "e"] +[7.814731, "o", "a"] +[7.844272, "o", "t"] +[7.873941, "o", "e"] +[7.903147, "o", " "] +[7.932031, "o", "a"] +[7.958963, "o", "n"] +[7.987158, "o", " "] +[8.016738, "o", "n"] +[8.042003, "o", "o"] +[8.06688, "o", "d"] +[8.092004, "o", "e"] +[8.117015, "o", "s"] +[8.146274, "o", "."] +[8.282812, "o", "\r\n"] +[8.283103, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[9.292688, "o", "k"] +[9.307945, "o", "w"] +[9.322311, "o", "o"] +[9.339388, "o", "k"] +[9.357815, "o", "c"] +[9.374463, "o", "t"] +[9.390515, "o", "l"] +[9.406182, "o", " "] +[9.423217, "o", "s"] +[9.438798, "o", "c"] +[9.456381, "o", "a"] +[9.472113, "o", "l"] +[9.489183, "o", "e"] +[9.504323, "o", " "] +[9.521065, "o", "n"] +[9.538222, "o", "o"] +[9.554858, "o", "d"] +[9.57169, "o", "e"] +[9.587143, "o", " "] +[9.603076, "o", "-"] +[9.617967, "o", "-"] +[9.634341, "o", "r"] +[9.649241, "o", "e"] +[9.66563, "o", "p"] +[9.681675, "o", "l"] +[9.696327, "o", "i"] +[9.712054, "o", "c"] +[9.72693, "o", "a"] +[9.741809, "o", "s"] +[9.754359, "o", " "] +[9.767516, "o", "2"] +[10.290666, "o", "\r\n"] +[10.324302, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"] +[10.369098, "o", "Load resources counter=2 elapsed=22ms resource=nodes replicas=2 name=node cluster=kwok\r\n"] +[10.370272, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[12.383749, "o", "\r\n"] +[12.383922, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[12.898971, "o", "#"] +[12.930452, "o", " "] +[12.960537, "o", "A"] +[12.986087, "o", "p"] +[13.015438, "o", "p"] +[13.041412, "o", "l"] +[13.067027, "o", "y"] +[13.091848, "o", " "] +[13.118472, "o", "a"] +[13.142055, "o", " "] +[13.166234, "o", "d"] +[13.194384, "o", "e"] +[13.220744, "o", "p"] +[13.249417, "o", "l"] +[13.279114, "o", "o"] +[13.305373, "o", "y"] +[13.334634, "o", "m"] +[13.358995, "o", "e"] +[13.38816, "o", "n"] +[13.412791, "o", "t"] +[13.438138, "o", "."] +[13.571885, "o", "\r\n"] +[13.572818, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[14.585758, "o", "k"] +[14.605122, "o", "u"] +[14.622588, "o", "b"] +[14.63951, "o", "e"] +[14.656217, "o", "c"] +[14.672861, "o", "t"] +[14.689137, "o", "l"] +[14.705626, "o", " "] +[14.721849, "o", "c"] +[14.737159, "o", "r"] +[14.751472, "o", "e"] +[14.766751, "o", "a"] +[14.780639, "o", "t"] +[14.796167, "o", "e"] +[14.811703, "o", " "] +[14.827011, "o", "d"] +[14.841943, "o", "e"] +[14.858133, "o", "p"] +[14.873882, "o", "l"] +[14.889667, "o", "o"] +[14.905797, "o", "y"] +[14.921896, "o", "m"] +[14.938376, "o", "e"] +[14.952542, "o", "n"] +[14.968477, "o", "t"] +[14.984482, "o", " "] +[14.997947, "o", "a"] +[15.012002, "o", "p"] +[15.027523, "o", "p"] +[15.043857, "o", " "] +[15.058287, "o", "-"] +[15.072752, "o", "-"] +[15.088558, "o", "i"] +[15.103146, "o", "m"] +[15.116215, "o", "a"] +[15.131223, "o", "g"] +[15.1439, "o", "e"] +[15.159088, "o", "="] +[15.17194, "o", "a"] +[15.187088, "o", "p"] +[15.201207, "o", "p"] +[15.216309, "o", " "] +[15.231409, "o", "-"] +[15.244775, "o", "-"] +[15.26026, "o", "r"] +[15.275609, "o", "e"] +[15.291723, "o", "p"] +[15.305713, "o", "l"] +[15.321564, "o", "i"] +[15.337777, "o", "c"] +[15.354156, "o", "a"] +[15.371575, "o", "s"] +[15.386884, "o", "="] +[15.400544, "o", "3"] +[15.925598, "o", "\r\n"] +[16.003494, "o", "deployment.apps/app created\r\n"] +[16.004438, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[18.014825, "o", "\r\n"] +[18.016152, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[18.528387, "o", "#"] +[18.566261, "o", " "] +[18.595471, "o", "L"] +[18.621033, "o", "e"] +[18.650319, "o", "t"] +[18.680239, "o", "'"] +[18.709815, "o", "s"] +[18.737869, "o", " "] +[18.767488, "o", "h"] +[18.797255, "o", "a"] +[18.827028, "o", "v"] +[18.854445, "o", "e"] +[18.879193, "o", " "] +[18.904359, "o", "a"] +[18.929451, "o", " "] +[18.954465, "o", "l"] +[18.979277, "o", "o"] +[19.005667, "o", "o"] +[19.031372, "o", "k"] +[19.056926, "o", " "] +[19.086209, "o", "a"] +[19.114946, "o", "t"] +[19.144267, "o", " "] +[19.173746, "o", "t"] +[19.203632, "o", "h"] +[19.229193, "o", "e"] +[19.258885, "o", " "] +[19.284172, "o", "p"] +[19.313751, "o", "o"] +[19.339238, "o", "d"] +[19.366968, "o", " "] +[19.39262, "o", "n"] +[19.420393, "o", "a"] +[19.450045, "o", "m"] +[19.475583, "o", "e"] +[19.504222, "o", "."] +[19.643593, "o", "\r\n"] +[19.644504, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[20.657776, "o", "k"] +[20.676109, "o", "u"] +[20.692533, "o", "b"] +[20.709497, "o", "e"] +[20.724009, "o", "c"] +[20.740245, "o", "t"] +[20.756489, "o", "l"] +[20.773094, "o", " "] +[20.78905, "o", "g"] +[20.805297, "o", "e"] +[20.820917, "o", "t"] +[20.835982, "o", " "] +[20.852008, "o", "p"] +[20.868016, "o", "o"] +[20.883447, "o", "d"] +[21.403082, "o", "\r\n"] +[21.474402, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-4wp4g 1/1 Running 0 5s\r\napp-67f9df97bd-88dfh 1/1 Running 0 5s\r\napp-67f9df97bd-jjvfk 1/1 Running 0 "] +[21.474446, "o", "5s\r\n"] +[21.475384, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[23.484276, "o", "\r\n"] +[23.484429, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[23.999135, "o", "#"] +[24.030305, "o", " "] +[24.059151, "o", "S"] +[24.088897, "o", "a"] +[24.118853, "o", "v"] +[24.151232, "o", "e"] +[24.181627, "o", " "] +[24.209383, "o", "i"] +[24.234657, "o", "t"] +[24.262781, "o", " "] +[24.288946, "o", "t"] +[24.313761, "o", "o"] +[24.342156, "o", " "] +[24.376007, "o", "c"] +[24.403569, "o", "l"] +[24.430843, "o", "u"] +[24.458959, "o", "s"] +[24.489546, "o", "t"] +[24.519724, "o", "e"] +[24.546116, "o", "r"] +[24.576028, "o", "."] +[24.605617, "o", "y"] +[24.635453, "o", "a"] +[24.661845, "o", "m"] +[24.689652, "o", "l"] +[24.8309, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[25.843561, "o", "k"] +[25.863154, "o", "w"] +[25.880114, "o", "o"] +[25.894647, "o", "k"] +[25.91173, "o", "c"] +[25.92686, "o", "t"] +[25.941969, "o", "l"] +[25.959231, "o", " "] +[25.975976, "o", "s"] +[25.993154, "o", "n"] +[26.010199, "o", "a"] +[26.025167, "o", "p"] +[26.041486, "o", "s"] +[26.057504, "o", "h"] +[26.071835, "o", "o"] +[26.088087, "o", "t"] +[26.101996, "o", " "] +[26.117639, "o", "r"] +[26.135114, "o", "e"] +[26.150464, "o", "c"] +[26.164673, "o", "o"] +[26.180192, "o", "r"] +[26.196195, "o", "d"] +[26.211873, "o", " "] +[26.228233, "o", "-"] +[26.243823, "o", "-"] +[26.26018, "o", "s"] +[26.275667, "o", "n"] +[26.290306, "o", "a"] +[26.306023, "o", "p"] +[26.321788, "o", "s"] +[26.336539, "o", "h"] +[26.352725, "o", "o"] +[26.368317, "o", "t"] +[26.385577, "o", " "] +[26.402336, "o", "-"] +[26.41754, "o", "-"] +[26.432441, "o", "p"] +[26.448719, "o", "a"] +[26.464729, "o", "t"] +[26.478616, "o", "h"] +[26.495327, "o", " "] +[26.511564, "o", "c"] +[26.527148, "o", "l"] +[26.543526, "o", "u"] +[26.559634, "o", "s"] +[26.574031, "o", "t"] +[26.586857, "o", "e"] +[26.600765, "o", "r"] +[26.616349, "o", "."] +[26.631901, "o", "y"] +[26.647972, "o", "a"] +[26.662183, "o", "m"] +[26.678301, "o", "l"] +[27.199941, "o", "\r\n"] +[27.23517, "o", "Saving snapshot cluster=kwok\r\n"] +[27.29905, "o", "Saved snapshot cluster=kwok\r\n"] +[27.300007, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[29.304697, "o", "\r\n"] +[29.305559, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[29.819009, "o", "#"] +[29.848084, "o", " "] +[29.878607, "o", "R"] +[29.908881, "o", "e"] +[29.939632, "o", "c"] +[29.966873, "o", "r"] +[29.992137, "o", "e"] +[30.021658, "o", "a"] +[30.050672, "o", "t"] +[30.078492, "o", "e"] +[30.108747, "o", " "] +[30.137044, "o", "c"] +[30.163564, "o", "l"] +[30.189352, "o", "u"] +[30.215092, "o", "s"] +[30.244596, "o", "t"] +[30.274665, "o", "e"] +[30.301225, "o", "r"] +[30.32728, "o", "."] +[30.461645, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[31.472777, "o", "k"] +[31.492336, "o", "w"] +[31.508511, "o", "o"] +[31.526276, "o", "k"] +[31.54333, "o", "c"] +[31.560508, "o", "t"] +[31.577147, "o", "l"] +[31.5918, "o", " "] +[31.608563, "o", "d"] +[31.624916, "o", "e"] +[31.638264, "o", "l"] +[31.654051, "o", "e"] +[31.670249, "o", "t"] +[31.686367, "o", "e"] +[31.70272, "o", " "] +[31.718802, "o", "c"] +[31.734846, "o", "l"] +[31.751708, "o", "u"] +[31.768064, "o", "s"] +[31.784089, "o", "t"] +[31.800538, "o", "e"] +[31.816543, "o", "r"] +[31.832552, "o", " "] +[31.848638, "o", ">"] +[31.864678, "o", " "] +[31.881269, "o", "/"] +[31.895949, "o", "d"] +[31.912238, "o", "e"] +[31.928532, "o", "v"] +[31.945113, "o", "/"] +[31.96162, "o", "n"] +[31.978224, "o", "u"] +[31.99396, "o", "l"] +[32.009536, "o", "l"] +[32.02275, "o", " "] +[32.038592, "o", "2"] +[32.054418, "o", ">"] +[32.068158, "o", "&"] +[32.081924, "o", "1"] +[32.095339, "o", " "] +[32.110918, "o", "&"] +[32.127981, "o", "&"] +[32.144286, "o", " "] +[32.159533, "o", "k"] +[32.174608, "o", "w"] +[32.189581, "o", "o"] +[32.204982, "o", "k"] +[32.219542, "o", "c"] +[32.235412, "o", "t"] +[32.249045, "o", "l"] +[32.264818, "o", " "] +[32.278835, "o", "c"] +[32.293547, "o", "r"] +[32.308278, "o", "e"] +[32.323748, "o", "a"] +[32.337502, "o", "t"] +[32.352867, "o", "e"] +[32.368493, "o", " "] +[32.384165, "o", "c"] +[32.399737, "o", "l"] +[32.416045, "o", "u"] +[32.432546, "o", "s"] +[32.448523, "o", "t"] +[32.462581, "o", "e"] +[32.47811, "o", "r"] +[32.494255, "o", " "] +[32.509663, "o", ">"] +[32.526275, "o", " "] +[32.542772, "o", "/"] +[32.558784, "o", "d"] +[32.572582, "o", "e"] +[32.588755, "o", "v"] +[32.604953, "o", "/"] +[32.619833, "o", "n"] +[32.633467, "o", "u"] +[32.649048, "o", "l"] +[32.665181, "o", "l"] +[32.678904, "o", " "] +[32.694069, "o", "2"] +[32.70853, "o", ">"] +[32.722546, "o", "&"] +[32.738206, "o", "1"] +[33.256557, "o", "\r\n"] +[35.831941, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[37.84083, "o", "\r\n"] +[37.842635, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[38.354071, "o", "#"] +[38.385204, "o", " "] +[38.416035, "o", "R"] +[38.445903, "o", "e"] +[38.476413, "o", "s"] +[38.506127, "o", "t"] +[38.531715, "o", "o"] +[38.557324, "o", "r"] +[38.586942, "o", "e"] +[38.61121, "o", " "] +[38.634412, "o", "i"] +[38.657041, "o", "s"] +[38.684049, "o", " "] +[38.708006, "o", "f"] +[38.735471, "o", "r"] +[38.760089, "o", "o"] +[38.784652, "o", "m"] +[38.810619, "o", " "] +[38.837627, "o", "c"] +[38.864077, "o", "l"] +[38.891089, "o", "u"] +[38.914876, "o", "s"] +[38.941338, "o", "t"] +[38.968767, "o", "e"] +[38.997377, "o", "r"] +[39.027637, "o", "."] +[39.056666, "o", "y"] +[39.084879, "o", "a"] +[39.110293, "o", "m"] +[39.134925, "o", "l"] +[39.276786, "o", "\r\n"] +[39.27791, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[40.290114, "o", "k"] +[40.310439, "o", "w"] +[40.32829, "o", "o"] +[40.344229, "o", "k"] +[40.361112, "o", "c"] +[40.377839, "o", "t"] +[40.391654, "o", "l"] +[40.4059, "o", " "] +[40.421773, "o", "s"] +[40.437701, "o", "n"] +[40.45399, "o", "a"] +[40.470455, "o", "p"] +[40.486579, "o", "s"] +[40.503059, "o", "h"] +[40.519443, "o", "o"] +[40.536457, "o", "t"] +[40.553066, "o", " "] +[40.569372, "o", "r"] +[40.58281, "o", "e"] +[40.598865, "o", "p"] +[40.616084, "o", "l"] +[40.6324, "o", "a"] +[40.648484, "o", "y"] +[40.662702, "o", " "] +[40.678352, "o", "-"] +[40.694879, "o", "-"] +[40.710545, "o", "s"] +[40.727354, "o", "n"] +[40.74443, "o", "a"] +[40.760057, "o", "p"] +[40.775663, "o", "s"] +[40.790028, "o", "h"] +[40.803926, "o", "o"] +[40.820171, "o", "t"] +[40.835252, "o", " "] +[40.850227, "o", "-"] +[40.865378, "o", "-"] +[40.878273, "o", "p"] +[40.893736, "o", "a"] +[40.908114, "o", "t"] +[40.92402, "o", "h"] +[40.940565, "o", " "] +[40.956923, "o", "c"] +[40.973482, "o", "l"] +[40.989387, "o", "u"] +[41.005377, "o", "s"] +[41.020643, "o", "t"] +[41.036081, "o", "e"] +[41.051945, "o", "r"] +[41.067758, "o", "."] +[41.083004, "o", "y"] +[41.098153, "o", "a"] +[41.114127, "o", "m"] +[41.131476, "o", "l"] +[41.655628, "o", "\r\n"] +[42.237453, "o", "Restoring snapshot cluster=kwok\r\n"] +[42.40651, "o", "Restored snapshot cluster=kwok\r\n"] +[42.92127, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[44.930296, "o", "\r\n"] +[44.931354, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[45.448331, "o", "#"] +[45.480088, "o", " "] +[45.511024, "o", "L"] +[45.544672, "o", "e"] +[45.57526, "o", "t"] +[45.599327, "o", "'"] +[45.628053, "o", "s"] +[45.658277, "o", " "] +[45.68585, "o", "h"] +[45.71568, "o", "a"] +[45.745791, "o", "v"] +[45.776259, "o", "e"] +[45.806603, "o", " "] +[45.836071, "o", "a"] +[45.862701, "o", " "] +[45.892511, "o", "l"] +[45.922188, "o", "o"] +[45.949636, "o", "o"] +[45.979092, "o", "k"] +[46.007813, "o", " "] +[46.033329, "o", "a"] +[46.06064, "o", "t"] +[46.088751, "o", " "] +[46.115176, "o", "t"] +[46.144526, "o", "h"] +[46.175747, "o", "e"] +[46.207269, "o", " "] +[46.244602, "o", "p"] +[46.284206, "o", "o"] +[46.315967, "o", "d"] +[46.343638, "o", " "] +[46.374126, "o", "n"] +[46.402182, "o", "a"] +[46.431699, "o", "m"] +[46.460643, "o", "e"] +[46.487392, "o", " "] +[46.514036, "o", "a"] +[46.542075, "o", "g"] +[46.572415, "o", "a"] +[46.602251, "o", "i"] +[46.628883, "o", "n"] +[46.659389, "o", "."] +[46.795268, "o", "\r\n"] +[46.79584, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[47.801969, "o", "k"] +[47.823673, "o", "u"] +[47.839644, "o", "b"] +[47.854733, "o", "e"] +[47.871267, "o", "c"] +[47.887634, "o", "t"] +[47.90459, "o", "l"] +[47.922158, "o", " "] +[47.938758, "o", "g"] +[47.955379, "o", "e"] +[47.971391, "o", "t"] +[47.986222, "o", " "] +[48.002834, "o", "p"] +[48.017, "o", "o"] +[48.032739, "o", "d"] +[48.557419, "o", "\r\n"] +[48.6329, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-4wp4g 1/1 Running 0 18s\r\napp-67f9df97bd-88dfh 1/1 Running 0 18s\r\napp-67f9df97bd-jjvfk"] +[48.632927, "o", " 1/1 Running 0 18s\r\n"] +[48.633924, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[50.643516, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[51.159037, "o", "#"] +[51.188072, "o", " "] +[51.213312, "o", "D"] +[51.241145, "o", "e"] +[51.271399, "o", "l"] +[51.300828, "o", "e"] +[51.33057, "o", "t"] +[51.359297, "o", "e"] +[51.384649, "o", " "] +[51.41276, "o", "t"] +[51.43775, "o", "h"] +[51.466195, "o", "e"] +[51.491995, "o", " "] +[51.520798, "o", "c"] +[51.550118, "o", "l"] +[51.579704, "o", "u"] +[51.607851, "o", "s"] +[51.633774, "o", "t"] +[51.659609, "o", "e"] +[51.688469, "o", "r"] +[51.712492, "o", "."] +[51.848641, "o", "\r\n"] +[51.851296, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[52.863719, "o", "k"] +[52.883724, "o", "w"] +[52.899546, "o", "o"] +[52.916376, "o", "k"] +[52.93254, "o", "c"] +[52.949165, "o", "t"] +[52.965945, "o", "l"] +[52.982481, "o", " "] +[52.998428, "o", "d"] +[53.014596, "o", "e"] +[53.029837, "o", "l"] +[53.046334, "o", "e"] +[53.062642, "o", "t"] +[53.078732, "o", "e"] +[53.09493, "o", " "] +[53.111439, "o", "c"] +[53.126835, "o", "l"] +[53.142542, "o", "u"] +[53.157942, "o", "s"] +[53.173736, "o", "t"] +[53.188965, "o", "e"] +[53.204501, "o", "r"] +[53.728769, "o", "\r\n"] +[53.760915, "o", "Cluster is stopping cluster=kwok\r\n"] +[54.197323, "o", "Cluster is stopped elapsed=0.4s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"] +[54.581943, "o", "Cluster is deleted elapsed=0.3s cluster=kwok\r\n"] +[54.582754, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[56.588839, "o", "\r\n"] +[56.589331, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[57.097847, "o", "#"] +[57.130752, "o", " "] +[57.163309, "o", "T"] +[57.193801, "o", "h"] +[57.220307, "o", "a"] +[57.249982, "o", "t"] +[57.279101, "o", "'"] +[57.308599, "o", "s"] +[57.336931, "o", " "] +[57.366504, "o", "a"] +[57.391961, "o", "l"] +[57.421803, "o", "l"] +[57.448393, "o", ","] +[57.477271, "o", " "] +[57.503692, "o", "e"] +[57.53279, "o", "n"] +[57.559481, "o", "j"] +[57.587701, "o", "o"] +[57.616737, "o", "y"] +[57.641931, "o", " "] +[57.665471, "o", "i"] +[57.693487, "o", "t"] +[57.720913, "o", "!"] +[57.855369, "o", "\r\n"] +[57.85677, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "] +[58.869083, "o", "c"] +[58.889111, "o", "l"] +[58.906802, "o", "e"] +[58.923764, "o", "a"] +[58.940468, "o", "r"] +[59.461643, "o", "\r\n"] +[59.468738, "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..c854906ac --- /dev/null +++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.demo @@ -0,0 +1,32 @@ +# Let's get started with kwokctl! +kwokctl create cluster + +# Use context. +kubectl cluster-info --context kwok-kwok + +# 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..d50aee4ad --- /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'sgetting~/sigs.k8s.io/kwok$#Let'sgettingstarted~/sigs.k8s.io/kwok$#Let'sgettingstartedwith~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl!~/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$#Createan~/sigs.k8s.io/kwok$#Createannodes.~/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=22msresource=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-4wp4g1/1Running05sapp-67f9df97bd-88dfh1/1Running05sapp-67f9df97bd-jjvfk1/1Running05s~/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-4wp4g1/1Running018sapp-67f9df97bd-88dfh1/1Running018sapp-67f9df97bd-jjvfk1/1Running018s~/sigs.k8s.io/kwok$#Delete~/sigs.k8s.io/kwok$#Deletethe~/sigs.k8s.io/kwok$#Deletethecluster.Clusterisstoppingcluster=kwokClusterisstoppedelapsed=0.4scluster=kwokClusterisdeletingcluster=kwokClusterisdeletedelapsed=0.3scluster=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'sget~/sigs.k8s.io/kwok$#Let'sgett~/sigs.k8s.io/kwok$#Let'sgetti~/sigs.k8s.io/kwok$#Let'sgettin~/sigs.k8s.io/kwok$#Let'sgettings~/sigs.k8s.io/kwok$#Let'sgettingst~/sigs.k8s.io/kwok$#Let'sgettingsta~/sigs.k8s.io/kwok$#Let'sgettingstar~/sigs.k8s.io/kwok$#Let'sgettingstart~/sigs.k8s.io/kwok$#Let'sgettingstarte~/sigs.k8s.io/kwok$#Let'sgettingstartedw~/sigs.k8s.io/kwok$#Let'sgettingstartedwi~/sigs.k8s.io/kwok$#Let'sgettingstartedwit~/sigs.k8s.io/kwok$#Let'sgettingstartedwithk~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkw~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl~/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$#Createa~/sigs.k8s.io/kwok$#Createann~/sigs.k8s.io/kwok$#Createanno~/sigs.k8s.io/kwok$#Createannod~/sigs.k8s.io/kwok$#Createannode~/sigs.k8s.io/kwok$#Createannodes~/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-jjvfk1/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$#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-jjvfk~/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