---
# System prepended metadata

title: CKA Kind Lab.

---

# CKA Kind Lab.

Follow me on twitter [@mauilion](https://twitter.com/mauilion)
important links
* cloudnative.tv
* [eCHO](https://www.youtube.com/watch?v=80OYrzS1dCA&list=PLDg_GiBbAx-mY3VFLPbLHcxo6wUjejAOC)
* certs magic with Saiyam debuting on cloudnative.tv today! 
* [klustered](https://www.youtube.com/playlist?list=PLz0t90fOInA5IyhoT96WhycPV8Km-WICj)
* kind.sigs.k8s.io

### find this stuff here hackmd.io/@mauilion/cka-lab

### Watch the [video](https://k8s.work/cka-lab.mp4)
---
- [x] Curriculum! https://github.com/cncf/curriculum/blob/master/CKA_Curriculum_v1.19.pdf
- [x] What's [kind?](https://hackmd.io/@mauilion/kind-workflow#/12)
- [x] Do I need Kind? is kind part of the cka test?
  * No it's not part of the test. It just makes it simple to have a lab environment with no cloud access needed!
   
- [x] What's a kubeadm?
  * https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

- [x] How does Kind use kubeadm?
  * https://kind.sigs.k8s.io/docs/user/configuration/

- [x] How can I use kind as a learning tool for cluster administration?
    - [x] kind cluster create with multiple nodes
        - git.io/kind-mn-nocni.yaml
    - [x] Reset of all nodes
        - [x] kubeadm reset -f
    - [x] Using the kubeadm config to reform the cluster manually with kubeadm init and join
        - [x] kubeadm init --config /kind/kubeadm.conf --skip-phases=preflight
    - [x] Using kubeadm to replace the config of the apiserver with its defaults
        - [x] kubeadm phase
    - [ ] What do we need to know to install a cni?
    - [ ] Installing a cni
        - [ ] [cilium install](https://docs.cilium.io/en/v1.10/gettingstarted/k8s-install-default/)
---
- [ ] etcd hijinx! git.io/etcdclient.yaml
    - [ ] what is it?
    - [ ] how to use it?
    - [ ] Grabbing a snapshot of etcd.
        - [ ] Super low cost backup
        - [ ] also you can use the data dir!
     
    - [ ] Restoring a snapshot of etcd.
       - [ ] stop all the things!
       - [ ] use etcdctl to restore the path etcd expects to find things
       - [ ] restart all the things!
       - [ ] profit!
--- 
- [ ] upgrading with kubeadm!
    - [ ] we need a new kubeadm and kubelet! but what version: https://dl.k8s.io/release/stable.txt
    - [ ] and where? https://dl.k8s.io/v1.19.2/bin/linux/amd64/{kubeadm,kubelet}
    - [ ] docs on upgrade are here: https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
---
- [ ] Other tips!
    - [ ] kubectl explain pod.spec --recursive
