├── README.md ├── generic-kubernetes-containers-security └── README.md ├── hands-on ├── 00-kind-cluster │ ├── README.md │ ├── kind-1m3w-nocni.yaml │ └── kind-create-cluster.asc └── vagrant │ ├── .gitignore │ ├── README.md │ ├── Vagrantfile │ ├── ansible.cfg │ ├── hosts │ ├── join │ ├── main.yml │ ├── roles │ ├── general │ │ ├── tasks │ │ │ ├── 01-install.yml │ │ │ ├── 02-config.yml │ │ │ ├── 03-service.yml │ │ │ └── main.yml │ │ └── templates │ │ │ ├── daemon.json.j2 │ │ │ └── kubernetes.conf.j2 │ ├── master │ │ └── tasks │ │ │ └── main.yml │ └── worker │ │ └── tasks │ │ └── main.yml │ └── vars │ └── main.yml ├── kubernetes-security-specialist-logo-300x285.png └── license.txt /README.md: -------------------------------------------------------------------------------- 1 | [![License: CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/) 2 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) 3 | # Certified Kubernetes Security Specialist - CKS 4 | 5 |

6 | 7 |

8 | 9 | Online curated resources that will help you prepare for taking the Kubernetes Certified Kubernetes Security Specialist **CKS** Certification exam. 10 | 11 | - Please raise an issue, or make a pull request for fixes, new additions, or updates. 12 | 13 | Resources are primarly cross referenced back to the [allowed CKS sites](#urls-allowed-in-the-extra-single-tab) during the exam as per CNCF/Linux Foundation exam allowed search rules. Videos and other third party resources e.g. blogs will be provided as an optional complimentary material and any 3rd party material not allowed in the exam will be designated with :triangular_flag_on_post: in the curriculum sections below. 14 | 15 | Ensure you have the right version of Kubernetes documentation selected (e.g. v1.26 as of January 2023) especially for API objects and annotations, however for third party tools, you might find that you can still find references for them in old releases and blogs [e.g. Falco install](https://github.com/kubernetes/website/issues/24184). 16 | 17 | * Icons/emoji legend 18 | - :clipboard: Expand to see more content 19 | - :confused: Verify, not best resource yet 20 | - :large_blue_circle: Good overall refence, can be used in the exam 21 | - :triangular_flag_on_post: External third-party resource, can not be used during exam 22 | - :pencil: To-do, item that needs further checking(todo list for future research/commits) 23 | 24 | ## Exam Brief 25 | 26 | Offical exam objectives you review and understand in order to pass the test. 27 | 28 | * [CNCF Exam Curriculum repository ](https://github.com/cncf/curriculum/) 29 | 30 | - Duration : two (2) hours 31 | - Number of questions: 15-20 hands-on performance based tasks 32 | - Passing score: 67% 33 | - Certification validity: two (2) years 34 | - Prerequisite: valid CKA 35 | - Cost: $375 USD, One (1) year exam eligibility, with a free retake within the year. 36 | 37 | *Linux Foundation offer several discounts around the year e.g. CyberMonday, Kubecon attendees among other special holidays/events* 38 | 39 | ### URLs to prepare for the exam: 40 | - Kubernetes Documentation: 41 | - https://kubernetes.io/docs and their subdomains 42 | - https://github.com/kubernetes and their subdomains 43 | - https://kubernetes.io/blog and their subdomains 44 | 45 | This includes all available language translations of these pages (e.g. https://kubernetes.io/zh/docs) 46 | - Tools: 47 | - [Trivy documentation](https://github.com/aquasecurity/trivy) 48 | - [Falco documentation](https://falco.org/docs) 49 | - [App Armor documentation](https://gitlab.com/apparmor/apparmor/-/wikis/Documentation) 50 | 51 | 52 | ### Exam interface 53 | According to official Linux Foundation [documentation](https://docs.linuxfoundation.org/tc-docs/certification/important-instructions-cks#cks-environment) and as of June 2022, there was a change in the exam platform. It is just an exam platform, so the exam questions will not change, but there were a few things that seemed to concern you, so I will write them down: 54 | 55 | - A **remote desktop** configured with the tools and software needed to complete the tasks 56 | - Candidates can start the “Take Exam” Process 30 minutes prior to their scheduled date/time (currently 15mins on PSI ExamsLocal platform) 57 | - Self check-in: no need to wait for a proctor in order to upload your ID and scan your environment 58 | - The exam will now be taken using the PSI Secure Browser, which can be downloaded using the newest versions of Microsoft Edge, Safari, Chrome, or Firefox 59 | - Multiple monitors will no longer be permitted 60 | - Use of personal bookmarks will no longer be permitted (Personal browser bookmarks such as bookmarked links to YAML files will not be accessible within the PSI Secure Browser) 61 | 62 | The new ExamUI includes improved features such as: 63 | - A timer that displays the actual time remaining (in minutes) and provides an alert with 30, 15, or 5 minute remaining 64 | - The content panel remains the same (presented on the Left Hand Side of the ExamUI) 65 | 66 | 67 | 68 | 69 | 70 | ## CKS repo topics overview 71 | 72 | - [X] [Cluster Setup - 10%](#cluster-setup---10) 73 | - [X] [Cluster Hardening - 15%](#cluster-hardening---15) 74 | - [X] [System Hardening - 15%](#system-hardening---15) 75 | - [X] [Minimize Microservice Vulnerabilities - 20%](#minimize-microservice-vulnerabilities---20) 76 | - [X] [Supply Chain Security - 20%](#supply-chain-security---20) 77 | - [X] [Monitoring, Logging and Runtime Security - 20%](#monitoring-logging-and-runtime-security---20) 78 | 79 | #### Extra helpful material 80 | 81 | - [x] [Slack](#slack) 82 | - [x] [Books](#books) 83 | - [x] [Youtube Videos](#youtube-videos) 84 | - [x] [Webinars](#webinars) 85 | - [x] [Containers and Kubernetes Security Training](#containers-and-kubernetes-security-training) 86 | - [x] [Extra Kubernetes security resources](generic-kubernetes-containers-security/Kubernetes.md) 87 | 88 |
89 | 90 | ### Cluster Setup - 10% 91 | :large_blue_circle: [Securing a Cluster](https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/) 92 | 93 | 1. [Use Network security policies to restrict cluster level access](https://kubernetes.io/docs/concepts/services-networking/network-policies/) 94 | 2. :triangular_flag_on_post: [Use CIS benchmark to review the security configuration of Kubernetes components](https://www.cisecurity.org/benchmark/kubernetes/) (etcd, kubelet, kubedns, kubeapi) 95 | - :triangular_flag_on_post: [Kube-bench](https://github.com/aquasecurity/kube-bench) - Checks whether Kubernetes is deployed securely by running the checks documented ain the CIS Kubernetes Benchmark. 96 | 3. Properly set up [Ingress objects with security control](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) 97 | 4. [Protect node metadata and endpoints](https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/#restricting-cloud-metadata-api-access) 98 | 99 |
Using Kubernetes network policy to restrict pods access to cloud metadata 100 | 101 | * This example assumes AWS cloud, and metadata IP address is 169.254.169.254 should be blocked while all other external addresses are not. 102 | 103 | ```yaml 104 | apiVersion: networking.k8s.io/v1 105 | kind: NetworkPolicy 106 | metadata: 107 | name: deny-only-cloud-metadata-access 108 | spec: 109 | podSelector: {} 110 | policyTypes: 111 | - Egress 112 | egress: 113 | - to: 114 | - ipBlock: 115 | cidr: 0.0.0.0/0 116 | except: 117 | - 169.254.169.254/32 118 | ``` 119 |
120 | 121 | 5. [Minimize use of, and access to, GUI elements](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#accessing-the-dashboard-ui) 122 | 6. [Verify platform binaries before deploying](https://github.com/kubernetes/kubernetes/releases) 123 | 124 |
:clipboard: Kubernetes binaries can be verified by their digest **sha512 hash** 125 | 126 | - Checking the Kubernetes release page for the specific release 127 | - Checking the change log for the [images and their digests](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md#downloads-for-v1191) 128 | 129 |
130 | 131 | 132 | ### Cluster Hardening - 15% 133 | 134 | 1. [Restrict access to Kubernetes API](https://kubernetes.io/docs/reference/access-authn-authz/controlling-access/) 135 | - [Control anonymous requests to Kube-apiserver](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#anonymous-requests) 136 | 2. [Use Role-Based Access Controls to minimize exposure](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) 137 | * :triangular_flag_on_post: [Handy site collects together articles, tools and the official documentation all in one place](https://rbac.dev/) 138 | * :triangular_flag_on_post: [Simplify Kubernetes Resource Access Control using RBAC Impersonation](https://docs.bitnami.com/tutorials/simplify-kubernetes-resource-access-rbac-impersonation/) 139 | 3. Exercise caution in using service accounts e.g. [disable defaults](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server), minimize permissions on newly created ones 140 | 141 |
:clipboard: Opt out of automounting API credentials for a service account 142 | 143 | #### Opt out at service account scope 144 | ```yaml 145 | apiVersion: v1 146 | kind: ServiceAccount 147 | metadata: 148 | name: build-robot 149 | automountServiceAccountToken: false 150 | ``` 151 | #### Opt out at pod scope 152 | ```yaml 153 | apiVersion: v1 154 | kind: Pod 155 | metadata: 156 | name: cks-pod 157 | spec: 158 | serviceAccountName: default 159 | automountServiceAccountToken: false 160 | ``` 161 | 162 |
163 | 164 | 165 | 4. [Update Kubernetes frequently](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) 166 | 167 | ### System Hardening - 15% 168 | 169 | 1. Minimize host OS footprint (reduce attack surface) 170 | 171 |
:clipboard: :confused: Reduce host attack surface 172 | 173 | * [seccomp which stands for secure computing was originally intended as a means of safely running untrusted compute-bound programs](https://kubernetes.io/docs/tutorials/clusters/seccomp/) 174 | * [AppArmor can be configured for any application to reduce its potential host attack surface and provide greater in-depth defense.](https://kubernetes.io/docs/tutorials/clusters/apparmor/) 175 | * [PSA enforces](https://kubernetes.io/docs/concepts/security/pod-security-admission/) 176 | * Apply host updates 177 | * Install minimal required OS fingerprint 178 | * Identify and address open ports 179 | * Remove unnecessary packages 180 | * Protect access to data with permissions 181 | * [Restirct allowed hostpaths](https://kubernetes.io/docs/concepts/policy/pod-security-policy/#volumes-and-file-systems) 182 | 183 |
184 | 185 | 2. Minimize IAM roles 186 | * :confused: [Access authentication and authorization](https://kubernetes.io/docs/reference/access-authn-authz/authentication/) 187 | 3. Minimize external access to the network 188 | 189 |
:clipboard: :confused: if it means deny external traffic to outside the cluster?!! 190 | 191 | * not tested, however, the thinking is that all pods can talk to all pods in all name spaces but not to the outside of the cluster!!! 192 | 193 | ```yaml 194 | apiVersion: networking.k8s.io/v1 195 | kind: NetworkPolicy 196 | metadata: 197 | name: deny-external-egress 198 | spec: 199 | podSelector: {} 200 | policyTypes: 201 | - Egress 202 | egress: 203 | to: 204 | - namespaceSelector: {} 205 | ``` 206 | 207 |
208 | 209 | 4. Appropriately use kernel hardening tools such as AppArmor, seccomp 210 | * [AppArmor](https://kubernetes.io/docs/tutorials/clusters/apparmor/) 211 | * [Seccomp](https://kubernetes.io/docs/tutorials/clusters/seccomp/) 212 | 213 | ### Minimize Microservice Vulnerabilities - 20% 214 | 215 | 1. Setup appropriate OS-level security domains e.g. using PSA, OPA, security contexts 216 | - [Open Policy Agent](https://kubernetes.io/blog/2019/08/06/opa-gatekeeper-policy-and-governance-for-kubernetes/) 217 | - [Security Contexts](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) 218 | 2. [Manage kubernetes secrets](https://kubernetes.io/docs/concepts/configuration/secret/) 219 | 3. Use [container runtime](https://kubernetes.io/docs/concepts/containers/runtime-class/) sandboxes in multi-tenant environments (e.g. [gvisor, kata containers](https://github.com/kubernetes/enhancements/blob/5dcf841b85f49aa8290529f1957ab8bc33f8b855/keps/sig-node/585-runtime-class/README.md#examples)) 220 | 4. [Implement pod to pod encryption by use of mTLS](https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/) 221 | - [ ] :pencil: check if service mesh is part of the CKS exam 222 | 223 | ### Supply Chain Security - 20% 224 | 225 | 1. Minimize base image footprint 226 | 227 |
:clipboard: Minimize base Image 228 | 229 | * Use distroless, UBI minimal, Alpine, or relavent to your app nodejs, python but the minimal build. 230 | * Do not include uncessary software not required for container during runtime e.g build tools and utilities, troubleshooting and debug binaries. 231 | * :triangular_flag_on_post: [Learnk8s: 3 simple tricks for smaller Docker images](https://learnk8s.io/blog/smaller-docker-images) 232 | * :triangular_flag_on_post: [GKE 7 best practices for building containers](https://cloud.google.com/blog/products/gcp/7-best-practices-for-building-containers) 233 | 234 |
235 | 236 | 2. Secure your supply chain: [whitelist allowed image registries](https://kubernetes.io/blog/2019/03/21/a-guide-to-kubernetes-admission-controllers/#why-do-i-need-admission-controllers), sign and validate images 237 | * Using [ImagePolicyWebhook admission Controller](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#imagepolicywebhook) 238 | 4. Use static analysis of user workloads (e.g. [kubernetes resources](https://kubernetes.io/blog/2018/07/18/11-ways-not-to-get-hacked/#7-statically-analyse-yaml), docker files) 239 | 5. [Scan images for known vulnerabilities](https://kubernetes.io/blog/2018/07/18/11-ways-not-to-get-hacked/#10-scan-images-and-run-ids) 240 | * [Aqua security Trivy]( https://github.com/aquasecurity/trivy) 241 | * :triangular_flag_on_post: [Anchore command line scans](https://github.com/anchore/anchore-cli#command-line-examples) 242 | ### Monitoring, Logging and Runtime Security - 20% 243 | 244 | 1. Perform behavioural analytics of syscall process and file activities at the host and container level to detect malicious activities 245 | - [Falco installation guide](https://falco.org/docs/) 246 | - :triangular_flag_on_post: [Sysdig Falco 101](https://learn.sysdig.com/falco-101) 247 | - :triangular_flag_on_post: [Falco Helm Chart](https://github.com/falcosecurity/charts/tree/master/falco) 248 | - :triangular_flag_on_post: [Falco Kubernetes helmchart](https://github.com/falcosecurity/charts) 249 | - :triangular_flag_on_post: [Detect CVE-2020-8557 using Falco](https://falco.org/blog/detect-cve-2020-8557/) 250 | 2. Detect threats within a physical infrastructure, apps, networks, data, users and workloads 251 | 3. Detect all phases of attack regardless where it occurs and how it spreads 252 | 253 |
:clipboard: Attack Phases 254 | 255 | - :triangular_flag_on_post: [Kubernetes attack martix Microsoft blog](https://www.microsoft.com/security/blog/2020/04/02/attack-matrix-kubernetes/) 256 | - :triangular_flag_on_post: [MITRE attack framwork using Falco](https://sysdig.com/blog/mitre-attck-framework-for-container-runtime-security-with-sysdig-falco/) 257 | - :triangular_flag_on_post: [Lightboard video: Kubernetes attack matrix - 3 steps to mitigating the MITRE ATT&CK Techniques](https://www.youtube.com/watch?v=0fnWu06eQCU) 258 | - :triangular_flag_on_post: [CNCF Webinar: Mitigating Kubernetes attacks](https://www.cncf.io/webinars/mitigating-kubernetes-attacks/) 259 | 260 |
261 | 262 | 4. Perform deep analytical investigation and identification of bad actors within the environment 263 | - [Sysdig documentation](https://docs.sysdig.com/) 264 | - [Monitoring Kubernetes with sysdig](https://kubernetes.io/blog/2015/11/monitoring-kubernetes-with-sysdig/) 265 | - :triangular_flag_on_post: [CNCF Webinar: Getting started with container runtime security using Falco](https://youtu.be/VEFaGjfjfyc) 266 | 5. [Ensure immutability of containers at runtime](https://kubernetes.io/blog/2018/03/principles-of-container-app-design/) 267 | 6. [Use Audit Logs to monitor access](https://kubernetes.io/docs/tasks/debug-application-cluster/audit/) 268 | 269 |
270 | 271 | ## Extra helpful material 272 | 273 | ### Slack 274 | 275 | 1. [Kubernetes Community - #cks-exam-prep](https://kubernetes.slack.com) 276 | 1. [Kubernauts Community - #cks](https://kubernauts-slack-join.herokuapp.com/) 277 | 2. [Saiyam's Pathak OpenSource Discord #CKS channel](https://discord.gg/9PQBYKntPR) 278 | 279 | 280 | ### Twitch 281 | 282 | 1. [KubeNativeSecurity twitch stream Talk Shows & Podcasts](https://www.twitch.tv/kubenativesecurity) 283 | 284 | ### Books 285 | 286 | 1. [Aqua Security Liz Rice:Free Container Security Book](https://info.aquasec.com/container-security-book) 287 | 1. [Learn Kubernetes security: Securely orchestrate, scale, and manage your microservices in Kubernetes deployments](https://www.amazon.com/Learn-Kubernetes-Security-orchestrate-microservices/dp/1839216506) 288 | 1. [Let's Learn CKS Scenarios](https://gumroad.com/l/cksbook) 289 | 290 | ### Youtube Videos 291 | 292 | 1. [Killer Shell: Kubernetes CKS Full Course Theory + Practice + Browser Scenarios](https://youtu.be/d9xfB5qaOfg) 293 | 1. [Google/Ian Lewis: Kubernetes security best practices](https://youtu.be/wqsUfvRyYpw) 294 | 1. [Code in Action for the **book Learn Kubernetes Security** playlist](https://www.youtube.com/playlist?list=PLeLcvrwLe1859Rje9gHrD1KEp4y5OXApB) 295 | 1. [Kubernetes security concepts and demos](https://youtu.be/VjlvS-qiz_U) 296 | 1. [Webinar | Certified Kubernetes Security Specialist (CKS), January 2022](https://youtu.be/Qqoe-PbuQcs) 297 | 298 | ### Containers and Kubernetes Security Training 299 | 300 | 1. [Killer.sh CKS practice exam](https://killer.sh/cks) - use code **walidshaari** for **20%** discount. 301 | 1. UDEMY Kim Wüstkamp's [Kubernetes CKS 2021 Complete Course with killer.sh Simulator **(discounted price)**](https://killer.sh/r?d=cks-course) 302 | 1. [Linux Foundation Kubernetes Security essentials LFS 260](https://training.linuxfoundation.org/training/kubernetes-security-essentials-lfs260/) 303 | 2. [Mumshad's KodeCloud "Certified Kubernetes Security Specialist" CKS and training and labs](https://kodekloud.com/p/certified-kubernetes-security-specialist-cks) 304 | 3. [Linux Academy/ACloudGuru Kubernetes security](https://acloud.guru/learn/7d2c29e7-cdb2-4f44-8744-06332f47040e) 305 | 4. Zeal Vora's Udemy [ Certified Kubernetes Security Specialist 2021 ](https://www.udemy.com/course/certified-kubernetes-security-specialist-certification/?referralCode=F38A7E4C09BFEC7E3C58) - Link includes a discount till 28th January 2021 306 | 5. [Cloud native security defending containers and kubernetes](https://www.sans.org/event/stay-sharp-blue-team-ops-and-cloud-dec-2020/course/cloud-native-security-defending-containers-kubernetes) 307 | 6. [Tutorial: Getting Started With Cloud-Native Security - Liz Rice, Aqua Security & Michael Hausenblas](https://youtu.be/MisS3wSds40) 308 | - [Hands-on Tutorial](https://tutorial.kubernetes-security.info/) 309 | 7. [K21 academy CKS step by step activity hands-on-lab activity guide](https://k21academy.com/docker-kubernetes/certified-kubernetes-security-specialist-cks-step-by-step-activity-guide-hands-on-lab) 310 | 8. [Andrew Martin Control Plane Security training](https://control-plane.io/training/) 311 | 9. [Free Exam simulators from killer.sh available with CKS certification from Linux Foundation](https://training.linuxfoundation.org/announcements/linux-foundation-kubernetes-certifications-now-include-exam-simulator/) 312 | 10. [Sysdig Falco 101](https://learn.sysdig.com/falco-101) 313 | 11. [Killercoda in-browser CKS Playground and Challenges](https://killercoda.com/killer-shell-cks) - FREE 314 | 315 | #### Other CKS related repos 316 | 317 | 1. [Stackrox CKS study guide](https://github.com/stackrox/Kubernetes_Security_Specialist_Study_Guide) - Brief and informative study guide from [Stackrox @mfosterrox](https://www.stackrox.com/authors/mfoster/) 318 | 2. [Kim's CKS Challenge series](https://github.com/killer-sh/cks-challenge-series) - also posted on medium @ https://wuestkamp.medium.com/ 319 | 3. [Abdennour](https://github.com/abdennour/certified-kubernetes-security-specialist) 320 | 4. [Ibrahim Jelliti](https://github.com/ijelliti/CKSS-Certified-Kubernetes-Security-Specialist) 321 | 5. [Viktor Vedmich](https://github.com/vedmichv/CKS-Certified-Kubernetes-Security-Specialist) 322 | 6. [Kubernetes Security Checklist and Requirements](https://github.com/Vinum-Security/kubernetes-security-checklist) 323 | 7. [CKS Exam series](https://github.com/moabukar/CKS-Exercises-Certified-Kubernetes-Security-Specialist.git) 324 | -------------------------------------------------------------------------------- /generic-kubernetes-containers-security/README.md: -------------------------------------------------------------------------------- 1 | # Generic Kubernetes and containers security: 2 | 3 | This is an extra resources related to security topic for Kubernetes to keep your cluster is up-to-date and more secure. 4 | 5 | ### Websites & Blogs 6 | 7 | 1. [Kubernetes-security.info](https://kubernetes-security.info/) 8 | 1. [Aquasecurity Blogs](https://blog.aquasec.com/) 9 | 1. [Control-plane/Andrew Martin @sublimino: 11 ways not to get hacked](https://control-plane.io/posts/11-ways-not-to-get-hacked/) 10 | 1. [Simulator: A distributed systems and infrastructure simulator for attacking and debugging Kubernetes](https://github.com/kubernetes-simulator/simulator) 11 | 12 | ### Youtube Videos 13 | 14 | 1. [Andrew Martin Attacking and Defending Cloud Native Infrastructure](https://youtu.be/TXems9GPWMs) 15 | 1. [How to Train your Red Team (for Cloud-Native) - Andrew Martin, ControPlane](https://youtu.be/LJrSAPUNHvE) 16 | 1. [InGuardians/Jay Beale: Kubernetes Practical attacks and defences](https://youtu.be/LtCx3zZpOfs) 17 | 18 | ### Publications 19 | 1. [CNCF cloud-native security white paper Nov 2020](https://github.com/cncf/sig-security/blob/master/security-whitepaper/CNCF_cloud-native-security-whitepaper-Nov2020.pdf) 20 | 1. [Free O'Reilly Kubernetes security book compliments of Aqua](https://info.aquasec.com/kubernetes-security) - by Liz Rice and Michael Hausenblas 21 | 22 | ### CVEs 23 | 1. [CNCF Kubernetes Security Anatomy and the Recently Disclosed CVEs (CVE-2020-8555, CVE-2020-8552)](https://youtu.be/Dp1RCYCpyJk) 24 | 1. [Kubernetes Vulnerability Puts Clusters at Risk of Takeover (CVE-2020-8558)](https://unit42.paloaltonetworks.com/cve-2020-8558/) 25 | 1. [CVE-2020-8559: Privilege escalation from compromised node to cluster](https://github.com/kubernetes/kubernetes/issues/92914) 26 | - [Proof of Concept](https://github.com/tdwyer/CVE-2020-8559) 27 | 1. [CVE-2020-8557: Node disk DOS by writing to container /etc/hosts](https://github.com/kubernetes/kubernetes/issues/93032) 28 | 29 | ### Playground 30 | 31 | 1. [Madhu Akula's Kubernetes Goat](https://github.com/madhuakula/kubernetes-goat) - Vulnerable cluster environment to learn and practice Kubernetes security. 32 | 1. [Kubernetes Capture the Flag vagrant environment](https://github.com/NodyHub/k8s-ctf-rocks) - was hosted online on http://k8s-ctf.rocks/ 33 | 1. [KubeCon NA 2019 CTF Tutorial Guide](https://securekubernetes.com/) 34 | -------------------------------------------------------------------------------- /hands-on/00-kind-cluster/README.md: -------------------------------------------------------------------------------- 1 | # Work In Progress 2 | 3 | - Ensure you have docker installed 4 | - [install kind](https://kind.sigs.k8s.io/docs/user/quick-start/) 5 | - create a Kind three cluster nodes config file without enabling the CNI plugin for future exercies **kind-1m3w-nocni.yaml 6 | 7 | ```yaml 8 | kind: Cluster 9 | apiVersion: kind.x-k8s.io/v1alpha4 10 | networking: 11 | disableDefaultCNI: true 12 | nodes: 13 | - role: control-plane 14 | - role: worker 15 | - role: worker 16 | - role: worker 17 | ``` 18 | - follow the asciinema instructions from local file "kind-create-cluster.asc" or https://asciinema.org/a/368118 19 | 20 | -------------------------------------------------------------------------------- /hands-on/00-kind-cluster/kind-1m3w-nocni.yaml: -------------------------------------------------------------------------------- 1 | kind: Cluster 2 | apiVersion: kind.x-k8s.io/v1alpha4 3 | networking: 4 | disableDefaultCNI: true 5 | nodes: 6 | - role: control-plane 7 | - role: worker-1 8 | - role: worker-2 9 | - role: worker-3 10 | -------------------------------------------------------------------------------- /hands-on/00-kind-cluster/kind-create-cluster.asc: -------------------------------------------------------------------------------- 1 | {"version": 2, "width": 181, "height": 48, "timestamp": 1603740612, "idle_time_limit": 2.0, "env": {"SHELL": "/usr/bin/zsh", "TERM": "xterm-256color"}, "title": "KinD cluster without CNI plugin"} 2 | [0.093923, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 3 | [0.09468, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 4 | [0.260662, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mN/A\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 5 | [0.260747, "o", "\u001b[?1h\u001b="] 6 | [0.260899, "o", "\u001b[?2004h"] 7 | [8.803858, "o", "#"] 8 | [9.082626, "o", "\b##"] 9 | [9.897976, "o", "l"] 10 | [10.090594, "o", "e"] 11 | [10.238175, "o", "t"] 12 | [10.446097, "o", "s"] 13 | [10.646104, "o", " "] 14 | [11.594628, "o", "c"] 15 | [11.810618, "o", "r"] 16 | [11.866176, "o", "e"] 17 | [12.011826, "o", "a"] 18 | [12.217473, "o", "t"] 19 | [12.306461, "o", "e"] 20 | [12.420655, "o", " "] 21 | [13.81242, "o", "a"] 22 | [13.909369, "o", " "] 23 | [14.107234, "o", "k"] 24 | [14.281581, "o", "u"] 25 | [14.518587, "o", "b"] 26 | [14.612174, "o", "e"] 27 | [14.749091, "o", "r"] 28 | [15.021447, "o", "n"] 29 | [15.189566, "o", "e"] 30 | [15.387136, "o", "t"] 31 | [15.442445, "o", "e"] 32 | [16.072346, "o", "s"] 33 | [16.426044, "o", " "] 34 | [17.046125, "o", "1"] 35 | [17.228594, "o", "."] 36 | [18.081861, "o", "1"] 37 | [18.257474, "o", "9"] 38 | [18.535703, "o", "."] 39 | [18.70876, "o", "x"] 40 | [18.92353, "o", " "] 41 | [19.566513, "o", "c"] 42 | [19.682359, "o", "l"] 43 | [19.770349, "o", "u"] 44 | [19.894044, "o", "s"] 45 | [20.045986, "o", "t"] 46 | [20.114417, "o", "e"] 47 | [20.228781, "o", "r"] 48 | [20.371412, "o", " "] 49 | [20.615954, "o", "i"] 50 | [20.847435, "o", "n"] 51 | [21.049189, "o", " "] 52 | [22.109984, "o", "a"] 53 | [22.230405, "o", " "] 54 | [22.377169, "o", "l"] 55 | [22.551953, "o", "o"] 56 | [22.674173, "o", "c"] 57 | [22.756998, "o", "a"] 58 | [22.874062, "o", "l"] 59 | [23.276893, "o", " "] 60 | [23.48666, "o", "m"] 61 | [23.616836, "o", "a"] 62 | [23.787647, "o", "c"] 63 | [23.912166, "o", "h"] 64 | [24.061628, "o", "i"] 65 | [24.220237, "o", "n"] 66 | [24.322147, "o", "e"] 67 | [24.557168, "o", " "] 68 | [25.21816, "o", "u"] 69 | [25.352692, "o", "s"] 70 | [25.440593, "o", "i"] 71 | [25.589114, "o", "n"] 72 | [25.859237, "o", "g"] 73 | [25.926063, "o", " "] 74 | [26.603289, "o", "K"] 75 | [26.876395, "o", "i"] 76 | [27.262599, "o", "n"] 77 | [27.864612, "o", "D"] 78 | [28.444733, "o", " "] 79 | [29.090139, "o", "\""] 80 | [30.356456, "o", "K"] 81 | [30.634414, "o", "i"] 82 | [31.684974, "o", "n"] 83 | [32.014613, "o", "D"] 84 | [32.319, "o", " "] 85 | [32.462951, "o", "i"] 86 | [32.647946, "o", "n"] 87 | [32.843351, "o", " "] 88 | [33.489431, "o", "D"] 89 | [34.275229, "o", "\b \b"] 90 | [34.434349, "o", "\b"] 91 | [34.578711, "o", "\b \b"] 92 | [34.707452, "o", "\b \b"] 93 | [34.824893, "o", "\b"] 94 | [34.958427, "o", "\b \b"] 95 | [35.157747, "o", "\b \b"] 96 | [35.381276, "o", "\b \b"] 97 | [35.731431, "o", "u"] 98 | [35.988595, "o", "b"] 99 | [36.212575, "o", "e"] 100 | [36.461284, "o", "r"] 101 | [36.765968, "o", "n"] 102 | [37.109634, "o", "t"] 103 | [37.600939, "o", "\b \b"] 104 | [37.681415, "o", "e"] 105 | [37.814121, "o", "t"] 106 | [38.380545, "o", "e"] 107 | [38.554737, "o", "s"] 108 | [39.056992, "o", " "] 109 | [39.18463, "o", "i"] 110 | [39.356802, "o", "n"] 111 | [39.839927, "o", " "] 112 | [40.139804, "o", "D"] 113 | [40.369218, "o", "o"] 114 | [40.493592, "o", "c"] 115 | [40.646404, "o", "k"] 116 | [40.77544, "o", "e"] 117 | [40.863823, "o", "r"] 118 | [41.586799, "o", "\""] 119 | [43.09817, "o", "\u001b[?1l\u001b>"] 120 | [43.098535, "o", "\u001b[?2004l\r\r\n"] 121 | [43.099146, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 122 | [43.099698, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 123 | [43.118865, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mN/A\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D\u001b[?1h\u001b="] 124 | [43.118904, "o", "\u001b[?2004h"] 125 | [44.91945, "o", "c"] 126 | [45.004356, "o", "\bca"] 127 | [45.147374, "o", "t"] 128 | [45.224745, "o", " "] 129 | [45.447407, "o", "k"] 130 | [45.610616, "o", "i"] 131 | [45.86482, "o", "nd-"] 132 | [46.826604, "o", "\r\r\n\u001b[J\u001b[0mkind-1m3w-nocni.yaml \u001b[Jkind-create-cluster.asc\u001b[J\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[0m\u001b[39m\r\u001b[4C"] 133 | [46.82677, "o", "cat kind-\u001b[K\u001b[167C\u001b[1m\u001b[0m\u001b[0m\u001b[39m\u001b[167D"] 134 | [48.706191, "o", "1"] 135 | [48.938314, "o", "m3w-nocni.yaml\u001b[1m \u001b[0m"] 136 | [49.518606, "o", "\b\u001b[0m \b"] 137 | [49.518748, "o", "\u001b[?1l\u001b>"] 138 | [49.519221, "o", "\u001b[?2004l\r\r\n\u001b[J"] 139 | [49.520177, "o", "\u001b]2;cat kind-1m3w-nocni.yaml\u0007\u001b]1;cat\u0007"] 140 | [49.523267, "o", "kind: Cluster\r\napiVersion: kind.x-k8s.io/v1alpha4\r\nnetworking:\r\n disableDefaultCNI: true\r\nnodes:\r\n- role: control-plane\r\n- role: worker\r\n- role: worker\r\n- role: worker\r\n"] 141 | [49.523746, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 142 | [49.52406, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 143 | [49.524331, "o", "\u001b]1;..-kind-cluster\u0007"] 144 | [49.577667, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mN/A\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 145 | [49.578093, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 146 | [55.904708, "o", "k"] 147 | [56.093156, "o", "\bki"] 148 | [56.283975, "o", "n"] 149 | [57.664268, "o", "d"] 150 | [57.909901, "o", " "] 151 | [58.039903, "o", "c"] 152 | [58.273994, "o", "r"] 153 | [58.357726, "o", "e"] 154 | [58.518126, "o", "a"] 155 | [58.71514, "o", "t"] 156 | [58.807963, "o", "e"] 157 | [58.955732, "o", " "] 158 | [59.217251, "o", "c"] 159 | [59.34485, "o", "l"] 160 | [59.459121, "o", "u"] 161 | [59.586925, "o", "s"] 162 | [59.75744, "o", "t"] 163 | [59.813502, "o", "e"] 164 | [59.900807, "o", "r"] 165 | [60.021688, "o", " "] 166 | [60.325006, "o", "-"] 167 | [60.49015, "o", "-"] 168 | [60.66398, "o", "c"] 169 | [60.788627, "o", "o"] 170 | [60.929696, "o", "n"] 171 | [61.423625, "o", "f"] 172 | [62.457519, "o", "i"] 173 | [62.638318, "o", "g"] 174 | [62.809914, "o", " "] 175 | [64.00474, "o", "k"] 176 | [64.249411, "o", "i"] 177 | [64.610426, "o", "nd-"] 178 | [64.722189, "o", "\r\r\n"] 179 | [64.722295, "o", "\u001b[J\u001b[0mkind-1m3w-nocni.yaml \u001b[Jkind-create-cluster.asc\u001b[J\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[0m\u001b[39m\r\u001b[4Ckind create cluster --config kind-\u001b[K\u001b[142C\u001b[1m\u001b[0m\u001b[0m\u001b[39m\u001b[142D"] 180 | [65.016937, "o", "\b \b"] 181 | [65.632683, "o", "\r\r\n\u001b[J\u001b[A\u001b[37C-"] 182 | [66.254884, "o", "\r\r\n\u001b[J"] 183 | [66.255054, "o", "\u001b[J\u001b[0mkind-1m3w-nocni.yaml \u001b[Jkind-create-cluster.asc\u001b[J\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[0m\u001b[39m\r\u001b[4Ckind create cluster --config kind-\u001b[K\u001b[142C\u001b[1m\u001b[0m\u001b[0m\u001b[39m\u001b[142D"] 184 | [67.771709, "o", "1"] 185 | [68.01156, "o", "m3w-nocni.yaml\u001b[1m \u001b[0m"] 186 | [71.380879, "o", "\b\u001b[0m \b"] 187 | [71.381288, "o", "\u001b[?1l\u001b>\u001b[?2004l\r\r\n\u001b[J"] 188 | [71.382291, "o", "\u001b]2;kind create cluster --config kind-1m3w-nocni.yaml\u0007"] 189 | [71.38252, "o", "\u001b]1;kind\u0007"] 190 | [71.467082, "o", "Creating cluster \"kind\" ...\r\n"] 191 | [71.537766, "o", "\r \u001b[32m✓\u001b[0m Ensuring node image (kindest/node:v1.19.1) 🖼\r\n"] 192 | [71.637871, "o", "\u001b[?7l\r⠈⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 193 | [71.737923, "o", "\u001b[?7l\r⠈⠑ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 194 | [71.837906, "o", "\u001b[?7l\r⠈⠱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 195 | [71.93791, "o", "\u001b[?7l\r⠈⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 196 | [72.03788, "o", "\u001b[?7l\r⢀⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 197 | [72.137947, "o", "\u001b[?7l\r⢄⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 198 | [72.237902, "o", "\u001b[?7l\r⢄⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 199 | [72.337874, "o", "\u001b[?7l\r⢆⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 200 | [72.437795, "o", "\u001b[?7l\r⢎⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 201 | [72.538084, "o", "\u001b[?7l\r⢎⡰ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 202 | [72.638175, "o", "\u001b[?7l\r⢎⡠ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 203 | [72.738068, "o", "\u001b[?7l\r⢎⡀ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 204 | [72.837966, "o", "\u001b[?7l\r⢎⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 205 | [72.938097, "o", "\u001b[?7l\r⠎⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 206 | [73.037963, "o", "\u001b[?7l\r⠊⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 207 | [73.137903, "o", "\u001b[?7l\r⠈⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 208 | [73.237979, "o", "\u001b[?7l\r⠈⠑ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 209 | [73.33817, "o", "\u001b[?7l\r⠈⠱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 210 | [73.438059, "o", "\u001b[?7l\r⠈⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 211 | [73.538023, "o", "\u001b[?7l\r⢀⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 212 | [73.637976, "o", "\u001b[?7l\r⢄⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 213 | [73.738085, "o", "\u001b[?7l\r⢄⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 214 | [73.837993, "o", "\u001b[?7l\r⢆⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 215 | [73.937833, "o", "\u001b[?7l\r⢎⡱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 216 | [74.038584, "o", "\u001b[?7l\r⢎⡰ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 217 | [74.138017, "o", "\u001b[?7l\r⢎⡠ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 218 | [74.237875, "o", "\u001b[?7l\r⢎⡀ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 219 | [74.337888, "o", "\u001b[?7l\r⢎⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 220 | [74.437852, "o", "\u001b[?7l\r⠎⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 221 | [74.53805, "o", "\u001b[?7l\r⠊⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 222 | [74.638004, "o", "\u001b[?7l\r⠈⠁ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 223 | [74.738485, "o", "\u001b[?7l\r⠈⠑ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 224 | [74.837862, "o", "\u001b[?7l\r⠈⠱ Preparing nodes 📦 📦 📦 📦 \u001b[?7h"] 225 | [74.924192, "o", "\r \u001b[32m✓\u001b[0m Preparing nodes 📦 📦 📦 📦 \r\n"] 226 | [75.217862, "o", "\u001b[?7l\r⠈⠁ Writing configuration 📜 \u001b[?7h"] 227 | [75.317778, "o", "\u001b[?7l\r⠈⠑ Writing configuration 📜 \u001b[?7h"] 228 | [75.417861, "o", "\u001b[?7l\r⠈⠱ Writing configuration 📜 \u001b[?7h"] 229 | [75.517833, "o", "\u001b[?7l\r⠈⡱ Writing configuration 📜 \u001b[?7h"] 230 | [75.617893, "o", "\u001b[?7l\r⢀⡱ Writing configuration 📜 \u001b[?7h"] 231 | [75.718025, "o", "\u001b[?7l\r⢄⡱ Writing configuration 📜 \u001b[?7h"] 232 | [75.81783, "o", "\u001b[?7l\r⢄⡱ Writing configuration 📜 \u001b[?7h"] 233 | [75.91886, "o", "\u001b[?7l\r⢆⡱ Writing configuration 📜 \u001b[?7h"] 234 | [76.01782, "o", "\u001b[?7l\r⢎⡱ Writing configuration 📜 \u001b[?7h"] 235 | [76.117819, "o", "\u001b[?7l\r⢎⡰ Writing configuration 📜 \u001b[?7h"] 236 | [76.20328, "o", "\r \u001b[32m✓\u001b[0m Writing configuration 📜\r\n"] 237 | [76.303419, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 238 | [76.403408, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 239 | [76.503453, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 240 | [76.603462, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 241 | [76.703449, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 242 | [76.803438, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 243 | [76.903481, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 244 | [77.003468, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 245 | [77.103461, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 246 | [77.203403, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 247 | [77.303442, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 248 | [77.403417, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 249 | [77.503446, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 250 | [77.603464, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 251 | [77.703532, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 252 | [77.803504, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 253 | [77.903505, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 254 | [78.003451, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 255 | [78.103431, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 256 | [78.203433, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 257 | [78.303466, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 258 | [78.403445, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 259 | [78.503477, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 260 | [78.603435, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 261 | [78.703435, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 262 | [78.803476, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 263 | [78.90345, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 264 | [79.003469, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 265 | [79.103456, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 266 | [79.203446, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 267 | [79.303508, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 268 | [79.403496, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 269 | [79.50346, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 270 | [79.603419, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 271 | [79.703365, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 272 | [79.803434, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 273 | [79.903356, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 274 | [80.003423, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 275 | [80.103416, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 276 | [80.203386, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 277 | [80.303471, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 278 | [80.403453, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 279 | [80.503487, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 280 | [80.603424, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 281 | [80.703618, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 282 | [80.803592, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 283 | [80.903603, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 284 | [81.003537, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 285 | [81.103583, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 286 | [81.203576, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 287 | [81.303452, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 288 | [81.403477, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 289 | [81.503614, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 290 | [81.603603, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 291 | [81.703612, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 292 | [81.803617, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 293 | [81.903444, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 294 | [82.003608, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 295 | [82.103662, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 296 | [82.20364, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 297 | [82.303664, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 298 | [82.403655, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 299 | [82.503611, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 300 | [82.603647, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 301 | [82.703643, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 302 | [82.803646, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 303 | [82.903561, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 304 | [83.003679, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 305 | [83.103687, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 306 | [83.203733, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 307 | [83.303706, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 308 | [83.403691, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 309 | [83.503732, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 310 | [83.603673, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 311 | [83.703557, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 312 | [83.803556, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 313 | [83.903642, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 314 | [84.003669, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 315 | [84.103626, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 316 | [84.203575, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 317 | [84.303542, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 318 | [84.403623, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 319 | [84.503669, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 320 | [84.603656, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 321 | [84.703687, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 322 | [84.803631, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 323 | [84.903558, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 324 | [85.003649, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 325 | [85.103415, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 326 | [85.203406, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 327 | [85.303809, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 328 | [85.403409, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 329 | [85.503662, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 330 | [85.603403, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 331 | [85.703397, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 332 | [85.803411, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 333 | [85.903416, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 334 | [86.00344, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 335 | [86.103547, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 336 | [86.203661, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 337 | [86.303666, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 338 | [86.403589, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 339 | [86.503704, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 340 | [86.603592, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 341 | [86.703584, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 342 | [86.803546, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 343 | [86.903546, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 344 | [87.003716, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 345 | [87.103645, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 346 | [87.203685, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 347 | [87.303684, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 348 | [87.403627, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 349 | [87.503482, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 350 | [87.603473, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 351 | [87.703712, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 352 | [87.80343, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 353 | [87.903445, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 354 | [88.003663, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 355 | [88.103497, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 356 | [88.203507, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 357 | [88.303656, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 358 | [88.403649, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 359 | [88.503667, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 360 | [88.603673, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 361 | [88.703733, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 362 | [88.803683, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 363 | [88.903616, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 364 | [89.003629, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 365 | [89.103587, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 366 | [89.203626, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 367 | [89.303543, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 368 | [89.403595, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 369 | [89.503618, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 370 | [89.60368, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 371 | [89.703653, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 372 | [89.803485, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 373 | [89.903686, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 374 | [90.003677, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 375 | [90.103656, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 376 | [90.203724, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 377 | [90.303619, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 378 | [90.40366, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 379 | [90.503675, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 380 | [90.603532, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 381 | [90.703572, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 382 | [90.80368, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 383 | [90.903565, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 384 | [91.003706, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 385 | [91.103688, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 386 | [91.203692, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 387 | [91.303648, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 388 | [91.403653, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 389 | [91.503699, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 390 | [91.603426, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 391 | [91.703539, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 392 | [91.803422, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 393 | [91.903473, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 394 | [92.003532, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 395 | [92.103601, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 396 | [92.203619, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 397 | [92.303598, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 398 | [92.403637, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 399 | [92.503642, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 400 | [92.603616, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 401 | [92.70364, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 402 | [92.803441, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 403 | [92.903483, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 404 | [93.003563, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 405 | [93.103454, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 406 | [93.203595, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 407 | [93.303566, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 408 | [93.403637, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 409 | [93.503684, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 410 | [93.603558, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 411 | [93.703657, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 412 | [93.803562, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 413 | [93.903573, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 414 | [94.003636, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 415 | [94.103551, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 416 | [94.203545, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 417 | [94.303524, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 418 | [94.403529, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 419 | [94.503622, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 420 | [94.603656, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 421 | [94.703735, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 422 | [94.80358, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 423 | [94.903484, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 424 | [95.003541, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 425 | [95.103641, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 426 | [95.203678, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 427 | [95.303432, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 428 | [95.403452, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 429 | [95.50365, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 430 | [95.603586, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 431 | [95.70357, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 432 | [95.803644, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 433 | [95.90358, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 434 | [96.003588, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 435 | [96.103564, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 436 | [96.20367, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 437 | [96.303671, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 438 | [96.40346, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 439 | [96.50365, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 440 | [96.603422, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 441 | [96.70355, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 442 | [96.80348, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 443 | [96.903441, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 444 | [97.003653, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 445 | [97.103476, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 446 | [97.203665, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 447 | [97.303544, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 448 | [97.40351, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 449 | [97.50363, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 450 | [97.603497, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 451 | [97.703571, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 452 | [97.803571, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 453 | [97.903416, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 454 | [98.003466, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 455 | [98.103374, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 456 | [98.203556, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 457 | [98.303517, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 458 | [98.403332, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 459 | [98.503395, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 460 | [98.60346, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 461 | [98.703602, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 462 | [98.80354, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 463 | [98.903371, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 464 | [99.003406, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 465 | [99.103369, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 466 | [99.203381, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 467 | [99.303379, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 468 | [99.4034, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 469 | [99.503406, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 470 | [99.603378, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 471 | [99.703376, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 472 | [99.803387, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 473 | [99.903484, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 474 | [100.003623, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 475 | [100.103702, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 476 | [100.203629, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 477 | [100.303497, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 478 | [100.403449, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 479 | [100.503592, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 480 | [100.603541, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 481 | [100.703491, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 482 | [100.803636, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 483 | [100.903532, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 484 | [101.00333, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 485 | [101.103467, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 486 | [101.203338, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 487 | [101.303445, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 488 | [101.403402, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 489 | [101.503441, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 490 | [101.603336, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 491 | [101.703391, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 492 | [101.803375, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 493 | [101.903454, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 494 | [102.003457, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 495 | [102.103497, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 496 | [102.203393, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 497 | [102.303505, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 498 | [102.403472, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 499 | [102.503498, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 500 | [102.603484, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 501 | [102.703467, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 502 | [102.803392, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 503 | [102.903511, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 504 | [103.003528, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 505 | [103.103446, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 506 | [103.203458, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 507 | [103.303471, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 508 | [103.403387, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 509 | [103.503529, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 510 | [103.603458, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 511 | [103.703605, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 512 | [103.803527, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 513 | [103.903573, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 514 | [104.003679, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 515 | [104.103444, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 516 | [104.203506, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 517 | [104.303405, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 518 | [104.403445, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 519 | [104.503381, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 520 | [104.603416, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 521 | [104.703376, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 522 | [104.803515, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 523 | [104.903677, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 524 | [105.00359, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 525 | [105.10352, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 526 | [105.203482, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 527 | [105.303421, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 528 | [105.40354, "o", "\u001b[?7l\r⢄⡱ Starting control-plane 🕹️ \u001b[?7h"] 529 | [105.503623, "o", "\u001b[?7l\r⢆⡱ Starting control-plane 🕹️ \u001b[?7h"] 530 | [105.603481, "o", "\u001b[?7l\r⢎⡱ Starting control-plane 🕹️ \u001b[?7h"] 531 | [105.703607, "o", "\u001b[?7l\r⢎⡰ Starting control-plane 🕹️ \u001b[?7h"] 532 | [105.803645, "o", "\u001b[?7l\r⢎⡠ Starting control-plane 🕹️ \u001b[?7h"] 533 | [105.90362, "o", "\u001b[?7l\r⢎⡀ Starting control-plane 🕹️ \u001b[?7h"] 534 | [106.003588, "o", "\u001b[?7l\r⢎⠁ Starting control-plane 🕹️ \u001b[?7h"] 535 | [106.103613, "o", "\u001b[?7l\r⠎⠁ Starting control-plane 🕹️ \u001b[?7h"] 536 | [106.203541, "o", "\u001b[?7l\r⠊⠁ Starting control-plane 🕹️ \u001b[?7h"] 537 | [106.303464, "o", "\u001b[?7l\r⠈⠁ Starting control-plane 🕹️ \u001b[?7h"] 538 | [106.403528, "o", "\u001b[?7l\r⠈⠑ Starting control-plane 🕹️ \u001b[?7h"] 539 | [106.503485, "o", "\u001b[?7l\r⠈⠱ Starting control-plane 🕹️ \u001b[?7h"] 540 | [106.603523, "o", "\u001b[?7l\r⠈⡱ Starting control-plane 🕹️ \u001b[?7h"] 541 | [106.703484, "o", "\u001b[?7l\r⢀⡱ Starting control-plane 🕹️ \u001b[?7h"] 542 | [106.732934, "o", "\r \u001b[32m✓\u001b[0m Starting control-plane 🕹️\r\n"] 543 | [106.833082, "o", "\u001b[?7l\r⠈⠁ Installing StorageClass 💾 \u001b[?7h"] 544 | [106.933468, "o", "\u001b[?7l\r⠈⠑ Installing StorageClass 💾 \u001b[?7h"] 545 | [107.03299, "o", "\u001b[?7l\r⠈⠱ Installing StorageClass 💾 \u001b[?7h"] 546 | [107.133098, "o", "\u001b[?7l\r⠈⡱ Installing StorageClass 💾 \u001b[?7h"] 547 | [107.233077, "o", "\u001b[?7l\r⢀⡱ Installing StorageClass 💾 \u001b[?7h"] 548 | [107.333163, "o", "\u001b[?7l\r⢄⡱ Installing StorageClass 💾 \u001b[?7h"] 549 | [107.433154, "o", "\u001b[?7l\r⢄⡱ Installing StorageClass 💾 \u001b[?7h"] 550 | [107.533089, "o", "\u001b[?7l\r⢆⡱ Installing StorageClass 💾 \u001b[?7h"] 551 | [107.633121, "o", "\u001b[?7l\r⢎⡱ Installing StorageClass 💾 \u001b[?7h"] 552 | [107.705219, "o", "\r \u001b[32m✓\u001b[0m Installing StorageClass 💾\r\n"] 553 | [108.114039, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 554 | [108.2141, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 555 | [108.314192, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 556 | [108.414215, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 557 | [108.514214, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 558 | [108.614174, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 559 | [108.714322, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 560 | [108.814268, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 561 | [108.914229, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 562 | [109.014217, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 563 | [109.114214, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 564 | [109.214162, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 565 | [109.314288, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 566 | [109.414131, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 567 | [109.514194, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 568 | [109.614252, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 569 | [109.714172, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 570 | [109.8143, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 571 | [109.914227, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 572 | [110.014359, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 573 | [110.114232, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 574 | [110.214187, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 575 | [110.314114, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 576 | [110.414192, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 577 | [110.514197, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 578 | [110.614119, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 579 | [110.714138, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 580 | [110.8142, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 581 | [110.914321, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 582 | [111.014234, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 583 | [111.114202, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 584 | [111.214363, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 585 | [111.314271, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 586 | [111.41428, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 587 | [111.514077, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 588 | [111.61425, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 589 | [111.714095, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 590 | [111.814265, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 591 | [111.914195, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 592 | [112.014256, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 593 | [112.114157, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 594 | [112.214203, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 595 | [112.314161, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 596 | [112.414301, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 597 | [112.514263, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 598 | [112.614287, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 599 | [112.714271, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 600 | [112.814059, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 601 | [112.914013, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 602 | [113.014213, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 603 | [113.11423, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 604 | [113.214223, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 605 | [113.314147, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 606 | [113.414284, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 607 | [113.514263, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 608 | [113.614296, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 609 | [113.714185, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 610 | [113.814247, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 611 | [113.914201, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 612 | [114.014066, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 613 | [114.114161, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 614 | [114.214234, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 615 | [114.3141, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 616 | [114.414231, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 617 | [114.514277, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 618 | [114.614284, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 619 | [114.714278, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 620 | [114.814283, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 621 | [114.914266, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 622 | [115.014265, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 623 | [115.114274, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 624 | [115.214192, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 625 | [115.31402, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 626 | [115.414278, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 627 | [115.514277, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 628 | [115.614142, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 629 | [115.714215, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 630 | [115.814312, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 631 | [115.914208, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 632 | [116.014191, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 633 | [116.114224, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 634 | [116.214292, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 635 | [116.314299, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 636 | [116.414114, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 637 | [116.514234, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 638 | [116.61427, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 639 | [116.714059, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 640 | [116.814268, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 641 | [116.914243, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 642 | [117.014246, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 643 | [117.114213, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 644 | [117.214252, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 645 | [117.314106, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 646 | [117.414138, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 647 | [117.514291, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 648 | [117.614312, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 649 | [117.714671, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 650 | [117.81406, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 651 | [117.914074, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 652 | [118.014169, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 653 | [118.114195, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 654 | [118.214328, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 655 | [118.314246, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 656 | [118.414243, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 657 | [118.514274, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 658 | [118.61426, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 659 | [118.714102, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 660 | [118.814262, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 661 | [118.914159, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 662 | [119.014222, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 663 | [119.114136, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 664 | [119.214232, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 665 | [119.314252, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 666 | [119.414098, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 667 | [119.514261, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 668 | [119.614299, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 669 | [119.714271, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 670 | [119.814055, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 671 | [119.914216, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 672 | [120.014262, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 673 | [120.114245, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 674 | [120.214274, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 675 | [120.314095, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 676 | [120.4141, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 677 | [120.514246, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 678 | [120.61426, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 679 | [120.714294, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 680 | [120.81429, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 681 | [120.914149, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 682 | [121.014271, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 683 | [121.114307, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 684 | [121.21417, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 685 | [121.314154, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 686 | [121.414322, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 687 | [121.514239, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 688 | [121.614067, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 689 | [121.714338, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 690 | [121.814253, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 691 | [121.9141, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 692 | [122.014191, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 693 | [122.114277, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 694 | [122.214226, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 695 | [122.314205, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 696 | [122.414238, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 697 | [122.514283, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 698 | [122.614347, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 699 | [122.714156, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 700 | [122.81403, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 701 | [122.914121, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 702 | [123.014253, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 703 | [123.114095, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 704 | [123.214234, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 705 | [123.314234, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 706 | [123.41428, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 707 | [123.514144, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 708 | [123.614289, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 709 | [123.71432, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 710 | [123.814219, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 711 | [123.914235, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 712 | [124.01422, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 713 | [124.114076, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 714 | [124.2142, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 715 | [124.314108, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 716 | [124.414264, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 717 | [124.514238, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 718 | [124.614112, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 719 | [124.714278, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 720 | [124.814188, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 721 | [124.914203, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 722 | [125.014085, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 723 | [125.114158, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 724 | [125.214206, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 725 | [125.314381, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 726 | [125.414028, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 727 | [125.514025, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 728 | [125.614025, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 729 | [125.714013, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 730 | [125.814049, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 731 | [125.914057, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 732 | [126.014044, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 733 | [126.114052, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 734 | [126.214035, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 735 | [126.314049, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 736 | [126.414143, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 737 | [126.514244, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 738 | [126.614029, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 739 | [126.71404, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 740 | [126.814155, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 741 | [126.914238, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 742 | [127.014224, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 743 | [127.114126, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 744 | [127.214347, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 745 | [127.314298, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 746 | [127.414212, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 747 | [127.514318, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 748 | [127.614315, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 749 | [127.714322, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 750 | [127.814206, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 751 | [127.914184, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 752 | [128.014271, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 753 | [128.114244, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 754 | [128.214244, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 755 | [128.314251, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 756 | [128.414319, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 757 | [128.514161, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 758 | [128.61432, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 759 | [128.714321, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 760 | [128.814101, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 761 | [128.914157, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 762 | [129.014263, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 763 | [129.114235, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 764 | [129.214284, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 765 | [129.314238, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 766 | [129.414283, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 767 | [129.514225, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 768 | [129.61432, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 769 | [129.714336, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 770 | [129.81416, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 771 | [129.91416, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 772 | [130.014237, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 773 | [130.114288, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 774 | [130.214229, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 775 | [130.314298, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 776 | [130.414286, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 777 | [130.514358, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 778 | [130.614151, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 779 | [130.714204, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 780 | [130.814039, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 781 | [130.914303, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 782 | [131.014098, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 783 | [131.11431, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 784 | [131.214125, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 785 | [131.314216, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 786 | [131.414078, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 787 | [131.514181, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 788 | [131.614282, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 789 | [131.714155, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 790 | [131.814254, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 791 | [131.91431, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 792 | [132.014318, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 793 | [132.114286, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 794 | [132.214159, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 795 | [132.314233, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 796 | [132.41434, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 797 | [132.514141, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 798 | [132.614289, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 799 | [132.714066, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 800 | [132.814228, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 801 | [132.914294, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 802 | [133.01414, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 803 | [133.114263, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 804 | [133.214225, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 805 | [133.314365, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 806 | [133.414279, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 807 | [133.514127, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 808 | [133.614307, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 809 | [133.71422, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 810 | [133.81434, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 811 | [133.914201, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 812 | [134.014249, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 813 | [134.114233, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 814 | [134.214163, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 815 | [134.314282, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 816 | [134.414287, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 817 | [134.514119, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 818 | [134.614283, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 819 | [134.714158, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 820 | [134.814213, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 821 | [134.91419, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 822 | [135.014322, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 823 | [135.114255, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 824 | [135.21416, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 825 | [135.314253, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 826 | [135.414124, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 827 | [135.514212, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 828 | [135.614196, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 829 | [135.714112, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 830 | [135.81426, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 831 | [135.914348, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 832 | [136.014151, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 833 | [136.11432, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 834 | [136.214159, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 835 | [136.314255, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 836 | [136.414277, "o", "\u001b[?7l\r⠎⠁ Joining worker nodes 🚜 \u001b[?7h"] 837 | [136.514246, "o", "\u001b[?7l\r⠊⠁ Joining worker nodes 🚜 \u001b[?7h"] 838 | [136.61433, "o", "\u001b[?7l\r⠈⠁ Joining worker nodes 🚜 \u001b[?7h"] 839 | [136.714158, "o", "\u001b[?7l\r⠈⠑ Joining worker nodes 🚜 \u001b[?7h"] 840 | [136.814303, "o", "\u001b[?7l\r⠈⠱ Joining worker nodes 🚜 \u001b[?7h"] 841 | [136.914265, "o", "\u001b[?7l\r⠈⡱ Joining worker nodes 🚜 \u001b[?7h"] 842 | [137.014233, "o", "\u001b[?7l\r⢀⡱ Joining worker nodes 🚜 \u001b[?7h"] 843 | [137.11416, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 844 | [137.214189, "o", "\u001b[?7l\r⢄⡱ Joining worker nodes 🚜 \u001b[?7h"] 845 | [137.314243, "o", "\u001b[?7l\r⢆⡱ Joining worker nodes 🚜 \u001b[?7h"] 846 | [137.414052, "o", "\u001b[?7l\r⢎⡱ Joining worker nodes 🚜 \u001b[?7h"] 847 | [137.514037, "o", "\u001b[?7l\r⢎⡰ Joining worker nodes 🚜 \u001b[?7h"] 848 | [137.614117, "o", "\u001b[?7l\r⢎⡠ Joining worker nodes 🚜 \u001b[?7h"] 849 | [137.714238, "o", "\u001b[?7l\r⢎⡀ Joining worker nodes 🚜 \u001b[?7h"] 850 | [137.814426, "o", "\u001b[?7l\r⢎⠁ Joining worker nodes 🚜 \u001b[?7h"] 851 | [137.860716, "o", "\r \u001b[32m✓\u001b[0m Joining worker nodes 🚜\r\n"] 852 | [138.671725, "o", "Set kubectl context to \"kind-kind\"\r\nYou can now use your cluster with:\r\n\r\nkubectl cluster-info --context kind-kind\r\n\r\n"] 853 | [138.671973, "o", "Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂\r\n"] 854 | [138.672895, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 855 | [138.673001, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 856 | [138.673064, "o", "\u001b]1;..-kind-cluster\u0007"] 857 | [138.873868, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 858 | [138.874001, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 859 | [143.114111, "o", "#"] 860 | [144.020002, "o", "\b#G"] 861 | [144.132028, "o", "R"] 862 | [144.208403, "o", "e"] 863 | [144.377254, "o", "a"] 864 | [144.592674, "o", "t"] 865 | [145.077996, "o", "\b \b"] 866 | [145.379176, "o", "\b \b"] 867 | [145.530639, "o", "\b \b"] 868 | [145.667595, "o", "\b \b"] 869 | [145.816232, "o", "r"] 870 | [145.853533, "o", "e"] 871 | [146.038582, "o", "a"] 872 | [146.240937, "o", "t"] 873 | [146.63617, "o", "!"] 874 | [146.856319, "o", " "] 875 | [147.076589, "o", "w"] 876 | [147.179354, "o", "e"] 877 | [147.303356, "o", " "] 878 | [147.438106, "o", "h"] 879 | [147.511254, "o", "a"] 880 | [147.609442, "o", "v"] 881 | [147.688419, "o", "e"] 882 | [147.803299, "o", " "] 883 | [147.908637, "o", "a"] 884 | [148.004582, "o", " "] 885 | [148.18925, "o", "c"] 886 | [148.275416, "o", "l"] 887 | [148.383477, "o", "u"] 888 | [148.482504, "o", "s"] 889 | [148.628748, "o", "t"] 890 | [148.679586, "o", "e"] 891 | [148.783456, "o", "r"] 892 | [149.281585, "o", " "] 893 | [149.455358, "o", "a"] 894 | [149.620008, "o", "n"] 895 | [149.722004, "o", "d"] 896 | [149.900277, "o", " "] 897 | [150.156334, "o", "i"] 898 | [150.347058, "o", "t"] 899 | [150.486368, "o", " "] 900 | [150.989444, "o", "l"] 901 | [151.196173, "o", "o"] 902 | [151.344882, "o", "o"] 903 | [151.544273, "o", "k"] 904 | [151.666231, "o", "s"] 905 | [151.776922, "o", " "] 906 | [151.870212, "o", "l"] 907 | [151.948212, "o", "i"] 908 | [152.184012, "o", "k"] 909 | [152.235568, "o", "e"] 910 | [152.476464, "o", " "] 911 | [152.694377, "o", "k"] 912 | [152.84133, "o", "u"] 913 | [153.073233, "o", "b"] 914 | [153.656635, "o", "e"] 915 | [153.890243, "o", "c"] 916 | [154.051594, "o", "t"] 917 | [154.256091, "o", "l"] 918 | [154.384692, "o", " "] 919 | [156.67724, "o", "i"] 920 | [156.773909, "o", "s"] 921 | [156.872295, "o", " "] 922 | [157.137293, "o", "c"] 923 | [157.232311, "o", "o"] 924 | [157.4252, "o", "f"] 925 | [157.568227, "o", "i"] 926 | [157.751586, "o", "g"] 927 | [157.961945, "o", "u"] 928 | [158.053825, "o", "r"] 929 | [158.151356, "o", "e"] 930 | [158.382913, "o", "d"] 931 | [159.234418, "o", " "] 932 | [159.369123, "o", "l"] 933 | [159.483613, "o", "e"] 934 | [159.625239, "o", "t"] 935 | [159.745333, "o", "s"] 936 | [159.92662, "o", " "] 937 | [160.072351, "o", "t"] 938 | [160.151783, "o", "r"] 939 | [160.361692, "o", "y"] 940 | [160.52343, "o", " "] 941 | [161.543595, "o", "i"] 942 | [161.835513, "o", "t"] 943 | [162.607405, "o", "\u001b[?1l\u001b>"] 944 | [162.607549, "o", "\u001b[?2004l\r\r\n"] 945 | [162.607804, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 946 | [162.607881, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 947 | [162.60793, "o", "\u001b]1;..-kind-cluster\u0007"] 948 | [162.626031, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 949 | [162.626166, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 950 | [163.397017, "o", "k"] 951 | [163.57634, "o", "\bku"] 952 | [163.799383, "o", "b"] 953 | [163.871885, "o", "e"] 954 | [164.178261, "o", "c"] 955 | [164.337085, "o", "t"] 956 | [164.493379, "o", "l"] 957 | [165.077073, "o", " "] 958 | [165.245213, "o", "g"] 959 | [165.373358, "o", "e"] 960 | [165.485002, "o", "t"] 961 | [165.581418, "o", " "] 962 | [165.793636, "o", "n"] 963 | [165.92322, "o", "o"] 964 | [166.050303, "o", "d"] 965 | [166.24396, "o", "e"] 966 | [167.093323, "o", "s"] 967 | [168.631003, "o", " "] 968 | [169.316497, "o", "-"] 969 | [169.618468, "o", "o"] 970 | [169.757673, "o", " "] 971 | [169.897074, "o", "w"] 972 | [170.015982, "o", "i"] 973 | [170.136882, "o", "d"] 974 | [170.293022, "o", "e"] 975 | [170.433713, "o", "\u001b[?1l\u001b>"] 976 | [170.434021, "o", "\u001b[?2004l\r\r\n"] 977 | [170.434863, "o", "\u001b]2;kubectl get nodes -o wide\u0007\u001b]1;kubectl\u0007"] 978 | [170.897274, "o", "NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE "] 979 | [170.897591, "o", " KERNEL-VERSION CONTAINER-RUNTIME\r\nkind-control-plane NotReady master 67s v1.19.1 172.19.0.2 Ubuntu Groovy Gorilla (development branch) 5.4.0-40-generic containerd://1.4.0\r\nkind-worker NotReady 33s v1.19.1 172.19.0.4 "] 980 | [170.8978, "o", " Ubuntu Groovy Gorilla (development branch) 5.4.0-40-generic containerd://1.4.0\r\nkind-worker2 NotReady 33s v1.19.1 172.19.0.5 Ubuntu Groovy Gorilla (development branch) 5.4.0-40-generic containerd://1.4.0\r\nkind-worker3"] 981 | [170.897953, "o", " NotReady 33s v1.19.1 172.19.0.3 Ubuntu Groovy Gorilla (development branch) 5.4.0-40-generic containerd://1.4.0\r\n"] 982 | [170.904808, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 983 | [170.905135, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 984 | [170.931962, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 985 | [170.932094, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 986 | [177.15178, "o", "#"] 987 | [177.720506, "o", "\b#f"] 988 | [177.873038, "o", "i"] 989 | [178.002411, "o", "r"] 990 | [178.245596, "o", "s"] 991 | [178.455555, "o", "t"] 992 | [178.686784, "o", " "] 993 | [180.141012, "o", "t"] 994 | [180.29193, "o", "a"] 995 | [180.49113, "o", "k"] 996 | [180.616551, "o", "e"] 997 | [182.573194, "o", "-"] 998 | [182.872717, "o", "a"] 999 | [183.066388, "o", "w"] 1000 | [183.275171, "o", "a"] 1001 | [183.421965, "o", "y"] 1002 | [183.54231, "o", "s"] 1003 | [184.234969, "o", ","] 1004 | [184.382013, "o", " "] 1005 | [185.958556, "o", "N"] 1006 | [186.184455, "o", "o"] 1007 | [186.26819, "o", "d"] 1008 | [186.494995, "o", "e"] 1009 | [186.613449, "o", "s"] 1010 | [187.330956, "o", " "] 1011 | [187.447066, "o", "a"] 1012 | [187.606518, "o", "r"] 1013 | [187.685816, "o", "e"] 1014 | [187.749965, "o", " "] 1015 | [187.906149, "o", "n"] 1016 | [187.947993, "o", "o"] 1017 | [188.365776, "o", "t"] 1018 | [188.858364, "o", " "] 1019 | [189.237277, "o", "R"] 1020 | [189.464753, "o", "e"] 1021 | [189.874963, "o", "\b \b"] 1022 | [189.998673, "o", "\b \b"] 1023 | [190.685586, "o", "r"] 1024 | [190.742821, "o", "e"] 1025 | [190.977741, "o", "a"] 1026 | [191.112977, "o", "d"] 1027 | [191.273959, "o", "y"] 1028 | [191.438224, "o", " "] 1029 | [193.147849, "o", "\""] 1030 | [193.550233, "o", "S"] 1031 | [193.871531, "o", "t"] 1032 | [193.927805, "o", "a"] 1033 | [194.050795, "o", "t"] 1034 | [194.692571, "o", "u"] 1035 | [195.294525, "o", "s"] 1036 | [196.164837, "o", ":"] 1037 | [196.477306, "o", " "] 1038 | [197.150768, "o", "M"] 1039 | [197.5789, "o", "\b \b"] 1040 | [198.071485, "o", "N"] 1041 | [198.272931, "o", "o"] 1042 | [198.523012, "o", "t"] 1043 | [199.128626, "o", "R"] 1044 | [199.396835, "o", "e"] 1045 | [199.606919, "o", "a"] 1046 | [199.718307, "o", "d"] 1047 | [199.886931, "o", "y"] 1048 | [200.55017, "o", "\""] 1049 | [201.159046, "o", "\b"] 1050 | [201.659377, "o", "\b"] 1051 | [201.690686, "o", "\b"] 1052 | [201.721181, "o", "\b"] 1053 | [201.752202, "o", "\b"] 1054 | [201.781861, "o", "\b"] 1055 | [201.812797, "o", "\b"] 1056 | [201.842545, "o", "\b"] 1057 | [201.872771, "o", "\b"] 1058 | [201.902437, "o", "\b"] 1059 | [201.932607, "o", "\b"] 1060 | [201.963416, "o", "\b"] 1061 | [201.994605, "o", "\b"] 1062 | [202.023975, "o", "\b"] 1063 | [202.052944, "o", "\b"] 1064 | [202.085716, "o", "\b"] 1065 | [202.115659, "o", "\b"] 1066 | [202.144957, "o", "\b"] 1067 | [202.174923, "o", "\b"] 1068 | [202.206106, "o", "\b"] 1069 | [202.236346, "o", "\b"] 1070 | [202.266284, "o", "\b"] 1071 | [202.298217, "o", "\b"] 1072 | [202.328794, "o", "\b"] 1073 | [202.360107, "o", "\b"] 1074 | [202.3906, "o", "\b"] 1075 | [202.421487, "o", "\b"] 1076 | [202.453416, "o", "\b"] 1077 | [202.482991, "o", "\b"] 1078 | [202.514295, "o", "\b"] 1079 | [202.544716, "o", "\b"] 1080 | [202.574577, "o", "\b"] 1081 | [202.604461, "o", "\b"] 1082 | [202.634562, "o", "\b"] 1083 | [202.664506, "o", "\b"] 1084 | [202.694422, "o", "\b"] 1085 | [202.724583, "o", "\b"] 1086 | [203.311468, "o", "\bodes are not ready \"Status: NotReady\" \u001b[38D"] 1087 | [203.964866, "o", "nodes are not ready \"Status: NotReady\"\u001b[37D"] 1088 | [204.37463, "o", "\u001b[1C"] 1089 | [204.876479, "o", "\u001b[1C"] 1090 | [204.907347, "o", "\u001b[1C"] 1091 | [204.937918, "o", "\u001b[1C"] 1092 | [204.968599, "o", "\u001b[1C"] 1093 | [205.000423, "o", "\u001b[1C"] 1094 | [205.029658, "o", "\u001b[1C"] 1095 | [205.060559, "o", "\u001b[1C"] 1096 | [205.091614, "o", "\u001b[1C"] 1097 | [205.122341, "o", "\u001b[1C"] 1098 | [205.153333, "o", "\u001b[1C"] 1099 | [205.18411, "o", "\u001b[1C"] 1100 | [205.215156, "o", "\u001b[1C"] 1101 | [205.245285, "o", "\u001b[1C"] 1102 | [205.276564, "o", "\u001b[1C"] 1103 | [205.306621, "o", "\u001b[1C"] 1104 | [205.336807, "o", "\u001b[1C"] 1105 | [205.36672, "o", "\u001b[1C"] 1106 | [205.398072, "o", "\u001b[1C"] 1107 | [205.42839, "o", "\u001b[1C"] 1108 | [205.459625, "o", "\u001b[1C"] 1109 | [205.490578, "o", "\u001b[1C"] 1110 | [205.520483, "o", "\u001b[1C"] 1111 | [205.550235, "o", "\u001b[1C"] 1112 | [205.579224, "o", "\u001b[1C"] 1113 | [205.610118, "o", "\u001b[1C"] 1114 | [205.642516, "o", "\u001b[1C"] 1115 | [205.673797, "o", "\u001b[1C"] 1116 | [205.700203, "o", "\u001b[1C"] 1117 | [205.730094, "o", "\u001b[1C"] 1118 | [205.7609, "o", "\u001b[1C"] 1119 | [205.793471, "o", "\u001b[1C"] 1120 | [205.824616, "o", "\u001b[1C"] 1121 | [205.85442, "o", "\u001b[1C"] 1122 | [205.885303, "o", "\u001b[1C"] 1123 | [205.916362, "o", "\u001b[1C"] 1124 | [205.946954, "o", "\u001b[1C"] 1125 | [206.725607, "o", ","] 1126 | [206.969045, "o", " "] 1127 | [208.522525, "o", "s"] 1128 | [208.714233, "o", "e"] 1129 | [209.398547, "o", "c"] 1130 | [209.5129, "o", "o"] 1131 | [209.646579, "o", "n"] 1132 | [209.747151, "o", "d"] 1133 | [211.69617, "o", ","] 1134 | [211.876292, "o", " "] 1135 | [214.016331, "o", "t"] 1136 | [214.232106, "o", "h"] 1137 | [214.283211, "o", "e"] 1138 | [214.39645, "o", " "] 1139 | [214.55207, "o", "d"] 1140 | [214.676087, "o", "o"] 1141 | [214.832961, "o", "c"] 1142 | [214.946407, "o", "k"] 1143 | [215.082518, "o", "e"] 1144 | [215.164645, "o", "r"] 1145 | [215.26605, "o", " "] 1146 | [215.456314, "o", "c"] 1147 | [215.51321, "o", "o"] 1148 | [215.611098, "o", "n"] 1149 | [215.81463, "o", "t"] 1150 | [215.95383, "o", "r"] 1151 | [216.094995, "o", "i"] 1152 | [216.297577, "o", "n"] 1153 | [216.688475, "o", "\b \b"] 1154 | [216.837044, "o", "\b \b"] 1155 | [216.978756, "o", "\b \b"] 1156 | [217.482537, "o", "a"] 1157 | [217.582796, "o", "i"] 1158 | [217.721299, "o", "n"] 1159 | [217.790179, "o", "e"] 1160 | [217.873375, "o", "r"] 1161 | [218.383729, "o", "s"] 1162 | [218.555962, "o", " "] 1163 | [218.718487, "o", "e"] 1164 | [218.934098, "o", "m"] 1165 | [219.31812, "o", "u"] 1166 | [219.49222, "o", "l"] 1167 | [219.63817, "o", "a"] 1168 | [219.845365, "o", "t"] 1169 | [220.016229, "o", "i"] 1170 | [220.169787, "o", "n"] 1171 | [220.394977, "o", "g"] 1172 | [220.511436, "o", " "] 1173 | [222.013703, "o", "U"] 1174 | [222.317242, "o", "b"] 1175 | [222.576199, "o", "u"] 1176 | [222.824031, "o", "n"] 1177 | [223.098227, "o", "t"] 1178 | [223.415267, "o", "u"] 1179 | [225.475452, "o", " "] 1180 | [226.243059, "o", "O"] 1181 | [226.37617, "o", "S"] 1182 | [231.586751, "o", " "] 1183 | [231.727436, "o", "a"] 1184 | [231.911984, "o", "n"] 1185 | [231.955588, "o", "d"] 1186 | [232.078236, "o", " "] 1187 | [232.307228, "o", "w"] 1188 | [233.329436, "o", "e"] 1189 | [233.472658, "o", " "] 1190 | [233.62339, "o", "h"] 1191 | [233.756832, "o", "a"] 1192 | [233.824641, "o", "v"] 1193 | [233.939663, "o", "e"] 1194 | [234.067722, "o", " "] 1195 | [234.298145, "o", "1"] 1196 | [234.450641, "o", "."] 1197 | [235.084738, "o", "1"] 1198 | [235.34833, "o", "9"] 1199 | [235.619632, "o", "."] 1200 | [235.827496, "o", "1"] 1201 | [236.182473, "o", " "] 1202 | [236.35638, "o", "c"] 1203 | [236.454107, "o", "l"] 1204 | [236.546353, "o", "u"] 1205 | [236.656151, "o", "s"] 1206 | [236.820076, "o", "t"] 1207 | [236.850637, "o", "e"] 1208 | [236.984254, "o", "r"] 1209 | [241.124326, "o", "\u001b[?1l\u001b>"] 1210 | [241.124662, "o", "\u001b[?2004l\r\r\n"] 1211 | [241.125151, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1212 | [241.125417, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 1213 | [241.179996, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1214 | [241.180444, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 1215 | [242.351723, "o", "d"] 1216 | [242.425473, "o", "\bdo"] 1217 | [242.55735, "o", "c"] 1218 | [242.68916, "o", "k"] 1219 | [242.770093, "o", "e"] 1220 | [242.852319, "o", "r"] 1221 | [242.952456, "o", " "] 1222 | [243.106798, "o", "p"] 1223 | [243.261323, "o", "s"] 1224 | [245.89869, "o", "\u001b[?1l\u001b>"] 1225 | [245.898842, "o", "\u001b[?2004l\r\r\n"] 1226 | [245.89976, "o", "\u001b]2;docker ps\u0007\u001b]1;docker\u0007"] 1227 | [245.964619, "o", "CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS"] 1228 | [245.964797, "o", " NAMES\r\n2340f0c96926 kindest/node:v1.19.1 \"/usr/local/bin/entr…\" 2 minutes ago Up 2 minutes kind-worker3\r\n467206f30db4 kindest/node:v1.19.1 \"/usr/local/bin/entr…\" 2 minutes ago Up 2 minutes 127.0.0.1:39637->6443/tcp kind-control-plane\r\n5c9736073e18 kindest/node:v1.19.1 \"/usr/local/bin/entr…\" 2 minutes ago Up 2 minutes kind-worker2\r\n0dd4516895f5 kindest/node:v1.19.1 \"/usr/local/bin/entr…\" 2 minutes ago Up 2 minutes kind-worker\r\n"] 1229 | [245.967328, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1230 | [245.967475, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 1231 | [245.98303, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1232 | [245.983238, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 1233 | [247.40524, "o", "#"] 1234 | [248.689925, "o", "\b#d"] 1235 | [248.79947, "o", "o"] 1236 | [248.94822, "o", "c"] 1237 | [249.119819, "o", "k"] 1238 | [249.170574, "o", "e"] 1239 | [249.744813, "o", "r"] 1240 | [249.877462, "o", " "] 1241 | [250.088401, "o", "p"] 1242 | [250.209354, "o", "s"] 1243 | [250.356848, "o", " "] 1244 | [250.618917, "o", "s"] 1245 | [250.807729, "o", "h"] 1246 | [250.910744, "o", "o"] 1247 | [251.017698, "o", "w"] 1248 | [251.157245, "o", " "] 1249 | [259.428315, "o", "c"] 1250 | [259.570577, "o", "o"] 1251 | [259.703134, "o", "n"] 1252 | [259.982366, "o", "t"] 1253 | [260.087862, "o", "a"] 1254 | [260.234326, "o", "i"] 1255 | [260.379264, "o", "e"] 1256 | [260.448747, "o", "n"] 1257 | [260.465449, "o", "r"] 1258 | [261.154134, "o", "\b \b"] 1259 | [261.257908, "o", "\b \b"] 1260 | [261.41125, "o", "\b \b"] 1261 | [261.501786, "o", "\b \b"] 1262 | [261.595177, "o", "\b \b"] 1263 | [261.751848, "o", "\b \b"] 1264 | [261.879518, "o", "\b \b"] 1265 | [262.009067, "o", "\b \b"] 1266 | [262.113297, "o", "\b \b"] 1267 | [262.404449, "o", "a"] 1268 | [262.572014, "o", " "] 1269 | [262.699672, "o", "c"] 1270 | [262.776714, "o", "o"] 1271 | [262.911142, "o", "n"] 1272 | [263.103789, "o", "t"] 1273 | [263.182545, "o", "a"] 1274 | [263.320161, "o", "i"] 1275 | [263.493633, "o", "n"] 1276 | [263.511838, "o", "e"] 1277 | [263.600981, "o", "r"] 1278 | [263.720585, "o", " "] 1279 | [263.886882, "o", "f"] 1280 | [263.974569, "o", "o"] 1281 | [264.081091, "o", "r"] 1282 | [264.174525, "o", " "] 1283 | [264.359305, "o", "e"] 1284 | [264.612404, "o", "a"] 1285 | [264.71657, "o", "c"] 1286 | [264.908985, "o", "h"] 1287 | [264.988883, "o", " "] 1288 | [265.159229, "o", "n"] 1289 | [265.25084, "o", "o"] 1290 | [265.393406, "o", "d"] 1291 | [265.595488, "o", "e"] 1292 | [271.999215, "o", "n"] 1293 | [272.374447, "o", " "] 1294 | [272.72378, "o", "\b"] 1295 | [272.847775, "o", "\b \b"] 1296 | [273.120215, "o", ","] 1297 | [273.232127, "o", " "] 1298 | [273.400473, "o", "a"] 1299 | [273.467593, "o", "n"] 1300 | [273.602493, "o", "d"] 1301 | [274.050604, "o", " "] 1302 | [274.158401, "o", "o"] 1303 | [274.298927, "o", "n"] 1304 | [274.461426, "o", "l"] 1305 | [274.691966, "o", "y"] 1306 | [274.780233, "o", " "] 1307 | [274.932879, "o", "t"] 1308 | [275.121645, "o", "h"] 1309 | [275.204187, "o", "e"] 1310 | [275.24591, "o", " "] 1311 | [275.443118, "o", "c"] 1312 | [275.569026, "o", "o"] 1313 | [275.650789, "o", "n"] 1314 | [275.85286, "o", "t"] 1315 | [275.991071, "o", "r"] 1316 | [276.10277, "o", "o"] 1317 | [276.311556, "o", "l"] 1318 | [276.408005, "o", " "] 1319 | [276.571975, "o", "p"] 1320 | [276.784564, "o", "l"] 1321 | [276.894354, "o", "a"] 1322 | [277.037002, "o", "n"] 1323 | [277.166262, "o", "e"] 1324 | [277.290752, "o", " "] 1325 | [277.430428, "o", "i"] 1326 | [277.510812, "o", "s"] 1327 | [277.619877, "o", " "] 1328 | [277.952197, "o", "e"] 1329 | [278.120852, "o", "x"] 1330 | [278.241632, "o", "p"] 1331 | [278.324268, "o", "o"] 1332 | [278.452556, "o", "s"] 1333 | [278.621607, "o", "i"] 1334 | [278.792586, "o", "n"] 1335 | [279.000099, "o", "g"] 1336 | [279.110054, "o", " "] 1337 | [280.772533, "o", "a"] 1338 | [282.070102, "o", " "] 1339 | [282.250799, "o", "p"] 1340 | [282.354871, "o", "o"] 1341 | [282.536816, "o", "r"] 1342 | [282.709242, "o", "t"] 1343 | [282.817709, "o", " "] 1344 | [282.952782, "o", "t"] 1345 | [283.139492, "o", "h"] 1346 | [283.20433, "o", "a"] 1347 | [283.346822, "o", "t"] 1348 | [283.41536, "o", " "] 1349 | [283.547232, "o", "d"] 1350 | [283.677022, "o", "i"] 1351 | [283.832574, "o", "r"] 1352 | [283.906572, "o", "e"] 1353 | [284.474232, "o", "c"] 1354 | [284.631394, "o", "t"] 1355 | [284.722278, "o", "s"] 1356 | [284.871429, "o", " "] 1357 | [284.975677, "o", "t"] 1358 | [285.393216, "o", "o"] 1359 | [285.518925, "o", " "] 1360 | [285.621403, "o", "t"] 1361 | [285.804017, "o", "h"] 1362 | [285.870112, "o", "e"] 1363 | [285.927178, "o", " "] 1364 | [286.076236, "o", "a"] 1365 | [286.353454, "o", "p"] 1366 | [286.56846, "o", "i"] 1367 | [286.856182, "o", "-"] 1368 | [286.989739, "o", "s"] 1369 | [287.126348, "o", "e"] 1370 | [287.205056, "o", "r"] 1371 | [287.424431, "o", "v"] 1372 | [287.553971, "o", "e"] 1373 | [287.650826, "o", "r"] 1374 | [287.810213, "o", " "] 1375 | [289.310405, "o", "6"] 1376 | [289.703109, "o", "4"] 1377 | [289.893877, "o", "4"] 1378 | [290.852196, "o", "3"] 1379 | [291.339252, "o", " "] 1380 | [291.632581, "o", "p"] 1381 | [291.73535, "o", "o"] 1382 | [291.907099, "o", "r"] 1383 | [292.065898, "o", "t"] 1384 | [293.233179, "o", "\u001b[?1l\u001b>"] 1385 | [293.233371, "o", "\u001b[?2004l\r\r\n"] 1386 | [293.233706, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1387 | [293.233834, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 1388 | [293.249548, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D\u001b[?1h\u001b="] 1389 | [293.24967, "o", "\u001b[?2004h"] 1390 | [296.051522, "o", "k"] 1391 | [296.202935, "o", "\bku"] 1392 | [296.410902, "o", "b"] 1393 | [296.596521, "o", "e"] 1394 | [297.078888, "o", "c"] 1395 | [297.26065, "o", "t"] 1396 | [297.386128, "o", "l"] 1397 | [298.138198, "o", " "] 1398 | [298.305669, "o", "g"] 1399 | [298.4139, "o", "e"] 1400 | [298.514963, "o", "t"] 1401 | [298.606626, "o", " "] 1402 | [298.880916, "o", "s"] 1403 | [299.054848, "o", "e"] 1404 | [299.141526, "o", "r"] 1405 | [299.517672, "o", "v"] 1406 | [299.615555, "o", "i"] 1407 | [299.708747, "o", "c"] 1408 | [299.931956, "o", "e"] 1409 | [300.082665, "o", "s"] 1410 | [300.226038, "o", " "] 1411 | [301.375458, "o", "-"] 1412 | [301.711287, "o", "A"] 1413 | [301.929722, "o", "\u001b[?1l\u001b>\u001b[?2004l\r\r\n"] 1414 | [301.930994, "o", "\u001b]2;kubectl get services -A\u0007\u001b]1;kubectl\u0007"] 1415 | [302.04474, "o", "NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE\r\ndefault kubernetes "] 1416 | [302.044848, "o", "ClusterIP 10.96.0.1 443/TCP 3m18s\r\nkube-system kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 3m16s\r\n"] 1417 | [302.046852, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1418 | [302.047, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 1419 | [302.047103, "o", "\u001b]1;..-kind-cluster\u0007"] 1420 | [302.062634, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1421 | [302.06284, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 1422 | [317.999152, "o", "k"] 1423 | [318.191284, "o", "\bku"] 1424 | [318.451213, "o", "b"] 1425 | [318.695815, "o", "e"] 1426 | [319.248599, "o", "c"] 1427 | [319.436215, "o", "t"] 1428 | [319.601406, "o", "l"] 1429 | [320.158587, "o", " "] 1430 | [320.334967, "o", "g"] 1431 | [320.465345, "o", "e"] 1432 | [320.580703, "o", "t"] 1433 | [320.670458, "o", " "] 1434 | [320.869359, "o", "p"] 1435 | [320.982786, "o", "o"] 1436 | [321.134796, "o", "d"] 1437 | [321.555777, "o", "s"] 1438 | [321.708272, "o", " "] 1439 | [322.492413, "o", "-"] 1440 | [322.860176, "o", "A"] 1441 | [323.969785, "o", "\u001b[?1l\u001b>"] 1442 | [323.970131, "o", "\u001b[?2004l\r\r\n"] 1443 | [323.970898, "o", "\u001b]2;kubectl get pods -A\u0007\u001b]1;kubectl\u0007"] 1444 | [324.093516, "o", "NAMESPACE NAME READY STATUS RESTARTS AGE\r\nkube-system coredns-f9fd979d6-gwj52 0/1 Pending 0 3m19s\r\nkube-system coredns-f9fd979d6-gwkgl 0/1 Pending 0 3m19s\r\nkube-system etcd-kind-control-plane 1/1 Running 0 "] 1445 | [324.09368, "o", "3m27s\r\nkube-system kube-apiserver-kind-control-plane 1/1 Running 0 3m27s\r\nkube-system kube-controller-manager-kind-control-plane 1/1 Running 0 3m26s\r\nkube-system kube-proxy-g9ghp 1/1 Running 0 3m7s\r\nkube-system kube-proxy-gj8wf "] 1446 | [324.09378, "o", " 1/1 Running 0 3m7s\r\nkube-system kube-proxy-kmfz5 1/1 Running 0 3m19s\r\nkube-system kube-proxy-v6g7z 1/1"] 1447 | [324.093882, "o", " Running 0 3m7s\r\nkube-system kube-scheduler-kind-control-plane 1/1 Running 0 3m26s\r\nlocal-path-storage local-path-provisioner-78776bfc44-ncthr 0/1 Pending 0 3m19s\r\n"] 1448 | [324.095953, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1449 | [324.096121, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 1450 | [324.096163, "o", "\u001b]1;..-kind-cluster\u0007"] 1451 | [324.111698, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1452 | [324.111878, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 1453 | [328.667551, "o", "kubectl get pods -A"] 1454 | [329.902629, "o", "|"] 1455 | [330.849606, "o", "g"] 1456 | [330.918892, "o", "r"] 1457 | [330.993796, "o", "e"] 1458 | [331.127585, "o", "p"] 1459 | [331.292099, "o", " "] 1460 | [333.290574, "o", "P"] 1461 | [333.475932, "o", "e"] 1462 | [333.71388, "o", "n"] 1463 | [333.873544, "o", "d"] 1464 | [334.009254, "o", "i"] 1465 | [334.154752, "o", "n"] 1466 | [334.380901, "o", "g"] 1467 | [334.84216, "o", "\u001b[?1l\u001b>"] 1468 | [334.842515, "o", "\u001b[?2004l\r\r\n"] 1469 | [334.843354, "o", "\u001b]2;kubectl get pods -A | grep --color=auto Pending\u0007\u001b]1;kubectl\u0007"] 1470 | [334.96957, "o", "kube-system coredns-f9fd979d6-gwj52 0/1 \u001b[01;31m\u001b[KPending\u001b[m\u001b[K 0 3m30s\r\nkube-system coredns-f9fd979d6-gwkgl 0/1 \u001b[01;31m\u001b[KPending\u001b[m\u001b[K 0 3m30s\r\n"] 1471 | [334.969716, "o", "local-path-storage local-path-provisioner-78776bfc44-ncthr 0/1 \u001b[01;31m\u001b[KPending\u001b[m\u001b[K 0 3m30s\r\n"] 1472 | [334.971837, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1473 | [334.97197, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 1474 | [334.989378, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1475 | [334.989415, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 1476 | [337.680403, "o", "#"] 1477 | [338.267752, "o", "\b#n"] 1478 | [338.448216, "o", "o"] 1479 | [338.6375, "o", "t"] 1480 | [338.816358, "o", "i"] 1481 | [338.905694, "o", "c"] 1482 | [339.126775, "o", "e"] 1483 | [339.218757, "o", " "] 1484 | [339.370217, "o", "p"] 1485 | [339.546306, "o", "e"] 1486 | [339.73374, "o", "n"] 1487 | [339.850303, "o", "d"] 1488 | [339.967263, "o", "i"] 1489 | [340.056668, "o", "n"] 1490 | [340.288491, "o", "g"] 1491 | [340.398653, "o", " "] 1492 | [341.576678, "o", "p"] 1493 | [341.711018, "o", "o"] 1494 | [341.817853, "o", "d"] 1495 | [341.998348, "o", "s"] 1496 | [343.392038, "o", "!"] 1497 | [344.142161, "o", " "] 1498 | [344.271403, "o", "w"] 1499 | [344.358258, "o", "h"] 1500 | [344.551327, "o", "y"] 1501 | [345.267571, "o", "?"] 1502 | [345.565816, "o", "\u001b[?1l\u001b>"] 1503 | [345.565924, "o", "\u001b[?2004l\r\r\n"] 1504 | [345.566527, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1505 | [345.566908, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 1506 | [345.627535, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1507 | [345.627847, "o", "\u001b[?1h\u001b="] 1508 | [345.628071, "o", "\u001b[?2004h"] 1509 | [350.764032, "o", "k"] 1510 | [351.001472, "o", "\bku"] 1511 | [352.521837, "o", "\b\bk \b"] 1512 | [352.682227, "o", "\b \b"] 1513 | [354.513071, "o", "#"] 1514 | [354.796729, "o", "\b# "] 1515 | [355.034992, "o", "t"] 1516 | [355.682894, "o", "h"] 1517 | [355.793217, "o", "e"] 1518 | [355.906783, "o", " "] 1519 | [356.049228, "o", "c"] 1520 | [356.113836, "o", "o"] 1521 | [356.325849, "o", "r"] 1522 | [356.399999, "o", "e"] 1523 | [360.057934, "o", "d"] 1524 | [360.232797, "o", "n"] 1525 | [360.331214, "o", "s"] 1526 | [360.489737, "o", " "] 1527 | [360.704103, "o", "p"] 1528 | [360.880702, "o", "o"] 1529 | [361.027705, "o", "d"] 1530 | [361.238261, "o", "s"] 1531 | [363.208952, "o", " "] 1532 | [364.398765, "o", "d"] 1533 | [364.930132, "o", "e"] 1534 | [365.141917, "o", "f"] 1535 | [365.310161, "o", "i"] 1536 | [365.45319, "o", "n"] 1537 | [365.577778, "o", "i"] 1538 | [365.849956, "o", "t"] 1539 | [366.01264, "o", "e"] 1540 | [366.100871, "o", "e"] 1541 | [366.378064, "o", "l"] 1542 | [366.77752, "o", "\b \b"] 1543 | [367.27716, "o", "\b \b"] 1544 | [367.308255, "o", "\b \b"] 1545 | [367.340809, "o", "\b \b"] 1546 | [367.369636, "o", "\b \b"] 1547 | [367.400635, "o", "\b \b"] 1548 | [367.431081, "o", "\b \b"] 1549 | [367.461307, "o", "\b \b"] 1550 | [367.490938, "o", "\b \b"] 1551 | [367.619803, "o", "\b \b"] 1552 | [368.009099, "o", "a"] 1553 | [368.169202, "o", "r"] 1554 | [368.229517, "o", "e"] 1555 | [368.371403, "o", " "] 1556 | [368.627809, "o", "b"] 1557 | [368.692663, "o", "e"] 1558 | [368.874356, "o", "c"] 1559 | [368.996742, "o", "a"] 1560 | [369.121991, "o", "u"] 1561 | [369.214395, "o", "s"] 1562 | [369.361027, "o", "e"] 1563 | [369.503196, "o", " "] 1564 | [369.646979, "o", "o"] 1565 | [369.756979, "o", "f"] 1566 | [369.885295, "o", " "] 1567 | [370.788125, "o", "t"] 1568 | [371.002741, "o", "h"] 1569 | [371.021031, "o", "e"] 1570 | [371.131336, "o", " "] 1571 | [371.228422, "o", "i"] 1572 | [371.333197, "o", "n"] 1573 | [371.419679, "o", "s"] 1574 | [371.558112, "o", "t"] 1575 | [371.641301, "o", "a"] 1576 | [371.764879, "o", "l"] 1577 | [371.914164, "o", "l"] 1578 | [372.006934, "o", "a"] 1579 | [372.191931, "o", "t"] 1580 | [372.365784, "o", "i"] 1581 | [372.54243, "o", "o"] 1582 | [372.743693, "o", "n"] 1583 | [372.956535, "o", " "] 1584 | [373.724354, "o", "i"] 1585 | [374.447691, "o", "s"] 1586 | [374.551465, "o", " "] 1587 | [374.675122, "o", "m"] 1588 | [374.817913, "o", "i"] 1589 | [374.949234, "o", "s"] 1590 | [375.102438, "o", "s"] 1591 | [375.180841, "o", "i"] 1592 | [375.291521, "o", "n"] 1593 | [375.482788, "o", "g"] 1594 | [375.582919, "o", " "] 1595 | [375.986624, "o", "C"] 1596 | [376.103808, "o", "N"] 1597 | [376.561687, "o", "I"] 1598 | [376.970747, "o", " "] 1599 | [377.187456, "o", "p"] 1600 | [377.379826, "o", "l"] 1601 | [377.519753, "o", "u"] 1602 | [377.737492, "o", "g"] 1603 | [377.940399, "o", "i"] 1604 | [378.105233, "o", "n"] 1605 | [378.433996, "o", ","] 1606 | [378.530075, "o", " "] 1607 | [378.718744, "o", "r"] 1608 | [378.7882, "o", "e"] 1609 | [378.907891, "o", "m"] 1610 | [379.055088, "o", "m"] 1611 | [379.291864, "o", "b"] 1612 | [379.370365, "o", "e"] 1613 | [379.456635, "o", "r"] 1614 | [379.671649, "o", " "] 1615 | [379.94395, "o", "o"] 1616 | [380.027168, "o", "u"] 1617 | [380.142817, "o", "r"] 1618 | [380.248737, "o", " "] 1619 | [380.396156, "o", "c"] 1620 | [380.447246, "o", "l"] 1621 | [380.515671, "o", "u"] 1622 | [380.651984, "o", "s"] 1623 | [380.74675, "o", "t"] 1624 | [380.820753, "o", "e"] 1625 | [380.90674, "o", "r"] 1626 | [380.971795, "o", " "] 1627 | [381.178642, "o", "c"] 1628 | [381.224827, "o", "o"] 1629 | [381.382216, "o", "n"] 1630 | [381.478622, "o", "f"] 1631 | [381.567083, "o", "i"] 1632 | [381.690579, "o", "g"] 1633 | [382.697616, "o", "\u001b[?1l\u001b>"] 1634 | [382.69778, "o", "\u001b[?2004l\r\r\n"] 1635 | [382.698098, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1636 | [382.698266, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 1637 | [382.698387, "o", "\u001b]1;..-kind-cluster\u0007"] 1638 | [382.718127, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1639 | [382.718286, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 1640 | [383.563559, "o", "c"] 1641 | [383.608802, "o", "\bca"] 1642 | [383.772966, "o", "t"] 1643 | [383.999342, "o", " "] 1644 | [384.93534, "o", "k"] 1645 | [385.060771, "o", "u"] 1646 | [385.811391, "o", "\b \b"] 1647 | [386.034214, "o", "i"] 1648 | [386.142117, "o", "nd-"] 1649 | [386.803695, "o", "\r\r\n"] 1650 | [386.803977, "o", "\u001b[J\u001b[0mkind-1m3w-nocni.yaml \u001b[Jkind-create-cluster.asc\u001b[J\u001b[A\u001b[0m\u001b[27m\u001b[24m\u001b[0m\u001b[39m\r\u001b[4Ccat kind-\u001b[K\u001b[167C\u001b[1m\u001b[0m\u001b[0m\u001b[39m\u001b[167D"] 1651 | [388.124916, "o", "1"] 1652 | [388.362654, "o", "m3w-nocni.yaml\u001b[1m \u001b[0m"] 1653 | [389.046209, "o", "\b\u001b[0m \b"] 1654 | [389.046541, "o", "\u001b[?1l\u001b>\u001b[?2004l\r\r\n\u001b[J"] 1655 | [389.047552, "o", "\u001b]2;cat kind-1m3w-nocni.yaml\u0007\u001b]1;cat\u0007"] 1656 | [389.050307, "o", "kind: Cluster\r\napiVersion: kind.x-k8s.io/v1alpha4\r\nnetworking:\r\n disableDefaultCNI: true\r\nnodes:\r\n- role: control-plane\r\n- role: worker\r\n- role: worker\r\n- role: worker\r\n"] 1657 | [389.050746, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1658 | [389.051133, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 1659 | [389.105219, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1660 | [389.105552, "o", "\u001b[?1h\u001b="] 1661 | [389.105795, "o", "\u001b[?2004h"] 1662 | [391.084292, "o", "#"] 1663 | [391.631135, "o", "\b# "] 1664 | [392.112386, "o", "o"] 1665 | [392.375784, "o", "t"] 1666 | [392.571148, "o", "i"] 1667 | [392.897501, "o", "\b \b"] 1668 | [393.136075, "o", "\b \b"] 1669 | [393.499748, "o", "\b \b"] 1670 | [393.780573, "o", "n"] 1671 | [393.920753, "o", "o"] 1672 | [394.104198, "o", "t"] 1673 | [394.296327, "o", "i"] 1674 | [394.376785, "o", "c"] 1675 | [394.578332, "o", "e"] 1676 | [394.662238, "o", " "] 1677 | [394.817022, "o", "t"] 1678 | [395.020136, "o", "h"] 1679 | [395.086279, "o", "e"] 1680 | [395.164112, "o", " "] 1681 | [396.173051, "o", "n"] 1682 | [396.242095, "o", "e"] 1683 | [396.428487, "o", "t"] 1684 | [396.54545, "o", "w"] 1685 | [396.71633, "o", "o"] 1686 | [396.807495, "o", "r"] 1687 | [396.931916, "o", "k"] 1688 | [397.972299, "o", "i"] 1689 | [398.195439, "o", "n"] 1690 | [398.426815, "o", "g"] 1691 | [399.852798, "o", ":"] 1692 | [400.206178, "o", " "] 1693 | [400.54814, "o", "i"] 1694 | [400.554124, "o", "d"] 1695 | [401.210437, "o", "\b \b"] 1696 | [401.330947, "o", "\b \b"] 1697 | [401.461072, "o", "\b"] 1698 | [401.596505, "o", "\b \b"] 1699 | [401.92348, "o", " "] 1700 | [402.113606, "o", "d"] 1701 | [402.255099, "o", "i"] 1702 | [402.371018, "o", "r"] 1703 | [402.436536, "o", "e"] 1704 | [402.669213, "o", "c"] 1705 | [402.879225, "o", "t"] 1706 | [403.595484, "o", "\b \b"] 1707 | [403.730937, "o", "\b \b"] 1708 | [404.724466, "o", "c"] 1709 | [404.890265, "o", "t"] 1710 | [405.052027, "o", "i"] 1711 | [405.135098, "o", "v"] 1712 | [405.246261, "o", "e"] 1713 | [405.64745, "o", " "] 1714 | [407.333399, "o", "a"] 1715 | [407.761266, "o", "\b \b"] 1716 | [407.929441, "o", "s"] 1717 | [408.01912, "o", "i"] 1718 | [408.553895, "o", "\b \b"] 1719 | [408.679086, "o", "\b \b"] 1720 | [408.862474, "o", "s"] 1721 | [408.91347, "o", "i"] 1722 | [409.440717, "o", "\b \b"] 1723 | [409.564287, "o", "\b \b"] 1724 | [409.81137, "o", "i"] 1725 | [410.083664, "o", "s"] 1726 | [410.378664, "o", " "] 1727 | [410.53219, "o", "a"] 1728 | [410.606762, "o", "s"] 1729 | [410.79799, "o", "k"] 1730 | [410.964315, "o", "i"] 1731 | [411.141283, "o", "n"] 1732 | [411.36323, "o", "g"] 1733 | [411.448037, "o", " "] 1734 | [411.604183, "o", "f"] 1735 | [411.740896, "o", "o"] 1736 | [411.838014, "o", "r"] 1737 | [411.919687, "o", " "] 1738 | [412.263669, "o", "C"] 1739 | [412.464196, "o", "N"] 1740 | [412.988177, "o", "I"] 1741 | [413.184881, "o", " "] 1742 | [413.345514, "o", "t"] 1743 | [413.463374, "o", "o"] 1744 | [413.508826, "o", " "] 1745 | [413.696474, "o", "b"] 1746 | [413.79357, "o", "e"] 1747 | [413.864208, "o", " "] 1748 | [414.045621, "o", "d"] 1749 | [414.145328, "o", "i"] 1750 | [414.247547, "o", "s"] 1751 | [414.913765, "o", "a"] 1752 | [415.055251, "o", "b"] 1753 | [415.245837, "o", "l"] 1754 | [415.332513, "o", "e"] 1755 | [415.506823, "o", "d"] 1756 | [415.94749, "o", "\u001b[?1l\u001b>"] 1757 | [415.947608, "o", "\u001b[?2004l\r\r\n"] 1758 | [415.948251, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1759 | [415.948543, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 1760 | [415.948743, "o", "\u001b]1;..-kind-cluster\u0007"] 1761 | [416.003421, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1762 | [416.003975, "o", "\u001b[?1h\u001b="] 1763 | [416.004059, "o", "\u001b[?2004h"] 1764 | [417.229668, "o", "#"] 1765 | [417.380279, "o", "\b# "] 1766 | [417.606338, "o", "t"] 1767 | [417.812027, "o", "h"] 1768 | [417.877222, "o", "a"] 1769 | [417.997894, "o", "t"] 1770 | [418.086361, "o", " "] 1771 | [418.455084, "o", "i"] 1772 | [418.557348, "o", "s"] 1773 | [418.627017, "o", " "] 1774 | [418.796114, "o", "w"] 1775 | [418.916619, "o", "h"] 1776 | [419.100577, "o", "y"] 1777 | [419.201157, "o", " "] 1778 | [419.631482, "o", "w"] 1779 | [419.782248, "o", "e"] 1780 | [419.879849, "o", " "] 1781 | [420.055629, "o", "d"] 1782 | [420.187263, "o", "o"] 1783 | [420.248445, "o", " "] 1784 | [420.391931, "o", "n"] 1785 | [420.456397, "o", "o"] 1786 | [420.658897, "o", "t"] 1787 | [420.718371, "o", " "] 1788 | [420.909998, "o", "h"] 1789 | [420.985251, "o", "a"] 1790 | [421.046624, "o", "v"] 1791 | [421.159884, "o", "e"] 1792 | [421.261453, "o", " "] 1793 | [422.351658, "o", "c"] 1794 | [422.441234, "o", "o"] 1795 | [422.703383, "o", "r"] 1796 | [422.885568, "o", "e"] 1797 | [423.225662, "o", "d"] 1798 | [423.399353, "o", "n"] 1799 | [423.5592, "o", "s"] 1800 | [424.007008, "o", " "] 1801 | [424.167025, "o", "r"] 1802 | [424.250677, "o", "u"] 1803 | [424.493891, "o", "n"] 1804 | [424.626775, "o", "n"] 1805 | [424.891923, "o", "i"] 1806 | [425.003194, "o", "n"] 1807 | [425.199985, "o", "g"] 1808 | [425.332896, "o", " "] 1809 | [425.545716, "o", "n"] 1810 | [425.673806, "o", "o"] 1811 | [426.278526, "o", "r"] 1812 | [426.695892, "o", " "] 1813 | [427.117972, "o", "C"] 1814 | [427.3005, "o", "N"] 1815 | [427.777941, "o", "I"] 1816 | [427.963259, "o", " "] 1817 | [428.168789, "o", "p"] 1818 | [428.29038, "o", "o"] 1819 | [428.472188, "o", "d"] 1820 | [428.648736, "o", "s"] 1821 | [428.989556, "o", ","] 1822 | [429.086175, "o", " "] 1823 | [429.242483, "o", "n"] 1824 | [429.395046, "o", "o"] 1825 | [429.747152, "o", "r"] 1826 | [430.392593, "o", " "] 1827 | [430.557352, "o", "n"] 1828 | [430.645277, "o", "o"] 1829 | [431.020261, "o", "d"] 1830 | [431.175128, "o", "e"] 1831 | [431.33001, "o", "s"] 1832 | [431.489711, "o", " "] 1833 | [431.608067, "o", "a"] 1834 | [431.779062, "o", "r"] 1835 | [431.86741, "o", "e"] 1836 | [431.988821, "o", " "] 1837 | [432.197668, "o", "r"] 1838 | [432.260393, "o", "e"] 1839 | [432.454471, "o", "a"] 1840 | [432.542497, "o", "d"] 1841 | [432.725487, "o", "y"] 1842 | [433.17416, "o", " "] 1843 | [433.548742, "o", "#"] 1844 | [433.741472, "o", "#"] 1845 | [434.232802, "o", " "] 1846 | [435.129804, "o", "n"] 1847 | [435.257265, "o", "o"] 1848 | [435.430676, "o", "t"] 1849 | [435.557998, "o", "e"] 1850 | [435.748657, "o", " "] 1851 | [436.13421, "o", "h"] 1852 | [436.557784, "o", "\b \b"] 1853 | [436.790383, "o", "t"] 1854 | [436.968295, "o", "h"] 1855 | [437.045875, "o", "a"] 1856 | [437.173725, "o", "t"] 1857 | [437.253061, "o", " "] 1858 | [437.340315, "o", "f"] 1859 | [437.469542, "o", "o"] 1860 | [437.553182, "o", "r"] 1861 | [437.618078, "o", " "] 1862 | [437.720168, "o", "y"] 1863 | [437.808, "o", "o"] 1864 | [437.90327, "o", "u"] 1865 | [437.995396, "o", "r"] 1866 | [438.105654, "o", " "] 1867 | [438.242785, "o", "t"] 1868 | [438.362538, "o", "r"] 1869 | [438.491591, "o", "o"] 1870 | [438.598324, "o", "u"] 1871 | [438.798126, "o", "b"] 1872 | [438.951993, "o", "l"] 1873 | [439.062475, "o", "e"] 1874 | [439.608381, "o", "s"] 1875 | [439.703339, "o", "h"] 1876 | [439.856676, "o", "o"] 1877 | [440.007423, "o", "o"] 1878 | [440.191536, "o", "t"] 1879 | [440.388613, "o", "i"] 1880 | [440.51708, "o", "n"] 1881 | [440.74586, "o", "g"] 1882 | [441.663828, "o", " "] 1883 | [442.192964, "o", "h"] 1884 | [442.342286, "o", "i"] 1885 | [442.491905, "o", "n"] 1886 | [442.789295, "o", "t"] 1887 | [442.904836, "o", "s"] 1888 | [443.32593, "o", "\u001b[?1l\u001b>"] 1889 | [443.326344, "o", "\u001b[?2004l\r\r\n"] 1890 | [443.326661, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1891 | [443.326981, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 1892 | [443.327297, "o", "\u001b]1;..-kind-cluster\u0007"] 1893 | [443.3828, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1894 | [443.383099, "o", "\u001b[?1h\u001b="] 1895 | [443.383303, "o", "\u001b[?2004h"] 1896 | [446.921323, "o", "k"] 1897 | [447.146397, "o", "\bku"] 1898 | [447.355819, "o", "b"] 1899 | [447.439743, "o", "e"] 1900 | [447.612617, "o", "t"] 1901 | [449.198764, "o", "\b \b"] 1902 | [449.580432, "o", "c"] 1903 | [450.347495, "o", "t"] 1904 | [450.539187, "o", "l"] 1905 | [451.26128, "o", " "] 1906 | [451.429689, "o", "g"] 1907 | [451.527753, "o", "e"] 1908 | [451.625783, "o", "t"] 1909 | [451.712267, "o", " "] 1910 | [451.901279, "o", "n"] 1911 | [452.020656, "o", "o"] 1912 | [452.122988, "o", "d"] 1913 | [452.306792, "o", "e"] 1914 | [452.473582, "o", "s"] 1915 | [452.584441, "o", "\u001b[?1l\u001b>"] 1916 | [452.584543, "o", "\u001b[?2004l\r\r\n"] 1917 | [452.585904, "o", "\u001b]2;kubectl get nodes\u0007\u001b]1;kubectl\u0007"] 1918 | [452.72014, "o", "NAME STATUS ROLES AGE VERSION\r\nkind-control-plane NotReady master 5m49s v1.19.1\r\nkind-worker"] 1919 | [452.720335, "o", " NotReady 5m15s v1.19.1\r\nkind-worker2 NotReady 5m15s v1.19.1\r\nkind-worker3 NotReady 5m15s v1.19.1\r\n"] 1920 | [452.722192, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1921 | [452.722358, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 1922 | [452.722426, "o", "\u001b]1;..-kind-cluster\u0007"] 1923 | [452.738562, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1924 | [452.738662, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 1925 | [454.843693, "o", "#"] 1926 | [457.09831, "o", "\b#h"] 1927 | [457.230151, "o", "o"] 1928 | [457.330286, "o", "w"] 1929 | [457.459383, "o", " "] 1930 | [457.686246, "o", "a"] 1931 | [457.718963, "o", "b"] 1932 | [457.901652, "o", "o"] 1933 | [458.02028, "o", "u"] 1934 | [458.233457, "o", "t"] 1935 | [458.320102, "o", " "] 1936 | [458.51044, "o", "t"] 1937 | [458.718067, "o", "h"] 1938 | [458.788804, "o", "e"] 1939 | [458.852051, "o", " "] 1940 | [467.47609, "o", "l"] 1941 | [467.677424, "o", "o"] 1942 | [467.773908, "o", "c"] 1943 | [467.841722, "o", "a"] 1944 | [468.02976, "o", "l"] 1945 | [468.79646, "o", "-"] 1946 | [469.103774, "o", "p"] 1947 | [469.235249, "o", "a"] 1948 | [469.401672, "o", "t"] 1949 | [469.609392, "o", "h"] 1950 | [471.571485, "o", "-"] 1951 | [471.951475, "o", "p"] 1952 | [472.10533, "o", "r"] 1953 | [472.205403, "o", "o"] 1954 | [472.388012, "o", "v"] 1955 | [472.567509, "o", "i"] 1956 | [473.415177, "o", "s"] 1957 | [473.575804, "o", "i"] 1958 | [473.714402, "o", "o"] 1959 | [475.190118, "o", "n"] 1960 | [475.386714, "o", "e"] 1961 | [475.458435, "o", "r"] 1962 | [475.70152, "o", " "] 1963 | [476.29254, "o", "p"] 1964 | [476.391102, "o", "o"] 1965 | [476.497749, "o", "d"] 1966 | [477.625655, "o", "?"] 1967 | [478.10109, "o", " "] 1968 | [478.213791, "o", "w"] 1969 | [478.31363, "o", "h"] 1970 | [478.487234, "o", "y"] 1971 | [478.610621, "o", " "] 1972 | [478.767542, "o", "i"] 1973 | [478.906857, "o", "t"] 1974 | [478.985716, "o", " "] 1975 | [479.451468, "o", "i"] 1976 | [479.624577, "o", "s"] 1977 | [479.680672, "o", " "] 1978 | [479.795439, "o", "p"] 1979 | [479.944007, "o", "e"] 1980 | [480.099376, "o", "n"] 1981 | [480.220636, "o", "d"] 1982 | [480.301817, "o", "i"] 1983 | [480.408783, "o", "n"] 1984 | [480.567012, "o", "g"] 1985 | [481.196069, "o", "?"] 1986 | [481.425453, "o", "\u001b[?1l\u001b>"] 1987 | [481.425766, "o", "\u001b[?2004l\r\r\n"] 1988 | [481.4262, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 1989 | [481.426465, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 1990 | [481.490089, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 1991 | [481.490448, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 1992 | [485.319978, "o", "#how about the local-path-provisioner pod? why it is pending?"] 1993 | [485.629221, "o", "\u001b[61Dkubectl get nodes \u001b[44D"] 1994 | [486.054708, "o", "\u001b[17D# that is why we do not have coredns running nor CNI pods, nor nodes are ready ## note that for your troubleshooting hints"] 1995 | [486.757726, "o", "\u001b[120Dnotice the networking directive i\u001b[2Casking for CNI to be disabled \u001b[56D"] 1996 | [487.455396, "o", "\u001b[66Dcat kind-1m3w-nocni.yaml \u001b[42D"] 1997 | [488.392208, "o", "\u001b[24D# the coredns pods are because of the installation is missing CNI plugin, remmber our cluster config"] 1998 | [489.135457, "o", "\u001b[100D#notice pending pods! why? \u001b[74D"] 1999 | [490.116137, "o", "\u001b[26Dkubectl get pods -A|grep Pending"] 2000 | [491.00832, "o", "\u001b[?1l\u001b>"] 2001 | [491.008678, "o", "\u001b[?2004l\r\r\n"] 2002 | [491.009469, "o", "\u001b]2;kubectl get pods -A | grep --color=auto Pending\u0007\u001b]1;kubectl\u0007"] 2003 | [491.147646, "o", "kube-system coredns-f9fd979d6-gwj52 0/1 \u001b[01;31m\u001b[KPending\u001b[m\u001b[K 0 6m6s\r\nkube-system coredns-f9fd979d6-gwkgl 0/1 \u001b[01;31m\u001b[KPending\u001b[m\u001b[K 0 6m6s\r\n"] 2004 | [491.147803, "o", "local-path-storage local-path-provisioner-78776bfc44-ncthr 0/1 \u001b[01;31m\u001b[KPending\u001b[m\u001b[K 0 6m6s\r\n"] 2005 | [491.149953, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2006 | [491.150069, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2007 | [491.165516, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2008 | [491.165622, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 2009 | [493.040457, "o", "k"] 2010 | [493.549196, "o", "\bku"] 2011 | [493.853118, "o", "e"] 2012 | [494.455031, "o", "\b \b"] 2013 | [494.708785, "o", "b"] 2014 | [494.839223, "o", "e"] 2015 | [495.493555, "o", "c"] 2016 | [495.595391, "o", "t"] 2017 | [495.771045, "o", "l"] 2018 | [499.071708, "o", " "] 2019 | [500.079288, "o", "d"] 2020 | [500.240699, "o", "e"] 2021 | [500.40691, "o", "s"] 2022 | [500.58143, "o", "c"] 2023 | [500.783261, "o", "r"] 2024 | [500.930638, "o", "i"] 2025 | [501.152151, "o", "b"] 2026 | [501.331852, "o", "e"] 2027 | [501.479692, "o", " "] 2028 | [503.138909, "o", "-"] 2029 | [503.427227, "o", "n"] 2030 | [503.48275, "o", " "] 2031 | [511.099259, "o", "\u001b[7mlocal-path-storage local-path-provisioner-78776bfc44-ncthr\u001b[27m"] 2032 | [513.575181, "o", "\u001b[60D\u001b[27ml\u001b[27mo\u001b[27mc\u001b[27ma\u001b[27ml\u001b[27m-\u001b[27mp\u001b[27ma\u001b[27mt\u001b[27mh\u001b[27m-\u001b[27ms\u001b[27mt\u001b[27mo\u001b[27mr\u001b[27ma\u001b[27mg\u001b[27me\u001b[27m \u001b[27m \u001b[27m \u001b[27ml\u001b[27mo\u001b[27mc\u001b[27ma\u001b[27ml\u001b[27m-\u001b[27mp\u001b[27ma\u001b[27mt\u001b[27mh\u001b[27m-\u001b[27mp\u001b[27mr\u001b[27mo\u001b[27mv\u001b[27mi\u001b[27ms\u001b[27mi\u001b[27mo\u001b[27mn\u001b[27me\u001b[27mr\u001b[27m-\u001b[27m7\u001b[27m8\u001b[27m7\u001b[27m7\u001b[27m6\u001b[27mb\u001b[27mf\u001b[27mc\u001b[27m4\u001b[27m4\u001b[27m-\u001b[27mn\u001b[27mc\u001b[27mt\u001b[27mh\u001b[27mr"] 2033 | [513.575487, "o", "\u001b[?1l\u001b>\u001b[?2004l\r\r\n"] 2034 | [513.576381, "o", "\u001b]2;kubectl describe -n local-path-storage local-path-provisioner-78776bfc44-ncth\u0007\u001b]1;kubectl\u0007"] 2035 | [514.030983, "o", "error: the server doesn't have a resource type \"local-path-provisioner-78776bfc44-ncthr\"\r\n"] 2036 | [514.037448, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2037 | [514.037899, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2038 | [514.091524, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[173C\u001b[1m\u001b[31m1 ↵\u001b[00m\u001b[0m\u001b[176D"] 2039 | [514.091699, "o", "\u001b[?1h\u001b="] 2040 | [514.091782, "o", "\u001b[?2004h"] 2041 | [516.019368, "o", "kubectl describe -n local-path-storage local-path-provisioner-78776bfc44-ncthr"] 2042 | [516.657807, "o", "\b"] 2043 | [517.158019, "o", "\b"] 2044 | [517.188051, "o", "\b"] 2045 | [517.220884, "o", "\b"] 2046 | [517.250232, "o", "\b"] 2047 | [517.280032, "o", "\b"] 2048 | [517.310451, "o", "\b"] 2049 | [517.341828, "o", "\b"] 2050 | [517.369705, "o", "\b"] 2051 | [517.400243, "o", "\b"] 2052 | [517.430243, "o", "\b"] 2053 | [517.462672, "o", "\b"] 2054 | [517.493723, "o", "\b"] 2055 | [517.523998, "o", "\b"] 2056 | [517.554499, "o", "\b"] 2057 | [517.584544, "o", "\b"] 2058 | [517.615116, "o", "\b"] 2059 | [517.645453, "o", "\b"] 2060 | [517.680353, "o", "\b"] 2061 | [517.705466, "o", "\b"] 2062 | [517.735805, "o", "\b"] 2063 | [517.768001, "o", "\b"] 2064 | [517.799145, "o", "\b"] 2065 | [517.831531, "o", "\b"] 2066 | [517.860691, "o", "\b"] 2067 | [517.890414, "o", "\b"] 2068 | [517.921029, "o", "\b"] 2069 | [517.951525, "o", "\b"] 2070 | [517.982186, "o", "\b"] 2071 | [518.014048, "o", "\b"] 2072 | [518.044286, "o", "\b"] 2073 | [518.074795, "o", "\b"] 2074 | [518.104321, "o", "\b"] 2075 | [518.134749, "o", "\b"] 2076 | [518.165422, "o", "\b"] 2077 | [518.19638, "o", "\b"] 2078 | [518.226812, "o", "\b"] 2079 | [518.257291, "o", "\b"] 2080 | [518.287419, "o", "\b"] 2081 | [518.318155, "o", "\b"] 2082 | [518.349117, "o", "\b"] 2083 | [518.378677, "o", "\b"] 2084 | [518.410431, "o", "\b"] 2085 | [518.44078, "o", "\b"] 2086 | [518.471371, "o", "\b"] 2087 | [518.501676, "o", "\b"] 2088 | [518.531554, "o", "\b"] 2089 | [518.562379, "o", "\b"] 2090 | [518.593329, "o", "\b"] 2091 | [518.620718, "o", "\b"] 2092 | [518.651586, "o", "\b"] 2093 | [518.684049, "o", "\b"] 2094 | [518.715502, "o", "\b"] 2095 | [518.746317, "o", "\b"] 2096 | [518.776842, "o", "\b"] 2097 | [518.807745, "o", "\b"] 2098 | [518.837991, "o", "\b"] 2099 | [519.318525, "o", "\b"] 2100 | [519.53334, "o", "\b"] 2101 | [519.727673, "o", "\b"] 2102 | [519.914608, "o", "\b"] 2103 | [520.613964, "o", "\b"] 2104 | [520.800436, "o", "\b"] 2105 | [521.556129, "o", "p-n local-path-storage\u001b[2C local-path-provisioner-78776bfc44-ncthr\u001b[63D"] 2106 | [521.73279, "o", "o-n local-path-storage\u001b[2C local-path-provisioner-78776bfc44-ncthr\u001b[63D"] 2107 | [521.824971, "o", "d-n local-path-storage\u001b[2C local-path-provisioner-78776bfc44-ncthr\u001b[63D"] 2108 | [521.90437, "o", " -n local-path-storage\u001b[2C local-path-provisioner-78776bfc44-ncthr\u001b[63D"] 2109 | [522.117878, "o", "\u001b[?1l\u001b>"] 2110 | [522.118138, "o", "\u001b[?2004l\r\r\n"] 2111 | [522.11916, "o", "\u001b]2;kubectl describe pod -n local-path-storage \u0007\u001b]1;kubectl\u0007"] 2112 | [522.248795, "o", "Name: local-path-provisioner-78776bfc44-ncthr\r\nNamespace: local-path-storage\r\nPriority: 0\r\nNode: \r\nLabels: app=local-path-provisioner\r\n pod-template-hash=78776bfc44\r\nAnnotations: \r\nStatus: Pending\r\nIP: \r\nIPs: \r\nControlled By: ReplicaSet/local-path-provisioner-78776bfc44\r\nContainers:\r\n local-path-provisioner:\r\n Image: rancher/local-path-provisioner:v0.0.14\r\n Port: \r\n Host Port: \r\n Command:\r\n local-path-provisioner\r\n --debug\r\n start\r\n --helper-image\r\n k8s.gcr.io/build-image/debian-base:v2.1.0\r\n --config\r\n /etc/config/config.json\r\n Environment:\r\n POD_NAMESPACE: local-path-storage (v1:metadata.namespace)\r\n Mounts:\r\n /etc/config/ from config-volume (rw)\r\n /var/run/secrets/kubernetes.io/serviceaccount from local-path-provisioner-service-account-token-wv4jd (ro)\r\nConditions:\r\n Type Status\r\n PodScheduled F"] 2113 | [522.250814, "o", "alse \r\nVolumes:\r\n config-volume:\r\n Type: ConfigMap (a volume populated by a ConfigMap)\r\n Name: local-path-config\r\n Optional: false\r\n local-path-provisioner-service-account-token-wv4jd:\r\n Type: Secret (a volume populated by a Secret)\r\n SecretName: local-path-provisioner-service-account-token-wv4jd\r\n Optional: false\r\nQoS Class: BestEffort\r\nNode-Selectors: kubernetes.io/os=linux\r\nTolerations: node-role.kubernetes.io/master:NoSchedule\r\n node.kubernetes.io/not-ready:NoExecute for 300s\r\n node.kubernetes.io/unreachable:NoExecute for 300s\r\nEvents:\r\n Type Reason Age From Message\r\n ---- ------ ---- ---- -------\r\n Warning FailedScheduling 6m37s (x2 over 6m37s) default-scheduler 0/1 nodes are available: 1 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate.\r\n Warning FailedScheduling 25s (x7 over 6m25s) "] 2114 | [522.2509, "o", " default-scheduler 0/4 nodes are available: 4 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate.\r\n\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2115 | [522.250951, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 2116 | [522.251009, "o", "\u001b]1;..-kind-cluster\u0007"] 2117 | [522.267177, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2118 | [522.267348, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 2119 | [529.43354, "o", "#"] 2120 | [531.024865, "o", "\b#s"] 2121 | [531.089966, "o", "o"] 2122 | [531.536378, "o", " "] 2123 | [531.695517, "o", "i"] 2124 | [531.92633, "o", "t"] 2125 | [532.57844, "o", " "] 2126 | [532.723022, "o", "i"] 2127 | [532.828031, "o", "s"] 2128 | [532.930031, "o", " "] 2129 | [533.141079, "o", "a"] 2130 | [533.261266, "o", "g"] 2131 | [533.593475, "o", "n"] 2132 | [534.104153, "o", "\b \b"] 2133 | [534.293611, "o", "a"] 2134 | [534.389183, "o", "i"] 2135 | [534.531691, "o", "n"] 2136 | [534.72081, "o", " "] 2137 | [535.660169, "o", "n"] 2138 | [535.780816, "o", "o"] 2139 | [535.996201, "o", "t"] 2140 | [536.58904, "o", " "] 2141 | [536.913667, "o", "r"] 2142 | [536.969576, "o", "e"] 2143 | [537.173097, "o", "a"] 2144 | [537.272061, "o", "d"] 2145 | [537.444085, "o", "y"] 2146 | [538.458221, "o", "/"] 2147 | [538.874869, "o", "n"] 2148 | [539.014749, "o", "o"] 2149 | [539.164398, "o", "t"] 2150 | [539.249673, "o", " "] 2151 | [539.406644, "o", "r"] 2152 | [539.504023, "o", "u"] 2153 | [539.714554, "o", "n"] 2154 | [539.856844, "o", "n"] 2155 | [540.008269, "o", "i"] 2156 | [540.117302, "o", "n"] 2157 | [540.304626, "o", "g"] 2158 | [540.406513, "o", " "] 2159 | [540.763573, "o", "b"] 2160 | [540.8426, "o", "e"] 2161 | [541.017108, "o", "c"] 2162 | [541.133615, "o", "a"] 2163 | [541.325272, "o", "u"] 2164 | [541.404203, "o", "s"] 2165 | [541.549148, "o", "e"] 2166 | [541.727419, "o", " "] 2167 | [542.716684, "o", "n"] 2168 | [542.857961, "o", "o"] 2169 | [542.932787, "o", "d"] 2170 | [543.156188, "o", "e"] 2171 | [543.520384, "o", " "] 2172 | [543.702754, "o", "s"] 2173 | [543.83194, "o", "t"] 2174 | [543.91518, "o", "a"] 2175 | [543.999038, "o", "t"] 2176 | [544.227038, "o", "u"] 2177 | [544.326837, "o", "s"] 2178 | [545.183212, "o", ","] 2179 | [545.330999, "o", " "] 2180 | [546.26071, "o", "a"] 2181 | [546.355007, "o", "n"] 2182 | [546.439488, "o", "d"] 2183 | [546.53549, "o", " "] 2184 | [546.645197, "o", "n"] 2185 | [546.720495, "o", "o"] 2186 | [546.817873, "o", "d"] 2187 | [546.994518, "o", "e"] 2188 | [547.369609, "o", " "] 2189 | [547.502979, "o", "b"] 2190 | [547.626446, "o", "e"] 2191 | [547.813244, "o", "c"] 2192 | [547.955975, "o", "a"] 2193 | [548.348357, "o", "u"] 2194 | [548.460487, "o", "s"] 2195 | [548.591175, "o", "e"] 2196 | [548.741527, "o", " "] 2197 | [549.153752, "o", "C"] 2198 | [549.329643, "o", "N"] 2199 | [549.846956, "o", "I"] 2200 | [551.611892, "o", "\u001b[?1l\u001b>"] 2201 | [551.612215, "o", "\u001b[?2004l\r\r\n"] 2202 | [551.612681, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2203 | [551.61295, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2204 | [551.668088, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2205 | [551.668398, "o", "\u001b[?1h\u001b="] 2206 | [551.668602, "o", "\u001b[?2004h"] 2207 | [574.422204, "o", "l"] 2208 | [574.558493, "o", "\ble"] 2209 | [574.739106, "o", "t"] 2210 | [574.901388, "o", "s"] 2211 | [575.024333, "o", " "] 2212 | [575.596993, "o", "\b"] 2213 | [576.098909, "o", "\b \b"] 2214 | [576.128966, "o", "\b \b"] 2215 | [576.159689, "o", "\b\bl \b"] 2216 | [576.190963, "o", "\b \b"] 2217 | [577.633542, "o", "#"] 2218 | [578.125511, "o", "\b#l"] 2219 | [578.283535, "o", "e"] 2220 | [578.474777, "o", "t"] 2221 | [579.232743, "o", "s"] 2222 | [579.352833, "o", " "] 2223 | [579.958247, "o", "c"] 2224 | [580.086728, "o", "h"] 2225 | [580.211473, "o", "e"] 2226 | [580.402336, "o", "c"] 2227 | [580.513029, "o", "k"] 2228 | [580.650856, "o", " "] 2229 | [580.803498, "o", "o"] 2230 | [581.132149, "o", "n"] 2231 | [581.298018, "o", "e"] 2232 | [581.367241, "o", " "] 2233 | [581.469715, "o", "m"] 2234 | [581.560102, "o", "o"] 2235 | [581.665999, "o", "r"] 2236 | [581.737094, "o", "e"] 2237 | [581.842552, "o", " "] 2238 | [582.000025, "o", "t"] 2239 | [582.221431, "o", "h"] 2240 | [582.344838, "o", "i"] 2241 | [582.466484, "o", "n"] 2242 | [582.632098, "o", "g"] 2243 | [582.917535, "o", "\u001b[?1l\u001b>"] 2244 | [582.917619, "o", "\u001b[?2004l\r\r\n"] 2245 | [582.917919, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2246 | [582.91802, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2247 | [582.936323, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2248 | [582.936493, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 2249 | [584.520239, "o", "k"] 2250 | [584.730968, "o", "\bku"] 2251 | [584.944932, "o", "b"] 2252 | [585.552043, "o", "e"] 2253 | [585.776223, "o", "c"] 2254 | [585.924775, "o", "t"] 2255 | [586.097987, "o", "l"] 2256 | [586.781336, "o", " "] 2257 | [586.925173, "o", "g"] 2258 | [587.013358, "o", "e"] 2259 | [587.119799, "o", "t"] 2260 | [587.201001, "o", " "] 2261 | [587.518263, "o", "n"] 2262 | [587.644061, "o", "s"] 2263 | [587.856606, "o", "\u001b[?1l\u001b>"] 2264 | [587.856987, "o", "\u001b[?2004l\r\r\n"] 2265 | [587.857949, "o", "\u001b]2;kubectl get ns\u0007\u001b]1;kubectl\u0007"] 2266 | [587.989225, "o", "NAME STATUS AGE\r\ndefault Active 8m4s\r\nkube-node-lease "] 2267 | [587.989339, "o", "Active 8m5s\r\nkube-public Active 8m5s\r\nkube-system Active 8m5s\r\nlocal-path-storage Active 8m1s\r\n"] 2268 | [587.991479, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2269 | [587.991621, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 2270 | [587.991678, "o", "\u001b]1;..-kind-cluster\u0007"] 2271 | [588.009599, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2272 | [588.009757, "o", "\u001b[?1h\u001b="] 2273 | [588.009854, "o", "\u001b[?2004h"] 2274 | [589.576018, "o", "kubectl get ns"] 2275 | [591.747282, "o", "\b \b"] 2276 | [591.908899, "o", "\b \b"] 2277 | [592.054057, "o", "\b"] 2278 | [592.209516, "o", "\b \b"] 2279 | [592.365562, "o", "\b \b"] 2280 | [592.768973, "o", "\b \b"] 2281 | [592.98642, "o", "d"] 2282 | [593.172532, "o", "e"] 2283 | [593.391219, "o", "s"] 2284 | [593.596241, "o", "c"] 2285 | [593.817154, "o", "r"] 2286 | [593.905458, "o", "i"] 2287 | [594.099099, "o", "b"] 2288 | [594.196633, "o", "e"] 2289 | [594.299084, "o", " "] 2290 | [594.567759, "o", "n"] 2291 | [594.757172, "o", "s"] 2292 | [594.971932, "o", " "] 2293 | [595.455559, "o", "d"] 2294 | [595.647013, "o", "e"] 2295 | [595.840406, "o", "f"] 2296 | [595.962838, "o", "a"] 2297 | [596.101894, "o", "u"] 2298 | [596.259912, "o", "l"] 2299 | [596.474968, "o", "t"] 2300 | [597.121026, "o", "\u001b[?1l\u001b>"] 2301 | [597.121132, "o", "\u001b[?2004l\r\r\n"] 2302 | [597.12223, "o", "\u001b]2;kubectl describe ns default\u0007\u001b]1;kubectl\u0007"] 2303 | [597.262434, "o", "Name: default\r\nLabels: \r\nAnnotations: \r\nStatus: Active\r\n\r\nNo resource quota.\r\n\r\nNo LimitRange resource.\r\n"] 2304 | [597.264855, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2305 | [597.26496, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2306 | [597.283004, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2307 | [597.283152, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 2308 | [599.854602, "o", "#"] 2309 | [600.283115, "o", "\b#n"] 2310 | [600.405976, "o", "o"] 2311 | [600.597039, "o", "t"] 2312 | [600.781121, "o", "i"] 2313 | [600.876948, "o", "c"] 2314 | [601.084586, "o", "e"] 2315 | [601.2048, "o", " "] 2316 | [602.0514, "o", "t"] 2317 | [602.245375, "o", "h"] 2318 | [602.291141, "o", "e"] 2319 | [602.374418, "o", " "] 2320 | [602.578842, "o", "d"] 2321 | [602.783476, "o", "e"] 2322 | [603.171185, "o", "f"] 2323 | [603.31326, "o", "a"] 2324 | [603.4336, "o", "u"] 2325 | [603.581925, "o", "l"] 2326 | [603.805023, "o", "t"] 2327 | [603.892972, "o", " "] 2328 | [604.136003, "o", "n"] 2329 | [604.214108, "o", "a"] 2330 | [604.370672, "o", "m"] 2331 | [604.426383, "o", "e"] 2332 | [604.785351, "o", "s"] 2333 | [604.901163, "o", "p"] 2334 | [604.981387, "o", "a"] 2335 | [605.133923, "o", "c"] 2336 | [605.353427, "o", "e"] 2337 | [605.52122, "o", " "] 2338 | [605.679076, "o", "d"] 2339 | [605.806013, "o", "o"] 2340 | [605.899029, "o", "e"] 2341 | [606.066383, "o", "s"] 2342 | [606.118609, "o", " "] 2343 | [606.307137, "o", "o"] 2344 | [606.517586, "o", "t"] 2345 | [606.596379, "o", " "] 2346 | [606.791337, "o", "h"] 2347 | [606.854449, "o", "a"] 2348 | [606.948716, "o", "v"] 2349 | [607.039989, "o", "e"] 2350 | [607.325753, "o", "\b \b"] 2351 | [607.453658, "o", "\b \b"] 2352 | [607.59497, "o", "\b \b"] 2353 | [607.723159, "o", "\b \b"] 2354 | [607.842401, "o", "\b"] 2355 | [607.979378, "o", "\b \b"] 2356 | [608.069028, "o", "\b \b"] 2357 | [608.300548, "o", "n"] 2358 | [608.435714, "o", "o"] 2359 | [608.593021, "o", "t"] 2360 | [608.667495, "o", " "] 2361 | [608.835982, "o", "h"] 2362 | [608.900787, "o", "a"] 2363 | [608.969751, "o", "v"] 2364 | [609.048485, "o", "e"] 2365 | [609.11327, "o", " "] 2366 | [609.269367, "o", "l"] 2367 | [609.392483, "o", "a"] 2368 | [609.519474, "o", "b"] 2369 | [609.686291, "o", "e"] 2370 | [609.921523, "o", "l"] 2371 | [610.071447, "o", "s"] 2372 | [611.098557, "o", "?"] 2373 | [611.267387, "o", "!"] 2374 | [611.796656, "o", "\u001b[?1l\u001b>"] 2375 | [611.796758, "o", "\u001b[?2004l\r\r\n"] 2376 | [611.797712, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2377 | [611.798036, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2378 | [611.840207, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2379 | [611.840369, "o", "\u001b[?1h\u001b=\u001b[?2004h"] 2380 | [614.557698, "o", "#"] 2381 | [614.863018, "o", "\b#l"] 2382 | [615.003689, "o", "e"] 2383 | [615.153656, "o", "t"] 2384 | [615.93007, "o", "s"] 2385 | [616.073535, "o", " "] 2386 | [616.46734, "o", "c"] 2387 | [616.555294, "o", "h"] 2388 | [616.709386, "o", "e"] 2389 | [616.881229, "o", "c"] 2390 | [616.997772, "o", "k"] 2391 | [617.114238, "o", " "] 2392 | [617.283802, "o", "i"] 2393 | [617.363319, "o", "f"] 2394 | [617.458075, "o", " "] 2395 | [617.623267, "o", "a"] 2396 | [617.74371, "o", "l"] 2397 | [617.88667, "o", "l"] 2398 | [617.967518, "o", " "] 2399 | [618.137798, "o", "h"] 2400 | [618.250934, "o", "a"] 2401 | [618.316313, "o", "v"] 2402 | [618.411952, "o", "e"] 2403 | [618.790516, "o", " "] 2404 | [618.893648, "o", "l"] 2405 | [619.102991, "o", "a"] 2406 | [619.231579, "o", "b"] 2407 | [619.85515, "o", "e"] 2408 | [619.997328, "o", "l"] 2409 | [620.147655, "o", "s"] 2410 | [620.473404, "o", " "] 2411 | [620.600599, "o", "o"] 2412 | [620.743078, "o", "r"] 2413 | [620.82943, "o", " "] 2414 | [620.934706, "o", "n"] 2415 | [620.984037, "o", "o"] 2416 | [621.210181, "o", "t"] 2417 | [621.861817, "o", "?"] 2418 | [622.848924, "o", "\u001b[?1l\u001b>\u001b[?2004l\r\r\n"] 2419 | [622.849652, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2420 | [622.849952, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2421 | [622.90264, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2422 | [622.902842, "o", "\u001b[?1h\u001b="] 2423 | [622.902892, "o", "\u001b[?2004h"] 2424 | [624.929223, "o", "\r\r\nbck-i-search: _\u001b[K\u001b[A\u001b[11D"] 2425 | [626.365792, "o", "#notice the default namespace \u001b[4md\u001b[24moes not have labels?!\u001b[1B\u001b[42Dd_\u001b[A\u001b[18C"] 2426 | [626.536922, "o", "\u001b[18D\u001b[4md\u001b[4me\u001b[24m\u001b[16C\u001b[24md\u001b[1B\u001b[20De_\u001b[A\b"] 2427 | [626.72379, "o", "\u001b[12Dkubectl \u001b[4md\u001b[4me\u001b[4ms\u001b[24mc\u001b[24mr\u001b[24mibe ns default \u001b[1B\u001b[40Ds_\u001b[A\b\b\b\b\b\b"] 2428 | [627.72988, "o", "\u001b[24md\u001b[24me\u001b[24ms\u001b[1B\r\u001b[K\u001b[A\u001b[13C"] 2429 | [628.229413, "o", "\u001b[1C"] 2430 | [628.260172, "o", "\u001b[1C"] 2431 | [628.290569, "o", "\u001b[1C"] 2432 | [628.32138, "o", "\u001b[1C"] 2433 | [628.350863, "o", "\u001b[1C"] 2434 | [628.380367, "o", "\u001b[1C"] 2435 | [628.411628, "o", "\u001b[1C"] 2436 | [628.441812, "o", "\u001b[1C"] 2437 | [628.47174, "o", "\u001b[1C"] 2438 | [628.500265, "o", "\u001b[1C"] 2439 | [628.530875, "o", "\u001b[1C"] 2440 | [628.562487, "o", "\u001b[1C"] 2441 | [628.592527, "o", "\u001b[1C"] 2442 | [628.622593, "o", "\u001b[1C"] 2443 | [628.653357, "o", "\u001b[1C"] 2444 | [628.683866, "o", "\u001b[1C"] 2445 | [628.7145, "o", "\u001b[1C"] 2446 | [628.744912, "o", "\u001b[1C"] 2447 | [629.026366, "o", "\b \b"] 2448 | [629.527305, "o", "\b \b"] 2449 | [629.558002, "o", "\b \b"] 2450 | [629.588074, "o", "\b \b"] 2451 | [629.617389, "o", "\b \b"] 2452 | [629.647401, "o", "\b \b"] 2453 | [629.792595, "o", "\b \b"] 2454 | [630.449116, "o", "|"] 2455 | [631.305581, "o", "g"] 2456 | [631.391598, "o", "r"] 2457 | [631.492251, "o", "e"] 2458 | [631.552953, "o", "p"] 2459 | [632.241605, "o", " "] 2460 | [633.931294, "o", "L"] 2461 | [634.072152, "o", "a"] 2462 | [634.281197, "o", "b"] 2463 | [634.372284, "o", "e"] 2464 | [634.527214, "o", "l"] 2465 | [634.670958, "o", "s"] 2466 | [635.006646, "o", "\u001b[?1l\u001b>"] 2467 | [635.007069, "o", "\u001b[?2004l\u001b[1B\r"] 2468 | [635.007941, "o", "\u001b]2;kubectl describe ns | grep --color=auto Labels\u0007\u001b]1;kubectl\u0007"] 2469 | [635.131747, "o", "\u001b[01;31m\u001b[KLabels\u001b[m\u001b[K: \r\n"] 2470 | [635.135948, "o", "\u001b[01;31m\u001b[KLabels\u001b[m\u001b[K: \r\n"] 2471 | [635.139875, "o", "\u001b[01;31m\u001b[KLabels\u001b[m\u001b[K: \r\n"] 2472 | [635.145397, "o", "\u001b[01;31m\u001b[KLabels\u001b[m\u001b[K: \r\n"] 2473 | [635.149623, "o", "\u001b[01;31m\u001b[KLabels\u001b[m\u001b[K: \r\n"] 2474 | [635.155926, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2475 | [635.156142, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2476 | [635.172709, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D\u001b[?1h\u001b="] 2477 | [635.172832, "o", "\u001b[?2004h"] 2478 | [637.889938, "o", "#"] 2479 | [638.699497, "o", "\b#n"] 2480 | [638.881571, "o", "o"] 2481 | [639.028098, "o", "n"] 2482 | [639.131225, "o", "e"] 2483 | [639.249587, "o", " "] 2484 | [639.34731, "o", "o"] 2485 | [639.429233, "o", "f"] 2486 | [639.554394, "o", " "] 2487 | [639.661381, "o", "t"] 2488 | [639.851365, "o", "h"] 2489 | [639.917228, "o", "e"] 2490 | [640.025902, "o", " "] 2491 | [640.202529, "o", "n"] 2492 | [640.659867, "o", "a"] 2493 | [640.771252, "o", "m"] 2494 | [640.879761, "o", "e"] 2495 | [641.285673, "o", "s"] 2496 | [641.409664, "o", "p"] 2497 | [641.479215, "o", "a"] 2498 | [641.639934, "o", "c"] 2499 | [641.846677, "o", "e"] 2500 | [642.001659, "o", "s"] 2501 | [642.581536, "o", " "] 2502 | [642.735189, "o", "h"] 2503 | [642.837142, "o", "a"] 2504 | [642.911517, "o", "v"] 2505 | [643.008532, "o", "e"] 2506 | [643.109432, "o", " "] 2507 | [643.259168, "o", "l"] 2508 | [643.376794, "o", "a"] 2509 | [643.52445, "o", "b"] 2510 | [643.63437, "o", "e"] 2511 | [643.82032, "o", "l"] 2512 | [644.03065, "o", "s"] 2513 | [644.767736, "o", "?"] 2514 | [645.094455, "o", " "] 2515 | [645.27888, "o", "w"] 2516 | [645.377049, "o", "h"] 2517 | [645.571856, "o", "y"] 2518 | [645.665063, "o", " "] 2519 | [645.921793, "o", "d"] 2520 | [646.029657, "o", "o"] 2521 | [646.11648, "o", " "] 2522 | [646.303867, "o", "y"] 2523 | [646.936693, "o", "o"] 2524 | [647.048111, "o", "u"] 2525 | [647.163373, "o", " "] 2526 | [647.35174, "o", "t"] 2527 | [647.53764, "o", "h"] 2528 | [647.696988, "o", "i"] 2529 | [647.848618, "o", "n"] 2530 | [648.007903, "o", "k"] 2531 | [648.154617, "o", " "] 2532 | [648.3398, "o", "w"] 2533 | [648.531595, "o", "e"] 2534 | [649.212999, "o", " "] 2535 | [649.571105, "o", "m"] 2536 | [649.706486, "o", "i"] 2537 | [649.907183, "o", "g"] 2538 | [650.074827, "o", "h"] 2539 | [650.252374, "o", "t"] 2540 | [650.359443, "o", " "] 2541 | [650.584396, "o", "n"] 2542 | [650.724741, "o", "e"] 2543 | [650.878347, "o", "e"] 2544 | [651.106394, "o", "d"] 2545 | [651.249891, "o", " "] 2546 | [652.11627, "o", "a"] 2547 | [652.206035, "o", " "] 2548 | [652.34324, "o", "l"] 2549 | [652.450747, "o", "a"] 2550 | [652.625714, "o", "b"] 2551 | [652.741738, "o", "e"] 2552 | [652.923308, "o", "l"] 2553 | [653.243462, "o", " "] 2554 | [653.362155, "o", "f"] 2555 | [653.481984, "o", "o"] 2556 | [653.564794, "o", "r"] 2557 | [653.661903, "o", " "] 2558 | [653.791164, "o", "a"] 2559 | [653.886662, "o", " "] 2560 | [654.749946, "o", "n"] 2561 | [655.000199, "o", "a"] 2562 | [655.158753, "o", "m"] 2563 | [655.265683, "o", "e"] 2564 | [655.814004, "o", "s"] 2565 | [655.964074, "o", "p"] 2566 | [656.024071, "o", "a"] 2567 | [656.202773, "o", "c"] 2568 | [656.410666, "o", "e"] 2569 | [656.988158, "o", "?"] 2570 | [658.633074, "o", "\u001b[?1l\u001b>"] 2571 | [658.633414, "o", "\u001b[?2004l\r\r\n"] 2572 | [658.633873, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2573 | [658.63411, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007"] 2574 | [658.634181, "o", "\u001b]1;..-kind-cluster\u0007"] 2575 | [658.692912, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2576 | [658.693272, "o", "\u001b[?1h\u001b="] 2577 | [658.693379, "o", "\u001b[?2004h"] 2578 | [664.404083, "o", "#"] 2579 | [665.155687, "o", "\b# "] 2580 | [665.563439, "o", "\b"] 2581 | [665.842223, "o", "\b#o"] 2582 | [665.967386, "o", "r"] 2583 | [666.165383, "o", " "] 2584 | [666.347278, "o", "w"] 2585 | [666.453885, "o", "h"] 2586 | [666.57254, "o", "e"] 2587 | [666.716172, "o", "n"] 2588 | [666.821917, "o", " "] 2589 | [666.961509, "o", "s"] 2590 | [667.046812, "o", "h"] 2591 | [667.163048, "o", "o"] 2592 | [667.254091, "o", "u"] 2593 | [667.433734, "o", "l"] 2594 | [667.949625, "o", "d"] 2595 | [668.111634, "o", " "] 2596 | [668.291143, "o", "w"] 2597 | [668.369627, "o", "e"] 2598 | [668.497677, "o", " "] 2599 | [668.612584, "o", "h"] 2600 | [668.910149, "o", "a"] 2601 | [669.052551, "o", "v"] 2602 | [669.167122, "o", "e"] 2603 | [669.249872, "o", " "] 2604 | [669.378373, "o", "a"] 2605 | [669.460797, "o", " "] 2606 | [669.58498, "o", "l"] 2607 | [669.732018, "o", "a"] 2608 | [669.890167, "o", "b"] 2609 | [670.036004, "o", "e"] 2610 | [670.155534, "o", "l"] 2611 | [670.397674, "o", " "] 2612 | [670.65979, "o", "f"] 2613 | [670.766412, "o", "o"] 2614 | [670.864874, "o", "r"] 2615 | [670.945723, "o", " "] 2616 | [671.097928, "o", "a"] 2617 | [671.196696, "o", " "] 2618 | [671.415701, "o", "n"] 2619 | [671.505725, "o", "a"] 2620 | [672.016254, "o", "m"] 2621 | [672.168582, "o", "e"] 2622 | [672.828087, "o", "s"] 2623 | [673.035668, "o", "p"] 2624 | [673.229005, "o", "a"] 2625 | [673.393384, "o", "c"] 2626 | [673.641635, "o", "e"] 2627 | [674.247459, "o", "?"] 2628 | [674.515926, "o", "\u001b[?1l\u001b>"] 2629 | [674.516252, "o", "\u001b[?2004l\r\r\n"] 2630 | [674.516667, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"] 2631 | [674.516963, "o", "\u001b]2;wal@Bei:~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster\u0007\u001b]1;..-kind-cluster\u0007"] 2632 | [674.572263, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J(\u001b[34m⎈ \u001b[39m|\u001b[31mkind-kind\u001b[39m:\u001b[36mdefault\u001b[39m)╭─\u001b[1m\u001b[32mwal@Bei \u001b[00m\u001b[1m\u001b[34m~/code/gitrepos/Certified-Kubernetes-Security-Specialist/hands-on/00-kind-cluster \u001b[00m\u001b[33m‹hands-on*› \u001b[00m\r\n╰─\u001b[1m$\u001b[0m \u001b[K\u001b[176C\u001b[1m\u001b[0m\u001b[176D"] 2633 | [674.572552, "o", "\u001b[?1h\u001b="] 2634 | [674.572733, "o", "\u001b[?2004h"] 2635 | [689.099222, "o", "e"] 2636 | [689.300953, "o", "\bex"] 2637 | [689.39934, "o", "i"] 2638 | [689.656159, "o", "t"] 2639 | [690.323152, "o", "\u001b[?1l\u001b>"] 2640 | [690.323361, "o", "\u001b[?2004l\r\r\n"] 2641 | [690.324304, "o", "\u001b]2;exit\u0007\u001b]1;exit\u0007"] 2642 | -------------------------------------------------------------------------------- /hands-on/vagrant/.gitignore: -------------------------------------------------------------------------------- 1 | .vagrant 2 | -------------------------------------------------------------------------------- /hands-on/vagrant/README.md: -------------------------------------------------------------------------------- 1 | # Vagrant 2 | 3 | We've created the automation to initialize cluster in your local machine using Vagrant, Ansible and kubeadm. You just need execute the following command and make sure Vagrant, Ansible are installed on your system. 4 | 5 | ``` 6 | $ vagrant up 7 | # Once cluster done, you can ssh into each node 8 | $ vagrant ssh master # or worker1 or worker2 9 | 10 | # List all pods in the cluster 11 | vagrant@master:~$ kubectl get po -A 12 | ``` -------------------------------------------------------------------------------- /hands-on/vagrant/Vagrantfile: -------------------------------------------------------------------------------- 1 | base = "ubuntu/bionic64" 2 | 3 | Vagrant.configure("2") do |config| 4 | config.ssh.insert_key = false 5 | config.vm.provider "virtualbox" do |v| 6 | v.memory = 2048 7 | v.cpus = 2 8 | end 9 | 10 | config.vm.define "master" do |master| 11 | master.vm.box = base 12 | master.vm.network "private_network", ip: "10.18.0.11" 13 | master.vm.hostname = "cluster-master" 14 | master.vm.provision "ansible" do |ansible| 15 | ansible.playbook = "main.yml" 16 | ansible.extra_vars = { 17 | node: "master", 18 | node_ip: "10.18.0.11", 19 | network: "calico", 20 | } 21 | end 22 | end 23 | 24 | (1..2).each do |i| 25 | config.vm.define "worker#{i}" do |worker| 26 | worker.vm.box = base 27 | worker.vm.network "private_network", ip: "10.18.0.#{i + 11}" 28 | worker.vm.hostname = "cluster-worker#{i}" 29 | worker.vm.provision "ansible" do |ansible| 30 | ansible.playbook = "main.yml" 31 | ansible.extra_vars = { 32 | node: "worker", 33 | node_ip: "10.18.0.#{i + 11}", 34 | } 35 | end 36 | end 37 | end 38 | end 39 | -------------------------------------------------------------------------------- /hands-on/vagrant/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | inventory = hosts 3 | host_key_checking = False 4 | callback_whitelist = timer, profile_tasks -------------------------------------------------------------------------------- /hands-on/vagrant/hosts: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local -------------------------------------------------------------------------------- /hands-on/vagrant/join: -------------------------------------------------------------------------------- 1 | kubeadm join cluster-master:6443 --token wxnidi.3sheyw4kjtrw2pbi --discovery-token-ca-cert-hash sha256:c80e54d13e8f1b1f4a277a22df60cb3693f362b3ab9649df6699751decd80072 -------------------------------------------------------------------------------- /hands-on/vagrant/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Installation and Configuration cluster 3 | hosts: all 4 | become: yes 5 | gather_facts: True 6 | 7 | vars_files: 8 | - vars/main.yml 9 | 10 | roles: 11 | - general 12 | - { role: master, when: node == "master"} 13 | - { role: worker, when: node == "worker"} -------------------------------------------------------------------------------- /hands-on/vagrant/roles/general/tasks/01-install.yml: -------------------------------------------------------------------------------- 1 | - name: Update and upgrade apt packages 2 | apt: 3 | upgrade: dist 4 | update_cache: yes 5 | 6 | - name: Install required package 7 | apt: 8 | name: 9 | - apt-transport-https 10 | - ca-certificates 11 | - curl 12 | - gnupg-agent 13 | - software-properties-common 14 | state: present 15 | update_cache: yes 16 | 17 | - name: Copy bridge configuration 18 | template: 19 | src: templates/kubernetes.conf.j2 20 | dest: "/etc/sysctl.d/kubernetes.conf" 21 | 22 | - name: Update sysctl configuration 23 | shell: sysctl --system 24 | 25 | - name: Add an apt signing key for Docker 26 | apt_key: 27 | url: https://download.docker.com/linux/ubuntu/gpg 28 | state: present 29 | 30 | - name: Add apt repository for stable version 31 | apt_repository: 32 | repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable 33 | state: present 34 | 35 | - name: Install docker and its dependecies 36 | apt: 37 | name: docker-ce 38 | state: present 39 | update_cache: yes 40 | 41 | - name: Copy docker configuration 42 | template: 43 | src: templates/daemon.json.j2 44 | dest: "/etc/docker/ddaemon.json" 45 | 46 | - name: Add vagrant users to docker group 47 | user: 48 | name: vagrant 49 | groups: docker 50 | append: yes 51 | 52 | - name: Remove swapfile 53 | mount: 54 | name: "{{ item }}" 55 | fstype: swap 56 | state: absent 57 | with_items: 58 | - swap 59 | - none 60 | 61 | - name: Disable swap 62 | shell: swapoff -a 63 | 64 | - name: Add an apt signing key for Kubernetes 65 | apt_key: 66 | url: https://packages.cloud.google.com/apt/doc/apt-key.gpg 67 | state: present 68 | 69 | - name: Adding apt repository for Kubernetes 70 | apt_repository: 71 | repo: deb https://apt.kubernetes.io/ kubernetes-xenial main 72 | state: present 73 | filename: kubernetes.list 74 | 75 | - name: Install Kubernetes binaries 76 | apt: 77 | name: "{{ item }}={{ k8s_version }}-00" 78 | state: present 79 | force: True 80 | update_cache: yes 81 | with_items: 82 | - kubelet 83 | - kubeadm 84 | - kubectl 85 | -------------------------------------------------------------------------------- /hands-on/vagrant/roles/general/tasks/02-config.yml: -------------------------------------------------------------------------------- 1 | - name: Load overlay and br_netfilter modules 2 | shell: | 3 | modprobe overlay 4 | modprobe br_netfilter 5 | 6 | - name: Copy bridge configuration 7 | template: 8 | src: templates/kubernetes.conf.j2 9 | dest: "/etc/sysctl.d/kubernetes.conf" 10 | 11 | - name: Update sysctl configuration 12 | shell: sysctl --system 13 | 14 | - name: Copy docker configuration 15 | template: 16 | src: templates/daemon.json.j2 17 | dest: "/etc/docker/ddaemon.json" 18 | 19 | - name: Add DNS alias to each node 20 | shell: | 21 | cat >> /etc/hosts < /proc/sys/vm/drop_caches -------------------------------------------------------------------------------- /hands-on/vagrant/roles/general/tasks/03-service.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Restart docker service 3 | service: 4 | name: docker 5 | state: restarted 6 | daemon_reload: yes 7 | enabled: yes 8 | 9 | - name: Restart kubelet service 10 | service: 11 | name: kubelet 12 | state: restarted 13 | daemon_reload: yes 14 | enabled: yes -------------------------------------------------------------------------------- /hands-on/vagrant/roles/general/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include_tasks: 01-install.yml 3 | - include_tasks: 02-config.yml 4 | - include_tasks: 03-service.yml -------------------------------------------------------------------------------- /hands-on/vagrant/roles/general/templates/daemon.json.j2: -------------------------------------------------------------------------------- 1 | { 2 | "exec-opts": ["native.cgroupdriver=systemd"], 3 | "log-driver": "json-file", 4 | "storage-driver": "overlay2" 5 | } -------------------------------------------------------------------------------- /hands-on/vagrant/roles/general/templates/kubernetes.conf.j2: -------------------------------------------------------------------------------- 1 | net.ipv4.ip_forward = 1 2 | net.bridge.bridge-nf-call-ip6tables = 1 3 | net.bridge.bridge-nf-call-iptables = 1 -------------------------------------------------------------------------------- /hands-on/vagrant/roles/master/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Initialize the cluster using kubeadm 3 | shell: kubeadm init --control-plane-endpoint="cluster-master:6443" --node-name {{ ansible_hostname }} --pod-network-cidr=192.168.0.0/16 4 | 5 | - name: Setup cluster config on master node 6 | shell: | 7 | mkdir -p /home/vagrant/.kube 8 | cp -i /etc/kubernetes/admin.conf /home/vagrant/.kube/config 9 | chown vagrant:vagrant /home/vagrant/.kube/config 10 | 11 | - name: Generate join command 12 | command: kubeadm token create --print-join-command 13 | register: join_command 14 | 15 | - name: Copy join command 16 | local_action: copy content="{{ join_command.stdout_lines[0] }}" dest="./join" 17 | become: false 18 | 19 | - name: Deploy flannel to cluster 20 | shell: kubectl --kubeconfig /home/vagrant/.kube/config create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 21 | when: network == "flannel" 22 | 23 | - name: Deploy Calico to cluster 24 | shell: kubectl --kubeconfig /home/vagrant/.kube/config create -f https://docs.projectcalico.org/manifests/calico.yaml 25 | when: network == "calico" -------------------------------------------------------------------------------- /hands-on/vagrant/roles/worker/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Copy join command to node 2 | copy: 3 | src: join 4 | dest: /tmp/join 5 | mode: 0777 6 | 7 | - name: Join the node to cluster 8 | shell: sh /tmp/join -------------------------------------------------------------------------------- /hands-on/vagrant/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | k8s_version: "1.19.1" 3 | network: "flannel" -------------------------------------------------------------------------------- /kubernetes-security-specialist-logo-300x285.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/walidshaari/Certified-Kubernetes-Security-Specialist/48fb17f1da417a6fa4b974fd7585616bac6dd8ff/kubernetes-security-specialist-logo-300x285.png -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | Attribution-ShareAlike 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution-ShareAlike 4.0 International Public 58 | License 59 | 60 | By exercising the Licensed Rights (defined below), You accept and agree 61 | to be bound by the terms and conditions of this Creative Commons 62 | Attribution-ShareAlike 4.0 International Public License ("Public 63 | License"). To the extent this Public License may be interpreted as a 64 | contract, You are granted the Licensed Rights in consideration of Your 65 | acceptance of these terms and conditions, and the Licensor grants You 66 | such rights in consideration of benefits the Licensor receives from 67 | making the Licensed Material available under these terms and 68 | conditions. 69 | 70 | 71 | Section 1 -- Definitions. 72 | 73 | a. Adapted Material means material subject to Copyright and Similar 74 | Rights that is derived from or based upon the Licensed Material 75 | and in which the Licensed Material is translated, altered, 76 | arranged, transformed, or otherwise modified in a manner requiring 77 | permission under the Copyright and Similar Rights held by the 78 | Licensor. For purposes of this Public License, where the Licensed 79 | Material is a musical work, performance, or sound recording, 80 | Adapted Material is always produced where the Licensed Material is 81 | synched in timed relation with a moving image. 82 | 83 | b. Adapter's License means the license You apply to Your Copyright 84 | and Similar Rights in Your contributions to Adapted Material in 85 | accordance with the terms and conditions of this Public License. 86 | 87 | c. BY-SA Compatible License means a license listed at 88 | creativecommons.org/compatiblelicenses, approved by Creative 89 | Commons as essentially the equivalent of this Public License. 90 | 91 | d. Copyright and Similar Rights means copyright and/or similar rights 92 | closely related to copyright including, without limitation, 93 | performance, broadcast, sound recording, and Sui Generis Database 94 | Rights, without regard to how the rights are labeled or 95 | categorized. For purposes of this Public License, the rights 96 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 97 | Rights. 98 | 99 | e. Effective Technological Measures means those measures that, in the 100 | absence of proper authority, may not be circumvented under laws 101 | fulfilling obligations under Article 11 of the WIPO Copyright 102 | Treaty adopted on December 20, 1996, and/or similar international 103 | agreements. 104 | 105 | f. Exceptions and Limitations means fair use, fair dealing, and/or 106 | any other exception or limitation to Copyright and Similar Rights 107 | that applies to Your use of the Licensed Material. 108 | 109 | g. License Elements means the license attributes listed in the name 110 | of a Creative Commons Public License. The License Elements of this 111 | Public License are Attribution and ShareAlike. 112 | 113 | h. Licensed Material means the artistic or literary work, database, 114 | or other material to which the Licensor applied this Public 115 | License. 116 | 117 | i. Licensed Rights means the rights granted to You subject to the 118 | terms and conditions of this Public License, which are limited to 119 | all Copyright and Similar Rights that apply to Your use of the 120 | Licensed Material and that the Licensor has authority to license. 121 | 122 | j. Licensor means the individual(s) or entity(ies) granting rights 123 | under this Public License. 124 | 125 | k. Share means to provide material to the public by any means or 126 | process that requires permission under the Licensed Rights, such 127 | as reproduction, public display, public performance, distribution, 128 | dissemination, communication, or importation, and to make material 129 | available to the public including in ways that members of the 130 | public may access the material from a place and at a time 131 | individually chosen by them. 132 | 133 | l. Sui Generis Database Rights means rights other than copyright 134 | resulting from Directive 96/9/EC of the European Parliament and of 135 | the Council of 11 March 1996 on the legal protection of databases, 136 | as amended and/or succeeded, as well as other essentially 137 | equivalent rights anywhere in the world. 138 | 139 | m. You means the individual or entity exercising the Licensed Rights 140 | under this Public License. Your has a corresponding meaning. 141 | 142 | 143 | Section 2 -- Scope. 144 | 145 | a. License grant. 146 | 147 | 1. Subject to the terms and conditions of this Public License, 148 | the Licensor hereby grants You a worldwide, royalty-free, 149 | non-sublicensable, non-exclusive, irrevocable license to 150 | exercise the Licensed Rights in the Licensed Material to: 151 | 152 | a. reproduce and Share the Licensed Material, in whole or 153 | in part; and 154 | 155 | b. produce, reproduce, and Share Adapted Material. 156 | 157 | 2. Exceptions and Limitations. For the avoidance of doubt, where 158 | Exceptions and Limitations apply to Your use, this Public 159 | License does not apply, and You do not need to comply with 160 | its terms and conditions. 161 | 162 | 3. Term. The term of this Public License is specified in Section 163 | 6(a). 164 | 165 | 4. Media and formats; technical modifications allowed. The 166 | Licensor authorizes You to exercise the Licensed Rights in 167 | all media and formats whether now known or hereafter created, 168 | and to make technical modifications necessary to do so. The 169 | Licensor waives and/or agrees not to assert any right or 170 | authority to forbid You from making technical modifications 171 | necessary to exercise the Licensed Rights, including 172 | technical modifications necessary to circumvent Effective 173 | Technological Measures. For purposes of this Public License, 174 | simply making modifications authorized by this Section 2(a) 175 | (4) never produces Adapted Material. 176 | 177 | 5. Downstream recipients. 178 | 179 | a. Offer from the Licensor -- Licensed Material. Every 180 | recipient of the Licensed Material automatically 181 | receives an offer from the Licensor to exercise the 182 | Licensed Rights under the terms and conditions of this 183 | Public License. 184 | 185 | b. Additional offer from the Licensor -- Adapted Material. 186 | Every recipient of Adapted Material from You 187 | automatically receives an offer from the Licensor to 188 | exercise the Licensed Rights in the Adapted Material 189 | under the conditions of the Adapter's License You apply. 190 | 191 | c. No downstream restrictions. You may not offer or impose 192 | any additional or different terms or conditions on, or 193 | apply any Effective Technological Measures to, the 194 | Licensed Material if doing so restricts exercise of the 195 | Licensed Rights by any recipient of the Licensed 196 | Material. 197 | 198 | 6. No endorsement. Nothing in this Public License constitutes or 199 | may be construed as permission to assert or imply that You 200 | are, or that Your use of the Licensed Material is, connected 201 | with, or sponsored, endorsed, or granted official status by, 202 | the Licensor or others designated to receive attribution as 203 | provided in Section 3(a)(1)(A)(i). 204 | 205 | b. Other rights. 206 | 207 | 1. Moral rights, such as the right of integrity, are not 208 | licensed under this Public License, nor are publicity, 209 | privacy, and/or other similar personality rights; however, to 210 | the extent possible, the Licensor waives and/or agrees not to 211 | assert any such rights held by the Licensor to the limited 212 | extent necessary to allow You to exercise the Licensed 213 | Rights, but not otherwise. 214 | 215 | 2. Patent and trademark rights are not licensed under this 216 | Public License. 217 | 218 | 3. To the extent possible, the Licensor waives any right to 219 | collect royalties from You for the exercise of the Licensed 220 | Rights, whether directly or through a collecting society 221 | under any voluntary or waivable statutory or compulsory 222 | licensing scheme. In all other cases the Licensor expressly 223 | reserves any right to collect such royalties. 224 | 225 | 226 | Section 3 -- License Conditions. 227 | 228 | Your exercise of the Licensed Rights is expressly made subject to the 229 | following conditions. 230 | 231 | a. Attribution. 232 | 233 | 1. If You Share the Licensed Material (including in modified 234 | form), You must: 235 | 236 | a. retain the following if it is supplied by the Licensor 237 | with the Licensed Material: 238 | 239 | i. identification of the creator(s) of the Licensed 240 | Material and any others designated to receive 241 | attribution, in any reasonable manner requested by 242 | the Licensor (including by pseudonym if 243 | designated); 244 | 245 | ii. a copyright notice; 246 | 247 | iii. a notice that refers to this Public License; 248 | 249 | iv. a notice that refers to the disclaimer of 250 | warranties; 251 | 252 | v. a URI or hyperlink to the Licensed Material to the 253 | extent reasonably practicable; 254 | 255 | b. indicate if You modified the Licensed Material and 256 | retain an indication of any previous modifications; and 257 | 258 | c. indicate the Licensed Material is licensed under this 259 | Public License, and include the text of, or the URI or 260 | hyperlink to, this Public License. 261 | 262 | 2. You may satisfy the conditions in Section 3(a)(1) in any 263 | reasonable manner based on the medium, means, and context in 264 | which You Share the Licensed Material. For example, it may be 265 | reasonable to satisfy the conditions by providing a URI or 266 | hyperlink to a resource that includes the required 267 | information. 268 | 269 | 3. If requested by the Licensor, You must remove any of the 270 | information required by Section 3(a)(1)(A) to the extent 271 | reasonably practicable. 272 | 273 | b. ShareAlike. 274 | 275 | In addition to the conditions in Section 3(a), if You Share 276 | Adapted Material You produce, the following conditions also apply. 277 | 278 | 1. The Adapter's License You apply must be a Creative Commons 279 | license with the same License Elements, this version or 280 | later, or a BY-SA Compatible License. 281 | 282 | 2. You must include the text of, or the URI or hyperlink to, the 283 | Adapter's License You apply. You may satisfy this condition 284 | in any reasonable manner based on the medium, means, and 285 | context in which You Share Adapted Material. 286 | 287 | 3. You may not offer or impose any additional or different terms 288 | or conditions on, or apply any Effective Technological 289 | Measures to, Adapted Material that restrict exercise of the 290 | rights granted under the Adapter's License You apply. 291 | 292 | 293 | Section 4 -- Sui Generis Database Rights. 294 | 295 | Where the Licensed Rights include Sui Generis Database Rights that 296 | apply to Your use of the Licensed Material: 297 | 298 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 299 | to extract, reuse, reproduce, and Share all or a substantial 300 | portion of the contents of the database; 301 | 302 | b. if You include all or a substantial portion of the database 303 | contents in a database in which You have Sui Generis Database 304 | Rights, then the database in which You have Sui Generis Database 305 | Rights (but not its individual contents) is Adapted Material, 306 | 307 | including for purposes of Section 3(b); and 308 | c. You must comply with the conditions in Section 3(a) if You Share 309 | all or a substantial portion of the contents of the database. 310 | 311 | For the avoidance of doubt, this Section 4 supplements and does not 312 | replace Your obligations under this Public License where the Licensed 313 | Rights include other Copyright and Similar Rights. 314 | 315 | 316 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 317 | 318 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 319 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 320 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 321 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 322 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 323 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 324 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 325 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 326 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 327 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 328 | 329 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 330 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 331 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 332 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 333 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 334 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 335 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 336 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 337 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 338 | 339 | c. The disclaimer of warranties and limitation of liability provided 340 | above shall be interpreted in a manner that, to the extent 341 | possible, most closely approximates an absolute disclaimer and 342 | waiver of all liability. 343 | 344 | 345 | Section 6 -- Term and Termination. 346 | 347 | a. This Public License applies for the term of the Copyright and 348 | Similar Rights licensed here. However, if You fail to comply with 349 | this Public License, then Your rights under this Public License 350 | terminate automatically. 351 | 352 | b. Where Your right to use the Licensed Material has terminated under 353 | Section 6(a), it reinstates: 354 | 355 | 1. automatically as of the date the violation is cured, provided 356 | it is cured within 30 days of Your discovery of the 357 | violation; or 358 | 359 | 2. upon express reinstatement by the Licensor. 360 | 361 | For the avoidance of doubt, this Section 6(b) does not affect any 362 | right the Licensor may have to seek remedies for Your violations 363 | of this Public License. 364 | 365 | c. For the avoidance of doubt, the Licensor may also offer the 366 | Licensed Material under separate terms or conditions or stop 367 | distributing the Licensed Material at any time; however, doing so 368 | will not terminate this Public License. 369 | 370 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 371 | License. 372 | 373 | 374 | Section 7 -- Other Terms and Conditions. 375 | 376 | a. The Licensor shall not be bound by any additional or different 377 | terms or conditions communicated by You unless expressly agreed. 378 | 379 | b. Any arrangements, understandings, or agreements regarding the 380 | Licensed Material not stated herein are separate from and 381 | independent of the terms and conditions of this Public License. 382 | 383 | 384 | Section 8 -- Interpretation. 385 | 386 | a. For the avoidance of doubt, this Public License does not, and 387 | shall not be interpreted to, reduce, limit, restrict, or impose 388 | conditions on any use of the Licensed Material that could lawfully 389 | be made without permission under this Public License. 390 | 391 | b. To the extent possible, if any provision of this Public License is 392 | deemed unenforceable, it shall be automatically reformed to the 393 | minimum extent necessary to make it enforceable. If the provision 394 | cannot be reformed, it shall be severed from this Public License 395 | without affecting the enforceability of the remaining terms and 396 | conditions. 397 | 398 | c. No term or condition of this Public License will be waived and no 399 | failure to comply consented to unless expressly agreed to by the 400 | Licensor. 401 | 402 | d. Nothing in this Public License constitutes or may be interpreted 403 | as a limitation upon, or waiver of, any privileges and immunities 404 | that apply to the Licensor or You, including from the legal 405 | processes of any jurisdiction or authority. 406 | 407 | 408 | ======================================================================= 409 | 410 | Creative Commons is not a party to its public 411 | licenses. Notwithstanding, Creative Commons may elect to apply one of 412 | its public licenses to material it publishes and in those instances 413 | will be considered the “Licensor.” The text of the Creative Commons 414 | public licenses is dedicated to the public domain under the CC0 Public 415 | Domain Dedication. Except for the limited purpose of indicating that 416 | material is shared under a Creative Commons public license or as 417 | otherwise permitted by the Creative Commons policies published at 418 | creativecommons.org/policies, Creative Commons does not authorize the 419 | use of the trademark "Creative Commons" or any other trademark or logo 420 | of Creative Commons without its prior written consent including, 421 | without limitation, in connection with any unauthorized modifications 422 | to any of its public licenses or any other arrangements, 423 | understandings, or agreements concerning use of licensed material. For 424 | the avoidance of doubt, this paragraph does not form part of the 425 | public licenses. 426 | 427 | Creative Commons may be contacted at creativecommons.org. 428 | 429 | 430 | --------------------------------------------------------------------------------