= k8s/StudyNotes =
 * [[k8s/StudyNotes/cubectl]]
 * [[k8s/StudyNotes/Deployments]]
 * [[k8s/StudyNotes/Pods]]
 * [[k8s/StudyNotes/Services]]
 * [[k8s/StudyNotes/SchedulingSelectors]]
 * [[k8s/StudyNotes/TaintsAndTolerations]]
 * [[k8s/StudyNotes/NodeSelectors+NodeAffinity]]
 * [[k8s/StudyNotes/ResourceRequests]]
 * [[k8s/StudyNotes/DaemonSets]]

 * [[k8s/StudyNotes/kube-scheduler]]
 * [[k8s/StudyNotes/Monitor&Logging]]
 * [[k8s/StudyNotes/Rollout&Versioning]]
 * [[k8s/StudyNotes/ClusterMaintenance&Upgrades]]
 * [[k8s/StudyNotes/k8s-certs-security]]
 * [[k8s/StudyNotes/RBAC]]
 * [[k8s/StudyNotes/ServiceAccounts]]
 * [[k8s/StudyNotes/ImageSecurity]]
 * [[k8s/StudyNotes/SecurityDockerContainer]]
 * [[k8s/StudyNotes/NetworkPolicies]]
 * [[k8s/StudyNotes/Storage]]
 * [[k8s/StudyNotes/LinuxNetworkNamespaces]]
 * [[k8s/StudyNotes/k8sNetworking]]
 * [[k8s/StudyNotes/k8sNetworkExam]]
 * [[k8s/StudyNotes/k8sDNS]]
 * [[k8s/StudyNotes/k8sIngressService]]

 * [[k8s/StudyNotes/k8sDesignCluster]]



   * https://kodekloud.com/
   * https://github.com/kodekloudhub/certified-kubernetes-administrator-course
   * Certified Kubernetes Administrator: https://www.cncf.io/certification/cka/
   * Exam Curriculum (Topics): https://github.com/cncf/curriculum
   * Candidate Handbook: https://www.cncf.io/certification/candidate-handbook
   * Exam Tips: http://training.linuxfoundation.org/go//Important-Tips-CKA-CKAD
   * Use the code – DEVOPS15 – while registering for the CKA or CKAD exams at Linux Foundation to get a 15% discount.
 * '''Tips''':
   * Setup env {{{
     alias k=kubectl
     export do="-o yaml --dry-run=client"
     }}}
   * Very little can be edited in running pod field/property, rather edit deployment, as this will replace pod.
   * Find yaml config options for obj e.g. Pod {{{ kubectl explain pod --recursive | grep -i scheduler }}}
   * {{{ kubectl api-resources --namespaced=true }}}
   * {{{ kubectl auth can-i --as peter get pods }}}
   * pod python app to access k8s api in container [[k8s/StudyNotes/k8sPythonApp]]
   * kubectl clusterInfo


 * kubeadm
   * deploys all the kubernetes services downloaded from web

 * Kube-Scheduler
   1. Filter Nodes (Pod cant fit)
   2. Rank Nodes (Compare resources left, try to balance cpu/mem usage)

 * kubelet - captain on each Worker Node 
   * Registers with Master node, reports status and executes
   * Always manual install wget https://storage.googleapis.com/kubernetes-release/release/v1.xx.x/bin/linux/amd64/kubelet
     * Not kubeadm managed.
     * Needs tls bootstrap

 * Kube-proxy - run on each node, service's virtual component
   * All pods can see all other pods, through POD Network, by IP/Name. Exposed through service: eg. db(IP)
   * Watches for service creation, and then configure network e.g. Iptables to forward to actual pod.
   * Install: download wget to install or
      * kubeadm will deploy it as deamon set to each pod in namespace kube-system


 
 * kind: Deployments - Encapsulates ReplicaSet that Encapsulate Pods
   * Can have deployment and replacement policy


 * kind: ResourceQuote
   spec:
    hard:
      cpu: