├── README.md ├── Vagrantfile ├── docs ├── 01-Introduction │ ├── 01-Course-Introduction.md │ └── 02-Certification.md ├── 02-Core-Concepts │ ├── 01-Core-Concepts-Section-Introduction.md │ ├── 02-Cluster-Architecture.md │ ├── 03-ETCD-For-Beginners.md │ ├── 04-ETCD-in-Kubernetes.md │ ├── 05-Kube-API-Server.md │ ├── 06-Kube-Controller-Manager.md │ ├── 07-Kube-Scheduler.md │ ├── 08-Kubelet.md │ ├── 09-Kube-Proxy.md │ ├── 10-Pods.md │ ├── 11-Practice-Test-Introduction.md │ ├── 12-Practice-Test-PODs.md │ ├── 13-ReplicaSets.md │ ├── 14-Practice-Tests-ReplicaSet.md │ ├── 15-Deployments.md │ ├── 16-Practice-Tests-Deployments.md │ ├── 17-Namespaces.md │ ├── 18-Practice-Test-Namespaces.md │ ├── 19-Services.md │ ├── 20-Services-ClusterIP.md │ ├── 21-Practice-Test-Services.md │ ├── 22-Imperative-Commands-with-kubectl.md │ ├── 23-Practice-Test-Imperative-Commands.md │ └── 24-Attachments.md ├── 03-Scheduling │ ├── 01-Scheduling-Section-Introduction.md │ ├── 02-Manual-Scheduling.md │ ├── 03-Practice-Test-Manual-Scheduling.md │ ├── 04-Labels-and-Selectors.md │ ├── 05-Practice-Test-Scheduling.md │ ├── 06-Taints-and-Tolerations.md │ ├── 07-Practice-Test-Taints-and-Tolerations.md │ ├── 08-Node-Selectors.md │ ├── 09-Node-Affinity.md │ ├── 10-Practice-Test-Node-Affinity.md │ ├── 11.Taints-and-Tolerations-vs-Node-Affinity.md │ ├── 12-Resource-Limits.md │ ├── 13-Practice-Test-Resource-Limits.md │ ├── 14-DaemonSets.md │ ├── 15-Practice-Test-DaemonSets.md │ ├── 16-Static-Pods.md │ ├── 17-Practice-Test-StaticPods.md │ ├── 18-Multiple-Schedulers.md │ ├── 19-Practice-Test-Multiple-Schedulers.md │ ├── 20-Configuring-Kubernetes-Schedulers.md │ └── 21-Download-Presentation-Deck.md ├── 04-Logging-and-Monitoring │ ├── 01-Logging-and-Monitoring-Section-Introduction.md │ ├── 02-Monitor-Cluster-Components.md │ ├── 03-Practice-Test-Monitor-Cluster-Components.md │ ├── 04-Managing-Application-Logs.md │ ├── 05-Download-Presentation-Deck.md │ └── 06-Practice-Test-Managing-Application-Logs.md ├── 05-Application-Lifecycle-Management │ ├── 01-Application-Lifecycle-Management--Section-Introduction.md │ ├── 02-RollingUpdates-and-Rollback.md │ ├── 03-Practice-Test-RollingUpdates-Rollback.md │ ├── 04-Commands-and-Arguments-in-Docker.md │ ├── 05-Commands-and-Arguments-in-Kubernetes.md │ ├── 06-Practice-Test-Commands-and-Arguments.md │ ├── 07.Configure-Environment-Variables-in-Applications.md │ ├── 08-Configure-ConfigMaps-in-Applications.md │ ├── 09-Practice-Test-Env-Variables.md │ ├── 10.Secrets.md │ ├── 11.Practice-Test-Secrets.md │ ├── 12.Multi-Containers-PODs.md │ ├── 13-Practice-Test-Multi-Container-Pods.md │ ├── 14-Multi-Container-Pods-Design-Patterns.md │ ├── 15.Init-Containers.md │ ├── 16-Practice-Test-Init-Containers.md │ ├── 17.Self-Healing-Applications.md │ └── 18.Download-Presentation-Deck.md ├── 06-Cluster-Maintenance │ ├── 01-Cluster-Maintenance-Section-Introduction.md │ ├── 02-OS-Upgrades.md │ ├── 03-Practice-Test-OS-Upgrades.md │ ├── 04-Kubernetes-Software-Versions.md │ ├── 05-Cluster-Upgrade-Introduction.md │ ├── 06-Practice-Test-Cluster-Upgrade-Process.md │ ├── 07-Backup-and-Restore-Methods.md │ ├── 08-Working-With-ETCDCTL.md │ ├── 09-Practice-Test-Backup-and-Restore-Methods.md │ └── 10-Download-Presentation-Deck.md ├── 07-Security │ ├── 01-Security-Section-Introduction.md │ ├── 02-Kubernetes-Security-Primitives.md │ ├── 03-Authentication.md │ ├── 04-TLS-Certificates.md │ ├── 05-TLS-Basics.md │ ├── 06-TLS-in-Kubernetes.md │ ├── 07-TLS-in-Kubernetes-Certificate-Creation.md │ ├── 08-View-Certificate-Details.md │ ├── 09-Certificate-Health-Check-Spreadsheet.md │ ├── 10-Practice-Test-View-Certificate-Details.md │ ├── 11-Certificate-API.md │ ├── 12-Practice-Test-Certificates-API.md │ ├── 13-kubeconfig.md │ ├── 14-Practice-Test-KubeConfig.md │ ├── 15-API-Groups.md │ ├── 16-Authorization.md │ ├── 17-RBAC.md │ ├── 18-Practice-Test-RBAC.md │ ├── 19-Cluster-Roles.md │ ├── 20-Practice-Test-Cluster-Roles.md │ ├── 21-Image-Security.md │ ├── 22-Practice-Test-Image-Security.md │ ├── 23-Security-Context.md │ ├── 24-Practice-Test-Security-Context.md │ ├── 25-Network-Policies.md │ ├── 26-Practice-Test-Network-Policies.md │ ├── 27-kubectx-and-kubens-commands.md │ └── 28-Download-Presentation-Deck.md ├── 08-Storage │ ├── 01-Storage-Section-Introduction.md │ ├── 02-Introduction-to-Docker-Storage.md │ ├── 03-Storage-in-Docker.md │ ├── 04-Volume-Driver-Plugins-in-Docker.md │ ├── 05-Container.Storage-Interface.md │ ├── 06-Volumes.md │ ├── 07-Persistent-Volumes.md │ ├── 08-Persistent-Volume-Claims.md │ ├── 09-Using-PVC-in-PODs.md │ ├── 10-Practice-Test-Persistent-Volume-Claims.md │ └── 11-Download-Presentation-Deck.md ├── 09-Networking │ ├── 01-Networking-Introduction.md │ ├── 02-Pre-requisite-Switching-Routing-Gateways.md │ ├── 03-Pre-requisite-DNS.md │ ├── 04-Pre-requisite-CoreDNS.md │ ├── 05-Pre-requisite-Network-Namespace.md │ ├── 06-Pre-requisite-Docker-Networking.md │ ├── 07-Pre-requisite-CNI.md │ ├── 08-Cluster-Networking.md │ ├── 09-Practice-Test-Explore-Env.md │ ├── 10-Pod-Networking.md │ ├── 11-CNI-in-Kubernetes.md │ ├── 12-CNI-weave.md │ ├── 13-Practice-Test-CNI-weave.md │ ├── 14-Practice-Test-Deploy-Network-Solution.md │ ├── 15-ipam-weave.md │ ├── 16-Practice-Test-Networking-weave.md │ ├── 17-Service-Networking.md │ ├── 18-Practice-Test-Service-Networking.md │ ├── 19-DNS-in-kubernetes.md │ ├── 20-CoreDNS-in-Kubernetes.md │ ├── 21-Practice-Test-CoreDNS-in-Kubernetes.md │ ├── 22-Ingress.md │ ├── 23-Ingress-Annotations-and-rewrite-target.md │ ├── 24-Practice-Test-CKA-Ingress-Net-1.md │ ├── 25-Practice-Test-CKA-Ingress-Net-2.md │ └── 26-Dowload-Presentation-Deck.md ├── 10-Install │ ├── 01-Section-Introduction.md │ ├── 02-Designing-a-Kubernetes-Cluster.md │ ├── 03-Choosing-Kuberneter-Infrastructure.md │ ├── 04-Choosing-Network-Solution.md │ ├── 05-Configure-High-Availability.md │ ├── 06-ETCD-in-HA.md │ ├── 07-Demo-Prequisites.md │ ├── 08-Provisioning-VMS.md │ ├── 09-Install-Client-Tools.md │ ├── 10-Secure-Cluster.md │ ├── 11-Create-KubeConfigfiles.md │ ├── 12-Data-Encryption.md │ ├── 13-Kubernetes-Release-Binaries.md │ ├── 14-Install-Control-Plane-Components-Intro.md │ ├── 15-Install-ETCD-Cluster.md │ ├── 16-Install-Control-Plane-Components.md │ ├── 17-Install-Control-Plane-Load-Balancer.md │ ├── 18-Install-Worker-node-componenets.md │ ├── 19-TLS-Bootstrap-worker-node.md │ ├── 20-Demo-TLS-Bootstrap-worker-node.md │ ├── 21-Configure-Kubectl-for-remote-access.md │ ├── 22-Provision-Networking.md │ ├── 23-Kubapi-to-kubelet-connectivity.md │ ├── 24-Deploy-Core-DNS.md │ ├── 25-End-to-End-tests.md │ ├── 26-End-To-End-Tests-Run-and-analyze.md │ ├── 27-Smoke-test.md │ ├── 28-End-to-End-test-part1.md │ ├── 29-Practise-Test-instal-using-kubeadm.md │ ├── 30-Solution-Install-a-K8s-cluster-kubeadm.md │ └── 31-Download-Presentation-Deck.md ├── 11-Troubleshooting │ ├── 01-Troubelshooting-Section-Introduction.md │ ├── 02-Application-Failure.md │ ├── 03-Solution-Application-Failure.md │ ├── 04-Control-Plane-Failure.md │ ├── 05-Practice-Test-Control-Plane-Failure.md │ ├── 06-Solution-Control-Plane-Failure.md │ ├── 07-Worker-Node-Failure.md │ ├── 08-Practice-Test-Worker-Node-Failure.md │ └── 09-Solution-Worker-Node-Failure.md ├── 12-Other-Topics │ ├── 01-Labs-JSON-PATH.md │ ├── 02-Pre-Requisites-JSON-PATH.md │ ├── 03-Advance-Kubectl-Commands.md │ └── 04-Practice-Test-Advance-Kubectl-Commands.md ├── 13-Lightning-Labs │ ├── 01-Lightning-Labs-Introduction.md │ └── 02-Lightning-Lab-1.md └── 14-Mock-Exams │ ├── 01-Introduction.md │ ├── 02-Mock-Exam-1.md │ ├── 03-Mock-Exam-2.md │ ├── 04-CKA-MockExam-2-Solution.md │ ├── 05-Mock-Exam-3.md │ └── 06-CKA-MockExam-3-Solution.md ├── images ├── Readme.md ├── abac.PNG ├── acc1.PNG ├── acc2.PNG ├── acc3.PNG ├── annotations.PNG ├── api1.PNG ├── api10.PNG ├── api2.PNG ├── api3.PNG ├── api4.PNG ├── api5.PNG ├── api6.PNG ├── api7.PNG ├── api8.PNG ├── api9.PNG ├── app.PNG ├── args.PNG ├── at1.PNG ├── auth1.PNG ├── auth2.PNG ├── auth3.PNG ├── auth4.PNG ├── auth5.PNG ├── auth6.PNG ├── bash.PNG ├── bc.PNG ├── be.PNG ├── be1.PNG ├── brc.PNG ├── ca.PNG ├── ca1.PNG ├── ca2.PNG ├── cap.PNG ├── cert.PNG ├── cert1.PNG ├── cert10.PNG ├── cert11.PNG ├── cert2.PNG ├── cert3.PNG ├── cert4.PNG ├── cert5.PNG ├── cert6.PNG ├── cert7.PNG ├── cert8.PNG ├── cert9.PNG ├── certs.PNG ├── cmd.PNG ├── cmd1.PNG ├── cmi.PNG ├── cmp.PNG ├── cmp1.PNG ├── cms.PNG ├── cmv.PNG ├── cp.PNG ├── cp1.PNG ├── cr1.PNG ├── crt1.PNG ├── crt2.PNG ├── crt3.PNG ├── crt4.PNG ├── cs.png ├── cs1.PNG ├── cs2.PNG ├── csd.PNG ├── csec.PNG ├── csi.PNG ├── csr.PNG ├── csr1.PNG ├── csr2.PNG ├── csr3.PNG ├── csr4.PNG ├── das.PNG ├── dask.PNG ├── db.PNG ├── dc.PNG ├── deployment.PNG ├── deployment1.PNG ├── deployment2.PNG ├── dp.PNG ├── drain.PNG ├── ds-uc-kp.PNG ├── ds-uc.PNG ├── ds-ucn.PNG ├── ds.PNG ├── ds1.PNG ├── ds2.PNG ├── dsd.PNG ├── dst.PNG ├── el.PNG ├── enc.PNG ├── entry.PNG ├── entry1.PNG ├── env.PNG ├── er.PNG ├── erest.PNG ├── etc1.PNG ├── etc2.PNG ├── etcd-ha.PNG ├── etcd.PNG ├── etcd1.PNG ├── etcdctl.PNG ├── etcdctl1.PNG ├── ex.PNG ├── hpms.PNG ├── hrd.PNG ├── hrd1.PNG ├── hrd2.PNG ├── hrd3.PNG ├── hrd4.PNG ├── hrd5.PNG ├── hrd6.PNG ├── img1.PNG ├── img2.PNG ├── ing1.PNG ├── ing2.PNG ├── jnode.PNG ├── jpod.PNG ├── k8s-arch.PNG ├── k8s-arch1.PNG ├── ka.PNG ├── kc1.PNG ├── kc10.PNG ├── kc11.PNG ├── kc12.PNG ├── kc2.PNG ├── kc3.PNG ├── kc4.PNG ├── kc5.PNG ├── kc6.PNG ├── kc7.PNG ├── kc8.PNG ├── kc9.PNG ├── kctl1.PNG ├── kctl2.PNG ├── key-value.PNG ├── key-value1.PNG ├── key-value2.PNG ├── key-value3.PNG ├── kgn.PNG ├── kp.PNG ├── ks.PNG ├── ksec.PNG ├── kube-apiserver.PNG ├── kube-apiserver1.PNG ├── kube-apiserver2.PNG ├── kube-apiserver3.PNG ├── kube-apiserver4.PNG ├── kube-controller-manager.PNG ├── kube-controller-manager0.PNG ├── kube-controller-manager1.PNG ├── kube-controller-manager2.PNG ├── kube-controller-manager3.PNG ├── kube-proxy.PNG ├── kube-proxy1.PNG ├── kube-proxy2.PNG ├── kube-scheduler1.PNG ├── kube-scheduler2.PNG ├── kube-scheduler3.PNG ├── kube-scheduler4.PNG ├── kube-scheduler5.PNG ├── kube1.png ├── kubectl.PNG ├── kubelet.PNG ├── kubelet1.PNG ├── kubelet2.PNG ├── kubeu.PNG ├── kubeu1.PNG ├── kubeu2.PNG ├── kubeu3.PNG ├── kublet.PNG ├── la.PNG ├── labels-ckc.PNG ├── labels.PNG ├── lables-animals.PNG ├── lc.PNG ├── lco.PNG ├── ld.PNG ├── ld1.PNG ├── lf.PNG ├── lg.PNG ├── lk.PNG ├── ln.PNG ├── loga.PNG ├── logs-k8s.png ├── logs.PNG ├── logs1.PNG ├── loop.PNG ├── lpod.PNG ├── lrs.PNG ├── lrs1.PNG ├── ls.PNG ├── lse.PNG ├── lt.PNG ├── mcp.PNG ├── mcpc.PNG ├── mem.PNG ├── mmp.PNG ├── mode.PNG ├── mode1.PNG ├── mon.PNG ├── ms.PNG ├── ms1.PNG ├── msg.PNG ├── na.PNG ├── na1.PNG ├── na2.PNG ├── namespace.PNG ├── namespace1.PNG ├── nat.PNG ├── nats.PNG ├── nats1.PNG ├── node-auth.png ├── node-controller.PNG ├── node.PNG ├── note.PNG ├── note1.PNG ├── np.PNG ├── npol.PNG ├── npol1.PNG ├── npol2.PNG ├── npol3.PNG ├── npol4.PNG ├── npolsec.PNG ├── ns-old.PNG ├── ns.PNG ├── ns1.PNG ├── ns10.PNG ├── ns11.PNG ├── ns12.PNG ├── ns13.PNG ├── ns2.PNG ├── ns3.PNG ├── ns4.PNG ├── ns5.PNG ├── ns6.PNG ├── ns7.PNG ├── ns8.PNG ├── ns9.PNG ├── nsec.PNG ├── nsel.PNG ├── nsel1.PNG ├── nsl.PNG ├── opt.PNG ├── os.PNG ├── other-controllers.PNG ├── pki.PNG ├── pod.PNG ├── pod1.PNG ├── pod2.PNG ├── pod3.PNG ├── pod4.PNG ├── post.PNG ├── prvr.PNG ├── prvr1.PNG ├── r1.PNG ├── r2.PNG ├── r3.PNG ├── r4.PNG ├── rb.PNG ├── rbac.PNG ├── rbac1.PNG ├── rbac2.PNG ├── rbac3.PNG ├── rbac4.PNG ├── rbac5.PNG ├── rc.PNG ├── rc1.PNG ├── rc2.PNG ├── rc3.PNG ├── rcd.PNG ├── rcd1.PNG ├── rci.PNG ├── rcrl.PNG ├── ref.PNG ├── relational-dbs.PNG ├── replication-controller.PNG ├── rl.PNG ├── roles.PNG ├── rollc.PNG ├── rollv.PNG ├── rr-pod.PNG ├── rr.PNG ├── rs.PNG ├── rs1.PNG ├── rs2.PNG ├── rsc.PNG ├── rsl.PNG ├── rsl1.PNG ├── rsm.PNG ├── sc1.png ├── sc2.PNG ├── sc3.PNG ├── sec.PNG ├── secd.PNG ├── sech.PNG ├── seck.PNG ├── seco.PNG ├── secp.PNG ├── secpv.PNG ├── secv.PNG ├── sl.PNG ├── sleep.PNG ├── sleep1.PNG ├── sleep2.PNG ├── sort.PNG ├── sp.PNG ├── sp1.PNG ├── sp2.PNG ├── sp3.PNG ├── sp4.PNG ├── sp5.PNG ├── spvsds.PNG ├── srv-types.PNG ├── srv1.PNG ├── srv2.PNG ├── srv3.PNG ├── srv4.PNG ├── srvc1.PNG ├── srvc2.PNG ├── srvc3.PNG ├── srvnp.PNG ├── srvnp1.PNG ├── srvnp2.PNG ├── srvnp3.PNG ├── srvnp4.PNG ├── stg1.PNG ├── stg2.PNG ├── stg3.PNG ├── sum.PNG ├── svc.PNG ├── sxc1.PNG ├── sxc2.PNG ├── tandt.PNG ├── tls.PNG ├── tls1.PNG ├── tn-na.PNG ├── tn-ns.PNG ├── tn-nsa.png ├── tn.PNG ├── tntm.PNG ├── tp.PNG ├── traffic.PNG ├── up.PNG ├── up1.PNG ├── up2.PNG ├── view.PNG ├── web.PNG ├── web1.PNG ├── webhook.PNG └── wrk.PNG └── ubuntu ├── allow-bridge-nf-traffic.sh ├── cert_verify.sh ├── install-docker-2.sh ├── install-docker.sh ├── update-dns.sh └── vagrant ├── install-guest-additions.sh └── setup-hosts.sh /docs/01-Introduction/02-Certification.md: -------------------------------------------------------------------------------- 1 | # Certification 2 | 3 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9814246) 4 | 5 | ## Certification Details 6 | 7 | - **`Certified Kubernetes Administrator`**: https://www.cncf.io/certification/cka/ 8 | 9 | - **`Exam Curriculum (Topics)`**: https://github.com/cncf/curriculum 10 | 11 | - **`Candidate Handbook`**: https://www.cncf.io/certification/candidate-handbook 12 | 13 | - **`Exam Tips`**: http://training.linuxfoundation.org/go//Important-Tips-CKA-CKAD 14 | 15 | #### Use the code - KUBERNETES15 - while registering for the CKA or CKAD exams at Linux Foundation to get a 15% discount. 16 | 17 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/01-Core-Concepts-Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Core Concepts Section Introduction 2 | 3 | - Take me to the [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808147) 4 | 5 | In this section, we will take a look at the below 6 | - Cluster Architecture 7 | - API Primitives 8 | - Services & Other Network Primitives 9 | 10 | k8s reference docs: 11 | - https://kubernetes.io/docs/concepts/overview/kubernetes-api/ 12 | - https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/ 13 | - https://kubernetes.io/docs/concepts/architecture/ 14 | - https://kubernetes.io/docs/concepts/overview/components/ 15 | - https://kubernetes.io/docs/concepts/services-networking/ 16 | 17 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/02-Cluster-Architecture.md: -------------------------------------------------------------------------------- 1 | # Cluster Architecture 2 | 3 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808145) 4 | 5 | In this section , we will take a look at the kubernetes Architecture at high level. 6 | - 10,000 Feet Look at the Kubernetes Architecture 7 | 8 | ![Kubernetes Architecture](../../images/k8s-arch.PNG) 9 | 10 | ![Kubernetes Architecture 1](../../images/k8s-arch1.PNG) 11 | 12 | K8s Reference Docs: 13 | - https://kubernetes.io/docs/concepts/architecture/ 14 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/08-Kubelet.md: -------------------------------------------------------------------------------- 1 | # Kubelet 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808158) 3 | 4 | In this section we will take a look at kubelet. 5 | 6 | #### Kubelet is the sole point of contact for the kubernetes cluster 7 | - The kube-scheduler is only responsible for deciding which pod goes on which node. It doesn't actually place the pod on the nodes, thats the job of the **`kubelet`**. 8 | - The **`kubelet`** will create the pods on the nodes, the scheduler only decides which pods goes where. 9 | - The kubelet create or delete the pods on the nodes as instructred by scheduler on the master. 10 | - The kubelet in the kubernetes worker node, registers the node with the kubernetes cluster. 11 | 12 | ![kubelet](../../images/kubelet.PNG) 13 | 14 | ## Install kubelet 15 | - Kubeadm does not deploy kubelet by default. You must manually download and install it. 16 | - Download the kubelet binary from the kubernetes release pages [kubelet](https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kubelet). For example: To download kubelet v1.13.0, Run the below command. 17 | ``` 18 | $ wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kubelet 19 | ``` 20 | - Extract it 21 | - Run it as a service 22 | 23 | ![kubelet1](../../images/kubelet1.PNG) 24 | 25 | ## View kubelet options 26 | - You can also see the running process and affective options by listing the process on worker node and searching for kubelet. 27 | ``` 28 | $ ps -aux |grep kubelet 29 | ``` 30 | 31 | ![kubelet2](../../images/kubelet2.PNG) 32 | 33 | K8s Reference Docs: 34 | - https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ 35 | - https://kubernetes.io/docs/concepts/overview/components/ 36 | - https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/kubelet-integration/ 37 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/09-Kube-Proxy.md: -------------------------------------------------------------------------------- 1 | # Kube Proxy 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808167) 3 | 4 | In this section, we will take a look at kube-proxy. 5 | 6 | Within Kubernetes Cluster, every pod can reach every other pod, this is accomplish by deploying a pod networking cluster to the cluster. 7 | - Kube-Proxy is a process that runs on each node in the kubernetes cluster. 8 | - The job of the kube-proxy is to look for new services and everytime a new service is created it creates the appropriate rules on each node to forward traffic to those services to the backend pods. 9 | - One way it does is through **`IPTABLES`** rules. 10 | 11 | ![kube-proxy](../../images/kube-proxy.PNG) 12 | 13 | ## Install kube-proxy - Manual 14 | - Download the kube-proxy binary from the kubernetes release pages [kube-proxy](https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-proxy). For example: To download kube-proxy v1.13.0, Run the below command. 15 | ``` 16 | $ wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kube-proxy 17 | ``` 18 | - Extract it 19 | - Run it as a service 20 | 21 | ![kube-proxy1](../../images/kube-proxy1.PNG) 22 | 23 | ## View kube-proxy options - kubeadm 24 | - If you set it up with kubeadm tool, kubeadm tool will deploy the kube-proxy as pod in kube-system namespace. In fact it is deployed as a daemonset on master node. 25 | ``` 26 | $ kubectl get pods -n kube-system 27 | ``` 28 | ![kube-proxy2](../../images/kube-proxy2.PNG) 29 | 30 | 31 | K8s Reference Docs: 32 | - https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ 33 | - https://kubernetes.io/docs/concepts/overview/components/ 34 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/10-Pods.md: -------------------------------------------------------------------------------- 1 | # Pods 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808169) 3 | 4 | In this section, we will take a look at PODS. 5 | - POD introduction 6 | - How to deploy pod? 7 | 8 | #### Kubernetes doesn't deploy containers directly on the worker node. 9 | - The containers are encapsulated into a kubernetes objects called **`POD`**. 10 | - A POD is a single instance of an application. 11 | - A POD is the smallest object that you can create in kubernetes 12 | 13 | ![pod](../../images/pod.PNG) 14 | 15 | #### Here is a single node kubernetes cluster with single instance of your application running in a single docker container encapsulated in the pod. 16 | 17 | ![pod1](../../images/pod1.PNG) 18 | 19 | #### Pod will have a one-to-one relationship with containers running your application. 20 | - To scale up, you create a pod and to scale down, you delete a pod. 21 | - You do not add additional containers to an existing POD to scale your application. 22 | 23 | ![pod2](../../images/pod2.PNG) 24 | 25 | ## Multi-Container PODs 26 | - A single pod can have multiple containers except for the fact that they are usually not multiple containers of the **`same kind`**. 27 | - Sometimes you might have a scenario where a helper containers that might be doing some kind of supporting tasks for a web application such as processing a user entered data, processing a file uploaded by the user etc. and you want these **`helper containers`** to live along side your application container. In that case you can have both of these containers part of the same POD. 28 | 29 | ![pod3](../../images/pod3.PNG) 30 | 31 | ## Docker Example (Docker Link) 32 | 33 | ![pod4](../../images/pod4.PNG) 34 | 35 | ## How to deploy pods? 36 | Lets now take a look to create a nginx pod using **`kubectl`**. 37 | 38 | - To deploy a docker container by creating a POD. 39 | ``` 40 | $ kubectl run nginx --image nginx 41 | ``` 42 | 43 | - To get the list of pods 44 | ``` 45 | $ kubectl get pods 46 | ``` 47 | 48 | ![kubectl](../../images/kubectl.PNG) 49 | 50 | K8s Reference Docs: 51 | - https://kubernetes.io/docs/concepts/workloads/pods/pod/ 52 | - https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/ 53 | - https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/ 54 | 55 | 56 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/11-Practice-Test-Introduction.md: -------------------------------------------------------------------------------- 1 | # Practice Test Introduction 2 | 3 | In this section, we will take a look at practice test demo. 4 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808164) 5 | 6 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/18-Practice-Test-Namespaces.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Namespaces 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816576) 3 | 4 | Solutions to practice test for namespaces 5 | 6 | 1. Run the command **`kubectl get namespace`** and count the number of pods. 7 | 8 |
9 | 10 | ``` 11 | $ kubectl get namespace 12 | ``` 13 |
14 | 15 | 1. Run the command **`kubectl get pods --namespace=research`** 16 | 17 |
18 | 19 | ``` 20 | $ kubectl get pods --namespace=research 21 | ``` 22 |
23 | 24 | 1. Run the below command 25 | 26 |
27 | 28 | ``` 29 | $ kubectl run redis --image=redis --namespace=finance 30 | ``` 31 |
32 | 33 | 1. Run the command **`kubectl get pods --all-namespaces`** 34 | 35 |
36 | 37 | ``` 38 | $ kubectl get pods --all-namespaces 39 | ``` 40 |
41 | 42 | 1. Connectivity Test 43 | 44 |
45 | 46 | ``` 47 | Host Name: db-service and Host Port: 3306 48 | ``` 49 |
50 | 51 | 1. Connectivity Test 52 | 53 |
54 | 55 | ``` 56 | Host Name: db-service.dev.svc.cluster.local and Host Port: 3306 57 | ``` 58 |
59 | 60 | 61 | #### Take me to [Practice Test Solutions](https://kodekloud.com/courses/539883/lectures/16416900) 62 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/20-Services-ClusterIP.md: -------------------------------------------------------------------------------- 1 | # Kubernetes Services - ClusterIP 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808157) 3 | 4 | In this section we will take a look at **`services - ClusterIP`** in kubernetes 5 | 6 | ## ClusterIP 7 | - In this case the service creates a **`Virtual IP`** inside the cluster to enable communication between different services such as a set of frontend servers to a set of backend servers. 8 | - A full stack web application typically has different kinds of pods hosting different parts of an application. You may have number of pods running a **`frontend`** web servers, another set of pods running a **`backend`** server and a set of pods running a key-value store like **`redis`** etc. 9 | - The web frontend servers needs to communicate with the backend servers need to communicate with the databases, redis servers etc. 10 | 11 | ![srvc1](../../images/srvc1.PNG) 12 | 13 | #### What is a right way to establish connectivity between these services or tiers 14 | - A kubernetes service can help us group the pods together and provide a single interface to access the pod in a group. 15 | 16 | ![srvc2](../../images/srvc2.PNG) 17 | 18 | #### To create a service of type ClusterIP 19 | ``` 20 | apiVersion: v1 21 | kind: Service 22 | metadata: 23 | name: back-end 24 | spec: 25 | types: ClusterIP 26 | ports: 27 | - targetPort: 80 28 | port: 80 29 | selector: 30 | app: myapp 31 | type: back-end 32 | ``` 33 | ``` 34 | $ kubectl create -f service-defination.yaml 35 | ``` 36 | 37 | #### To list the services 38 | ``` 39 | $ kubectl get services 40 | ``` 41 | ![srvc3](../../images/srvc3.PNG) 42 | 43 | K8s Reference Docs: 44 | - https://kubernetes.io/docs/concepts/services-networking/service/ 45 | - https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/ 46 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/21-Practice-Test-Services.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Services 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816583) 3 | 4 | #### Solutions to Practice test - Services 5 | 6 | - Run the command **`kubectl get services`** and count the number of services. 7 | 8 |
9 | 10 | ``` 11 | $ kubectl get services 12 | ``` 13 |
14 | 15 | - Run the command **`kubectl get services`** and look at the Type column 16 | 17 |
18 | 19 | ``` 20 | $ kubectl get services 21 | ``` 22 |
23 | 24 | - Run the command **`kubectl describe service`** and look at TargetPort. 25 | 26 |
27 | 28 | ``` 29 | $ kubectl describe service|grep TargetPort 30 | ``` 31 |
32 | 33 | - Run the command **`kubectl describe service`** and look at Labels 34 | 35 |
36 | 37 | ``` 38 | $ kubectl describe service 39 | ``` 40 |
41 | 42 | - Run the command **`kubectl describe service`** and look at Endpoints 43 | 44 |
45 | 46 | ``` 47 | $ kubectl describe service 48 | ``` 49 |
50 | 51 | - Run the command **`kubectl get deployment`** and count the number of pods. 52 | 53 |
54 | 55 | ``` 56 | $ kubectl get deployment 57 | ``` 58 |
59 | 60 | - Run the command **`kubectl describe deployment`** and look under the containers section. 61 | 62 |
63 | 64 | ``` 65 | $ kubectl describe deployment 66 | ``` 67 |
68 | 69 | - Try to access the Web Application UI using the tab simple-webapp-ui above the terminal. 70 | 71 | - Update the given values in the service definition file and create the service. 72 | 73 |
74 | 75 | ``` 76 | $ kubectl create -f service-defination-1.yaml 77 | ``` 78 |
79 | 80 | 81 | #### Take me to [Practice Test - Solutions](https://kodekloud.com/courses/539883/lectures/16603611) 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/22-Imperative-Commands-with-kubectl.md: -------------------------------------------------------------------------------- 1 | # Certification Tips - Imperative Commands with kubectl 2 | - Take me to the [Tutorial](https://kodekloud.com/courses/539883/lectures/10503265) 3 | 4 | -------------------------------------------------------------------------------- /docs/02-Core-Concepts/24-Attachments.md: -------------------------------------------------------------------------------- 1 | # KodeKloud - CKA Course Documents 2 | - Take me to the [Tutorials](https://kodekloud.com/courses/539883/lectures/12356372) 3 | 4 | -------------------------------------------------------------------------------- /docs/03-Scheduling/01-Scheduling-Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Scheduling Section Introduction 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9815300) 3 | -------------------------------------------------------------------------------- /docs/03-Scheduling/03-Practice-Test-Manual-Scheduling.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Manual Scheduling 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816587) 3 | 4 | Solutions to Practice Test - Manual Scheduling 5 | 6 | - Run, **`kubectl create -f nginx.yaml`** 7 | 8 |
9 | 10 | ``` 11 | $ kubectl create -f nginx.yaml 12 | ``` 13 |
14 | 15 | - Run the command 'kubectl get pods' and check the status column 16 | 17 |
18 | 19 | ``` 20 | $ kubectl get pods 21 | ``` 22 |
23 | 24 | - Run the command 'kubectl get pods --namespace kube-system' 25 | 26 |
27 | 28 | ``` 29 | $ kubectl get pods --namespace kube-system 30 | ``` 31 |
32 | 33 | - Set **`nodeName`** property on the pod to node01 node 34 | 35 |
36 | 37 | ``` 38 | $ vi nginx.yaml 39 | $ kubectl delete -f nginx.yaml 40 | $ kubectl create -f nginx.yaml 41 | ``` 42 |
43 | 44 | - Set **`nodeName`** property on the pod to master node 45 | 46 |
47 | 48 | ``` 49 | $ vi nginx.yaml 50 | $ kubectl delete -f nginx.yaml 51 | $ kubectl create -f nginx.yaml 52 | ``` 53 |
54 | 55 | 56 | #### Take me to [Practice Test - Solutions](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/16603715) 57 | 58 | -------------------------------------------------------------------------------- /docs/03-Scheduling/05-Practice-Test-Scheduling.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Scheduling 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9816589) 3 | 4 | Solutions to Practice Test - Scheduling 5 | - Run the command 'kubectl get pods --selector env=dev' 6 | 7 |
8 | 9 | ``` 10 | $ kubectl get pods --selector env=dev 11 | ``` 12 |
13 | 14 | - Run the command 'kubectl get pods --selector bu=finance' 15 | 16 |
17 | 18 | ``` 19 | $ kubectl get pods --selector bu=finance 20 | ``` 21 |
22 | 23 | - Run the command 'kubectl get all --selector env=prod' 24 | 25 |
26 | 27 | ``` 28 | $ kubectl get all --selector env=prod 29 | ``` 30 |
31 | 32 | - Run the command 'kubectl get all --selector env=prod,bu=finance,tier=frontend' 33 | 34 |
35 | 36 | ``` 37 | $ kubectl get all --selector env=prod,bu=finance,tier=frontend 38 | ``` 39 |
40 | 41 | - Set the labels on the pod definition template to frontend 42 | 43 |
44 | 45 | ``` 46 | $ vi replicaset-defination.yaml 47 | $ kubectl create -f replicaset-defination.yaml 48 | ``` 49 |
50 | 51 | 52 | #### Take to [Practice Test - Scheduling](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13290011) 53 | -------------------------------------------------------------------------------- /docs/03-Scheduling/08-Node-Selectors.md: -------------------------------------------------------------------------------- 1 | # Node Selectors 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/10277935) 3 | 4 | In this section, we will take a look at Node Selectors in Kubernetes 5 | 6 | #### We add new property called Node Selector to the spec section and specify the label. 7 | - The scheduler uses these labels to match and identify the right node to place the pods on. 8 | ``` 9 | apiVersion: v1 10 | kind: Pod 11 | metadata: 12 | name: myapp-pod 13 | spec: 14 | containers: 15 | - name: data-processor 16 | image: data-processor 17 | nodeSelector: 18 | size: Large 19 | ``` 20 | ![nsel](../../images/nsel.PNG) 21 | 22 | - To label nodes 23 | 24 | Syntax 25 | ``` 26 | $ kubectl label nodes = 27 | ``` 28 | Example 29 | ``` 30 | $ kubectl label nodes node-1 size=Large 31 | ``` 32 | 33 | ![ln](../../images/ln.PNG) 34 | 35 | - To create a pod defination 36 | ``` 37 | apiVersion: v1 38 | kind: Pod 39 | metadata: 40 | name: myapp-pod 41 | spec: 42 | containers: 43 | - name: data-processor 44 | image: data-processor 45 | nodeSelector: 46 | size: Large 47 | ``` 48 | ``` 49 | $ kubectl create -f pod-defination.yml 50 | ``` 51 | 52 | ![nsel](../../images/nsel.PNG) 53 | 54 | ## Node Selector - Limitations 55 | - We used a single label and selector to achieve our goal here. But what if our requirement is much more complex. 56 | 57 | ![nsl](../../images/nsl.PNG) 58 | 59 | - For this we have **`Node Affinity and Anti Affinity`** 60 | 61 | #### K8s Reference Docs 62 | - https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /docs/03-Scheduling/11.Taints-and-Tolerations-vs-Node-Affinity.md: -------------------------------------------------------------------------------- 1 | # Taints and Tolerations vs Node Affinity 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/10277937) 3 | 4 | In this section, we will take a look at Taints and Tolerations vs Node Affinity 5 | - Taints and Toleration does not gurantee that the pods will only prefer these nodes, in this case, the red nodes may ends up on one of the other nodes that do not have a taint or toleration set. 6 | 7 | ![tn-na](../../images/tn-na.PNG) 8 | 9 | - Let us try to solve the same problem with node affinity. With node affinity, we first label the nodes, in this case with respective colors and we then set node selectors on the pods to tie the pods to the nodes. As such the pods end up on the right nodes. However, that does not guarantee that other pods are not placed on these nodes. In this case, there is a chance that one of the other pods may end up on our nodes. 10 | 11 | ![tn-ns](../../images/tn-ns.PNG) 12 | 13 | - As such, a combination of taints and tolerations and node affinity rules can be used together to completely dedicate nodes for specific parts. We first use taints and tolerations to prevent other pods from being placed on our nodes and then we use node affinity to prevent our pods from being placed on thier nodes 14 | 15 | ![tn-nsa](../../images/tn-nsa.png) 16 | 17 | 18 | #### K8s Reference Docs: 19 | - https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ 20 | - https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/ 21 | -------------------------------------------------------------------------------- /docs/03-Scheduling/13-Practice-Test-Resource-Limits.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Resource Limits 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816593) 3 | 4 | Solutions to practice test - resource limtis 5 | - Run the command 'kubectl describe pod rabbit' and inspect requests. 6 | 7 |
8 | 9 | ``` 10 | $ kubectl describe pod rabbit 11 | ``` 12 |
13 | 14 | - Run the command 'kubectl delete pod rabbit'. 15 | 16 |
17 | 18 | ``` 19 | $ kubectl delete pod rabbit 20 | ``` 21 |
22 | 23 | - Run the command 'kubectl get pods' and inspect the status of the pod elephant 24 | 25 |
26 | 27 | ``` 28 | $ kubectl get pods 29 | ``` 30 |
31 | 32 | - The status 'OOMKilled' indicates that the pod ran out of memory. Identify the memory limit set on the POD. 33 | 34 | - Generate a template of the existing pod. 35 | 36 |
37 | 38 | ``` 39 | $ kubectl get pods elephant -o yaml > elephant.yaml 40 | ``` 41 |
42 | 43 | Update the elephant.yaml pod defination with the resource memory limits to 20Mi 44 | 45 |
46 | 47 | ``` 48 | resources: 49 | limits: 50 | memory: 20Mi 51 | --- 52 |
53 | 54 | Delete the pod and recreate it. 55 | 56 |
57 | 58 | ``` 59 | $ kubectl delete pod elephant 60 | $ kubectl create -f elephant.yaml 61 | ``` 62 |
63 | 64 | - Inspect the status of POD. Make sure it's running 65 | 66 |
67 | 68 | ``` 69 | $ kubectl get pods 70 | ``` 71 |
72 | 73 | - Run the command 'kubectl delete pod elephant'. 74 | 75 |
76 | 77 | ``` 78 | $ kubectl delete pod elephant 79 | ``` 80 |
81 | 82 | #### Take me to [Practice Test - Solutions](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13290014) 83 | -------------------------------------------------------------------------------- /docs/03-Scheduling/18-Multiple-Schedulers.md: -------------------------------------------------------------------------------- 1 | # Multiple Schedulers 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9815299) 3 | 4 | In this section, we will take a look at multiple schedulers 5 | 6 | ## Custom Schedulers 7 | - You can write your own kubernets scheduler program, package it and deploy it as the default scheduler or as an additional scheduler in the kubernetes cluster. 8 | - You kubernetes cluster can schedule multiple schedulers at the same time. 9 | 10 | ![ms](../../images/ms.PNG) 11 | 12 | ## Deploy additional scheduler 13 | - Download the binary 14 | ``` 15 | $ wget https://storage.googleapis.com/kubernetes-release/release/v1.12.0/bin/linux/amd64/kube-scheduler 16 | ``` 17 | ![das](../../images/das.PNG) 18 | 19 | ## Deploy additional scheduler - kubeadm 20 | 21 | ![dask](../../images/dask.PNG) 22 | 23 | - To create a scheduler pod 24 | ``` 25 | $ kubectl create -f my-custom-scheduler.yaml 26 | ``` 27 | 28 | ## View Schedulers 29 | - To list the scheduler pods 30 | ``` 31 | $ kubectl get pods -n kube-system 32 | ``` 33 | 34 | ## Use the Custom Scheduler 35 | - Create a pod defination file and add new section called **`schedulerName`** and specify the name of the new scheduler 36 | ``` 37 | apiVersion: v1 38 | kind: Pod 39 | metadata: 40 | name: nginx 41 | spec: 42 | containers: 43 | - image: nginx 44 | name: nginx 45 | schedulerName: my-custom-scheduler 46 | ``` 47 | ![cs](../../images/cs.png) 48 | 49 | - To create a pod definaton 50 | ``` 51 | $ kubectl create -f pod-defination.yaml 52 | ``` 53 | - To list pods 54 | ``` 55 | $ kubectl get pods 56 | ``` 57 | 58 | ## View Events 59 | - To view events 60 | ``` 61 | $ kubectl get events 62 | ``` 63 | ![cs1](../../images/cs1.PNG) 64 | 65 | ## View Scheduler Logs 66 | - To view scheduler logs 67 | ``` 68 | $ kubectl logs my-custom-scheduler -n kube-system 69 | ``` 70 | ![cs2](../../images/cs2.PNG) 71 | 72 | #### K8s Reference Docs 73 | - https://kubernetes.io/docs/tasks/extend-kubernetes/configure-multiple-schedulers/ 74 | 75 | -------------------------------------------------------------------------------- /docs/03-Scheduling/19-Practice-Test-Multiple-Schedulers.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Multiple Schedulers 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816597) 3 | 4 | Solutions to practice test - multiple schedulers 5 | - Run the command 'kubectl get pods --namespace=kube-system' 6 | 7 |
8 | 9 | ``` 10 | $ kubectl get pods --namespace=kube-system 11 | ``` 12 |
13 | 14 | - Run the command 'kubectl describe pod kube-scheduler-master --namespace=kube-system' 15 | 16 |
17 | 18 | ``` 19 | $ kubectl describe pod kube-scheduler-master --namespace=kube-system 20 | ``` 21 |
22 | 23 | - Use the file at /etc/kubernetes/manifests/kube-scheduler.yaml to create your own scheduler. View answer file at /var/answers 24 | 25 |
26 | 27 | ``` 28 | $ kubectl create -f my-scheduler.yaml 29 | ``` 30 |
31 | 32 | - Set schedulerName property on pod specification to the name of the new scheduler. File is located at /root/nginx-pod.yaml 33 | 34 |
35 | 36 | ``` 37 | master $ grep schedulerName /root/nginx-pod.yaml 38 | schedulerName: my-scheduler 39 | 40 | $ kubectl create -f /root/nginx-pod.yaml 41 | ``` 42 |
43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /docs/03-Scheduling/20-Configuring-Kubernetes-Schedulers.md: -------------------------------------------------------------------------------- 1 | # Configuring Kubernetes Schedulers 2 | - Take me to [video Tutorial](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9815301) 3 | 4 | In this section, we will take a look at configuring kubernetes schedulers. 5 | 6 | ![ks](../../images/ks.PNG) 7 | 8 | ## References 9 | - https://github.com/kubernetes/community/blob/master/contributors/devel/sig-scheduling/scheduler.md 10 | - https://kubernetes.io/blog/2017/03/advanced-scheduling-in-kubernetes/ 11 | - https://jvns.ca/blog/2017/07/27/how-does-the-kubernetes-scheduler-work/ 12 | - https://stackoverflow.com/questions/28857993/how-does-kubernetes-scheduler-work 13 | 14 | -------------------------------------------------------------------------------- /docs/03-Scheduling/21-Download-Presentation-Deck.md: -------------------------------------------------------------------------------- 1 | # Download Presentation Deck 2 | - Take me to [Presentation Deck](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/16024153) 3 | -------------------------------------------------------------------------------- /docs/04-Logging-and-Monitoring/01-Logging-and-Monitoring-Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Logging and Monitoring Section Introduction 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808185) 3 | 4 | In this section, we will take a look at the below 5 | - Monitor Cluster Components 6 | - Monitor Applications 7 | - Monitor Cluster Components Logs 8 | - Application Logs 9 | -------------------------------------------------------------------------------- /docs/04-Logging-and-Monitoring/03-Practice-Test-Monitor-Cluster-Components.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Monitor Cluster Components 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816628) 3 | 4 | Solutions to practice test - monitor cluster components 5 | - We have deployed a few PODs running workloads. Inspect it. 6 | 7 |
8 | 9 | ``` 10 | $ kubectl get pods 11 | ``` 12 |
13 | 14 | - Let us deploy metrics-server to monitor the PODs and Nodes. Pull the git repository for the deployment files. 15 | 16 |
17 | 18 | ``` 19 | $ git clone https://github.com/kodekloudhub/kubernetes-metrics-server.git 20 | ``` 21 |
22 | 23 | - Run the 'kubectl create -f .' command from within the downloaded repository. 24 | 25 |
26 | ``` 27 | $ cd kubernetes-metrics-server 28 | $ kubectl create -f . 29 | ``` 30 |
31 | 32 | - Run the 'kubectl top node' command and wait for a valid output. 33 | 34 |
35 | ``` 36 | $ kubectl top node 37 | ``` 38 |
39 | 40 | - Run the 'kubectl top node' command 41 | 42 |
43 | ``` 44 | $ kubectl top node 45 | ``` 46 |
47 | 48 | - Run the 'kubectl top node' command 49 | 50 |
51 | ``` 52 | $ kubectl top node 53 | ``` 54 |
55 | 56 | - Run the 'kubectl top pod' command 57 | 58 |
59 | ``` 60 | $ kubectl top pod 61 | ``` 62 |
63 | 64 | - Run the 'kubectl top pod' command 65 | 66 |
67 | ``` 68 | $ kubectl top pod 69 | ``` 70 |
71 | 72 | #### Take me to [Practice Test - Solutions](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13290102) 73 | -------------------------------------------------------------------------------- /docs/04-Logging-and-Monitoring/04-Managing-Application-Logs.md: -------------------------------------------------------------------------------- 1 | # Managing Application Logs 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808184) 3 | 4 | In this section, we will take a look at managing application logs 5 | 6 | #### Let us start with logging in docker 7 | 8 | ![ld](../../images/ld.PNG) 9 | 10 | ![ld1](../../images/ld1.PNG) 11 | 12 | #### Logs - Kubernetes 13 | ``` 14 | apiVersion: v1 15 | kind: Pod 16 | metadata: 17 | name: event-simulator-pod 18 | spec: 19 | containers: 20 | - name: event-simulator 21 | image: kodekloud/event-simulator 22 | ``` 23 | ![logs-k8s](../../images/logs-k8s.png) 24 | 25 | - To view the logs 26 | ``` 27 | $ kubectl logs -f event-simulator-pod 28 | ``` 29 | - If there are multiple containers in a pod then you must specify the name of the container explicitly in the command. 30 | ``` 31 | $ kubectl logs -f 32 | $ kubeclt logs -f even-simulator-pod event-simulator 33 | ``` 34 | 35 | ![logs1](../../images/logs1.PNG) 36 | 37 | #### K8s Reference Docs 38 | - https://kubernetes.io/blog/2015/06/cluster-level-logging-with-kubernetes/ 39 | 40 | -------------------------------------------------------------------------------- /docs/04-Logging-and-Monitoring/05-Download-Presentation-Deck.md: -------------------------------------------------------------------------------- 1 | # Download Presentation Deck 2 | - Take me to [Presentation Deck](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/16024220) 3 | -------------------------------------------------------------------------------- /docs/04-Logging-and-Monitoring/06-Practice-Test-Managing-Application-Logs.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Managing Application Logs 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816636) 3 | 4 | Solutions to practice test - managing application logs 5 | - We have deployed a POD hosting an application. Inspect it. Wait for it to start. 6 | 7 |
8 | ``` 9 | $ kubectl get pods 10 | ``` 11 |
12 | 13 | - Inspect the logs of the POD 14 | 15 |
16 | ``` 17 | $ kubectl logs webapp-1 18 | ``` 19 |
20 | 21 | - We have deployed a new POD - 'webapp-2' - hosting an application. Inspect it. Wait for it to start. 22 | 23 |
24 | ``` 25 | $ kubectl get pods 26 | ``` 27 |
28 | 29 | - Inspect the logs of the webapp in the POD 30 | 31 |
32 | ``` 33 | $ kubectl logs webapp-2 34 | ``` 35 |
36 | 37 | 38 | 39 | #### Take me to [Practice Test - Solutions](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13291091) 40 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/01-Application-Lifecycle-Management--Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Application Lifecycle Management Section Introduction 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808200) 3 | 4 | In this section, we will take a look at application lifecycle management 5 | - Rolling Updates and Rollbacks in Deployments 6 | - Configure Applications 7 | - Scale Applications 8 | - Self-Healing Application 9 | 10 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/05-Commands-and-Arguments-in-Kubernetes.md: -------------------------------------------------------------------------------- 1 | # Commands and Arguments in Kubernetes 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808202) 3 | 4 | In this section, we will take a look at commands and arguments in kubernetes 5 | 6 | - Anything that is appended to the docker run command will go into the **`args`** property of the pod defination file in the form of an array. 7 | - The command field corresponds to the entrypoint instruction in the Dockerfile so to summarize there are 2 fields that correspond to 2 instructions in the Dockerfile. 8 | ``` 9 | apiVersion: v1 10 | kind: Pod 11 | metadata: 12 | name: ubuntu-sleeper-pod 13 | spec: 14 | containers: 15 | - name: ubuntu-sleeper 16 | image: ubuntu-sleeper 17 | command: ["sleep2.0"] 18 | args: ["10"] 19 | ``` 20 | ![args](../../images/args.PNG) 21 | 22 | #### K8s Reference Docs 23 | - https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/ 24 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/06-Practice-Test-Commands-and-Arguments.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Commands and Arguments 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816639) 3 | 4 | Solutions to practice test - commands and arguments 5 | - Run the command 'kubectl get pods' and count the number of pods. 6 | 7 |
8 | 9 | ``` 10 | $ kubectl get pods 11 | ``` 12 |
13 | 14 | - Run the command 'kubectl describe pod' and look for command option 15 | 16 |
17 | 18 | ``` 19 | $ kubectl describe pod 20 | ``` 21 |
22 | 23 | - Set the command option to ['sleep', '5000']. Answer file at: /var/answers/answer-ubuntu-sleeper-2.yaml 24 | 25 | - Both sleep and 1200 should be defined as a string. Answer file at: /var/answers/answer-ubuntu-sleeper-3.yaml 26 | 27 | - Answer file at: /var/answers/answer-ubuntu-sleeper-3-2.yaml 28 | 29 | - Inspect the file 'Dockerfile' given at /root/webapp-color. What command is run at container startup? 30 | 31 |
32 | 33 | ``` 34 | python app.py 35 | ``` 36 |
37 | 38 | - Inspect the file 'Dockerfile2' given at /root/webapp-color. What command is run at container startup? 39 | 40 |
41 | ``` 42 | python app.py --color red 43 | ``` 44 |
45 | 46 | - The 'command' (entrypoint) is overridden in the pod definition. So the answer is --color green 47 | 48 | - Inspect the two files under directory 'webapp-color-3'. What command is run at container startup? 49 | 50 |
51 | 52 | ``` 53 | python app.py --color pink 54 | ``` 55 |
56 | 57 | - Answer file located at /var/answers/answer-webapp-color-green.yaml 58 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/07.Configure-Environment-Variables-in-Applications.md: -------------------------------------------------------------------------------- 1 | # Configure Environment Variables In Applications 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/10589125) 3 | 4 | #### ENV variables in Docker 5 | ``` 6 | $ docker run -e APP_COLOR=pink simple-webapp-color 7 | ``` 8 | 9 | #### ENV variables in kubernetes 10 | - To set an environment variable set an **`env`** property in pod defination file. 11 | 12 | ``` 13 | apiVersion: v1 14 | kind: Pod 15 | metadata: 16 | name: simple-webapp-color 17 | spec: 18 | containers: 19 | - name: simple-webapp-color 20 | image: simple-webapp-color 21 | ports: 22 | - containerPort: 8080 23 | env: 24 | - name: APP_COLOR 25 | value: pink 26 | ``` 27 | ![env](../../images/env.PNG) 28 | 29 | - There are other ways of setting the environment variables such as **`ConfigMaps`** and **`Secrets`** 30 | 31 | ![cms](../../images/cms.PNG) 32 | 33 | #### K8s Reference Docs 34 | - https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ 35 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/11.Practice-Test-Secrets.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Secrets 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816645) 3 | 4 | Solutions for pracice test - Secrets 5 | - Run the command 'kubectl get secrets' and count the number of pods. 6 | 7 |
8 | ``` 9 | $ kubectl get secrets 10 | ``` 11 |
12 | 13 | - Run the command 'kubectl get secrets' and look at the DATA field 14 | 15 |
16 | ``` 17 | $ kubectl get secrets 18 | ``` 19 |
20 | 21 | - Run the command 'kubectl describe secret' 22 | 23 |
24 | ``` 25 | $ kubectl describe secret 26 | ``` 27 |
28 | 29 | - Run the command 'kubectl describe secret' 30 | 31 |
32 | ``` 33 | $ kubectl describe secret 34 | ``` 35 |
36 | 37 | - We have already deployed the required pods and services. Check out the pods and services created. Check out the web application using the 'Webapp MySQL' link above your terminal, next to the Quiz Portal Link. 38 | 39 | - Run command kubectl create secret generic db-secret --from-literal=DB_Host=sql01 --from-literal=DBUser=root --from-literal=DB_Password=password123 40 | 41 |
42 | ``` 43 | $ kubectl create secret generic db-secret --from-literal=DB_Host=sql01 --from-literal=DB_User=root --from-literal=DB_Password=password123 44 | ``` 45 |
46 | 47 | - Check Answer at /var/answers/answer-webapp.yaml 48 | 49 |
50 | ``` 51 | $ kubectl get pod webapp-pod -o yaml > web.yaml 52 | $ kubectl delete pod webapp-pod 53 | ``` 54 |
55 | 56 | Update web.yaml with secret section 57 | 58 | envFrom: 59 | - secretRef: 60 | name: db-secret 61 | 62 |
63 | ``` 64 | $ kubectl create -f web.yaml 65 | ``` 66 |
67 | 68 | - View the web application to verify it can successfully connect to the database 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/12.Multi-Containers-PODs.md: -------------------------------------------------------------------------------- 1 | # Multi-Container Pods 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/10589155) 3 | 4 | In this section, we will take a look at multi-container pods 5 | 6 | ## Monolith and Microservices 7 | - The idea of decoupling a large monolithic application into subcomponents known as micro services enables us to develop and deploy a set of independent small and reusable code. This architecture can then help us scale up down as well as modify each service as required as opposed to modifying the entire application. 8 | - However at times you may need 2 services to work together such as a web server and a logging service. You need one agent instance per web server instance paired together. 9 | 10 | ![loga](../../images/loga.PNG) 11 | 12 | #### Multi-Container Pods 13 | - Multi-container pods that share the same lifecycle which means they are created together and destroyed together. 14 | - They share the same network space which means they can refer to each other as localhost and they have access to the same storage volumes. 15 | - This way you do not have to establish volume sharing or services between the pods to enable communication between them. 16 | 17 | ![mcp](../../images/mcp.PNG) 18 | 19 | - To create a new multi-container pod, add the new container information to the pod defination file. 20 | ``` 21 | apiVersion: v1 22 | kind: Pod 23 | metadata: 24 | name: simple-webapp 25 | labels: 26 | name: simple-webapp 27 | spec: 28 | containers: 29 | - name: simple-webapp 30 | image: simple-webapp 31 | ports: 32 | - ContainerPort: 8080 33 | - name: log-agent 34 | image: log-agent 35 | ``` 36 | ![mcpc](../../images/mcpc.PNG) 37 | 38 | #### K8s Reference Docs 39 | - https://kubernetes.io/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/ 40 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/13-Practice-Test-Multi-Container-Pods.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Multi-Container Pods 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/10589159) 3 | 4 | Solutions to practice test - multi-container pods 5 | - Identify the number of containers running in the 'red' pod. 6 | 7 |
8 | 9 | ``` 10 | $ kubectl get pod red 11 | ``` 12 |
13 | 14 | - Identify the name of the containers running in the 'blue' pod. 15 | 16 |
17 | ``` 18 | $ kubectl describe pod blue 19 | ``` 20 |
21 | 22 | - Answer file is located at /var/answers/answer-yellow.yaml 23 | 24 |
25 | ``` 26 | $ kubectl create -f /var/answers/answer-yellow.yaml 27 | ``` 28 |
29 | 30 | - We have deployed an application logging stack in the elastic-stack namespace. Inspect it. 31 | 32 |
33 | ``` 34 | $ kubectl get pods -n elastic-stack 35 | ``` 36 |
37 | 38 | - Inspect the Kibana UI using the link above your terminal. There shouldn't be any logs for now. 39 | 40 | - Run `kubectl describe pod -n elastic-stack` 41 | 42 |
43 | ``` 44 | $ kubectl describe pod -n elastic-stack 45 | ``` 46 |
47 | 48 | - Run the command 'kubectl -n elastic-stack exec -it app cat /log/app.log' 49 | 50 |
51 | ``` 52 | $ kubectl -n elastic-stack exec -it app cat /log/app.log 53 | ``` 54 |
55 | 56 | - Answer file is located at /var/answers/answer-app.yaml 57 | 58 | - Inspect the Kibana UI. You should now see logs appearing in the 'Discover' section. You might have to wait for a couple of minutes for the logs to populate. You might have to create an index pattern to list the logs. If not sure check this video: https://bit.ly/2EXYdHf 59 | 60 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/14-Multi-Container-Pods-Design-Patterns.md: -------------------------------------------------------------------------------- 1 | # Multi-Container Pods Design Patterns 2 | - Take me to [Tutorial](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/10589174) 3 | 4 | ![dp](../../images/dp.PNG) 5 | 6 | #### K8s Reference Docs 7 | - https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns/ 8 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/15.Init-Containers.md: -------------------------------------------------------------------------------- 1 | # Init-Containers 2 | - Take me to [Init-Containers Tutorial](https://kodekloud.com/courses/539883/lectures/10589187) 3 | 4 | #### K8s Reference Docs 5 | - https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ 6 | - https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/ 7 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/17.Self-Healing-Applications.md: -------------------------------------------------------------------------------- 1 | # Self Healing Applications 2 | - Take me to [Tutorial](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/10589198) 3 | -------------------------------------------------------------------------------- /docs/05-Application-Lifecycle-Management/18.Download-Presentation-Deck.md: -------------------------------------------------------------------------------- 1 | # Download Presentation Deck 2 | - Take me to [Presentation Deck](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/16092691) 3 | -------------------------------------------------------------------------------- /docs/06-Cluster-Maintenance/01-Cluster-Maintenance-Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Cluster Maintenance Section Introduction 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808231) 3 | 4 | In this section, we will take a look at cluster maintenance 5 | - Cluster Upgrade Process 6 | - Operating System Upgrades 7 | - Backup and Restore Methodologies 8 | -------------------------------------------------------------------------------- /docs/06-Cluster-Maintenance/02-OS-Upgrades.md: -------------------------------------------------------------------------------- 1 | # OS Upgrades 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808229) 3 | 4 | In this section, we will take a look at os upgrades. 5 | - We wull discuss about scenarios where you might have to take down node as part of your cluster for maintenance purposes like upgrading a base software or applying patches like security patches etc. 6 | 7 | #### If the node was down for more than 5 minutes, then the pods are terminated from that node 8 | - If the pods where part of a replicaset then they are recreated on other nodes. 9 | - The time it waits for a pod to come back online is known as the **`pod eviction timeout`** and is set on the controller manager with a default value of 5 minutes. 10 | 11 | ![os](../../images/os.PNG) 12 | 13 | - When the node comes online after the pod eviction timeout it comes up blank without any pods scheduled on it. 14 | - Thus, if you have maintenance tasks to be performed on a node if you know that the workloads running on the node have other replicas and if it's okay that they go down for a short period of time and if you're sure the node will come back online within 5 minutes you make a quick upgrade and reboot. But you are not sure if a node is going to be back online in 5 mintues. 15 | - You can purposefully **`drain`** the node of all the workloads so that the workloads are moved to other nodes. 16 | - Well technically they are not moved. When you drain the node the pods are gracefully terminated from the node that they're on and recreated on another. 17 | ``` 18 | $ kubectl drain node-1 19 | ``` 20 | - The node is also cordoned or marked as unschedulable. 21 | - When the node is back online after a maintenance, it is still unschedulable. You then need to uncordorn it. 22 | ``` 23 | $ kubectl uncordorn node-1 24 | ``` 25 | - There is also another command called cordorn. Cordorn simply marks a node unschedulable. Unlike drain it does not terminate or move the pods on an existing node. 26 | 27 | ![drain](../../images/drain.PNG) 28 | 29 | 30 | #### K8s Reference Docs 31 | - https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/ 32 | -------------------------------------------------------------------------------- /docs/06-Cluster-Maintenance/04-Kubernetes-Software-Versions.md: -------------------------------------------------------------------------------- 1 | # Kubernetes Software Versions 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808230) 3 | 4 | In this section, we will take a look at various kubernetes releases and versions 5 | 6 | #### We can see the kubernetess version that we installed 7 | ``` 8 | $ kubectl get nodes 9 | ``` 10 | ![kgn](../../images/kgn.PNG) 11 | 12 | #### Let's take a closer look at the version number 13 | - It consists of 3 parts 14 | - First is the major version 15 | - Second is the minior version 16 | - Finally, the patch version 17 | 18 | ![mmp](../../images/mmp.PNG) 19 | 20 | #### Kubernetes follows a standard software release versioning procedure 21 | - You can find all kubernetes releases at https://github.com/kubernetes/kubernetes/releases 22 | 23 | ![r1](../../images/r1.PNG) 24 | 25 | ![r2](../../images/r2.PNG) 26 | 27 | #### Downloaded package has all the kubernetes components in it except **`ETCD Cluster`** and **`CoreDNS`** as they are seperate projects. 28 | 29 | ![r3](../../images/r3.PNG) 30 | 31 | #### References 32 | 33 | - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/release/versioning.md 34 | - https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 35 | - https://blog.risingstack.com/the-history-of-kubernetes/ 36 | - https://kubernetes.io/docs/setup/release/version-skew-policy/ 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /docs/06-Cluster-Maintenance/08-Working-With-ETCDCTL.md: -------------------------------------------------------------------------------- 1 | # Working with ETCDCTL 2 | - Take me [Tutorial](https://kodekloud.com/courses/539883/lectures/14793320) 3 | 4 | -------------------------------------------------------------------------------- /docs/06-Cluster-Maintenance/10-Download-Presentation-Deck.md: -------------------------------------------------------------------------------- 1 | # Download Presentation Deck 2 | - Take me to [Presentation Deck](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/16092815) 3 | -------------------------------------------------------------------------------- /docs/07-Security/01-Security-Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Security Section Introduction 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808249) 3 | 4 | In this section, we will take a look at security section introduction 5 | - Kubernetes Security Primitives 6 | - Authentication 7 | - TLS certificates for cluster components 8 | - Secure Persistent key-value store 9 | - Authorization 10 | - Images Security 11 | - Security Contexts 12 | - Network Policies 13 | -------------------------------------------------------------------------------- /docs/07-Security/02-Kubernetes-Security-Primitives.md: -------------------------------------------------------------------------------- 1 | # Kubernetes Security Primitives 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808248) 3 | 4 | In this section, we will take a look at kubernetes security primitives 5 | 6 | ## Secure Hosts 7 | - Of course all access to these hosts must be secured, root access disabled, password based authentication disabled and only ssh key based authentication to be made available. 8 | - And any other measures you need to take to secure your physical or virtual infrastructure that hosts kubernetes. 9 | 10 | ![sech](../../images/sech.PNG) 11 | 12 | ## Secure Kubernetes 13 | - Controlling access to the kube-apiserver. 14 | - We need to make two types of decisions. 15 | - Who can access? 16 | - What can they do? 17 | 18 | ![seck](../../images/seck.PNG) 19 | 20 | ## Authentication 21 | - Who can access the API Server is defined by the Authentication mechanisms. 22 | - There are different ways that you can authenticate to the API Server. 23 | - User IDs and Passwords in static files 24 | - Username and Tokens 25 | - Certificates 26 | - Integration with External Authentication providers like LDAP. 27 | - Finally, for machines we create service accounts 28 | 29 | ## Authorization 30 | - Once they gain access to the cluster, what they can do is defined by authorization mechanisms. 31 | - Authorization is implemented using Role Based Access Control (RBAC). 32 | - In addition, there are other authorization modules like Attribute based access control (ABAC), Node Authorizers, webhook etc. 33 | 34 | ## TLS Certificates 35 | - All communication with the cluster, between the various components such as the ETCD Cluster, kube-controller-manager, scheduler, api server, as well as those running on the working nodes such as the kubelet and kubeproxy is secured using TLS encryption. 36 | 37 | ![tls](../../images/tls.PNG) 38 | 39 | ## Network Policies 40 | What about communication between applications within the cluster? 41 | - By default all PODS can access all other PODs within the cluster. 42 | - You can restrict access between then using Network Policies. 43 | 44 | ![np](../../images/np.PNG) 45 | 46 | -------------------------------------------------------------------------------- /docs/07-Security/04-TLS-Certificates.md: -------------------------------------------------------------------------------- 1 | # TLS Certificates 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808262) 3 | 4 | In this section, we will take a look at TLS certificates 5 | - What are TLS certificates? 6 | - How does kubernetes use certificates? 7 | - How to generate them? 8 | - How to configure them? 9 | - How to view them? 10 | - How to troubleshoot issues related to certificates 11 | -------------------------------------------------------------------------------- /docs/07-Security/05-TLS-Basics.md: -------------------------------------------------------------------------------- 1 | # TLS Basics 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808254) 3 | 4 | In this section, we will take a look at TLS Basics 5 | 6 | ## Certificate 7 | - A certificate is used to gurantee trust between 2 parties during a transaction. 8 | - Example: when a user tries to access web server, tls certificates ensure that the communication between them is encrypted. 9 | 10 | ![cert1](../../images/cert1.PNG) 11 | 12 | 13 | ## Symmetric Encryption 14 | - It is a secure way of encryption, but it uses the same key to encrypt and decrypt the data and the key has to be exchanged between the sender and the receiver, there is a risk of a hacker gaining access to the key and decrypting the data. 15 | 16 | ![cert2](../../images/cert2.PNG) 17 | 18 | ## Asymmetric Encryption 19 | - Instead of using single key to encrpyt and decrypt data, asymmetric encryption uses a pair of keys, a private key and a public key. 20 | 21 | ![cert3](../../images/cert3.PNG) 22 | 23 | ![cert4](../../images/cert4.PNG) 24 | 25 | ![cert5](../../images/cert5.PNG) 26 | 27 | ![cert6](../../images/cert6.PNG) 28 | 29 | 30 | #### How do you look at a certificate and verify if it is legit? 31 | - who signed and issued the certificate. 32 | - If you generate the certificate then you will have it sign it by yourself, that is known as self-signed certificate. 33 | 34 | ![cert7](../../images/cert7.PNG) 35 | 36 | #### How do you generate legitimate certificate? How do you get your certificates singed by someone with authority? 37 | - That's where **`Certificate Authority (CA)`** comes in for you. some of the popular ones are symantic, DigiCert, Comodo, GlobalSign etc. 38 | 39 | ![cert8](../../images/cert8.PNG) 40 | 41 | ![cert9](../../images/cert9.PNG) 42 | 43 | ![cert10](../../images/cert10.PNG) 44 | 45 | ## Public Key Infrastructure 46 | 47 | ![pki](../../images/pki.PNG) 48 | 49 | ## Certificates naming convention 50 | 51 | ![cert11](../../images/cert11.PNG) 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /docs/07-Security/06-TLS-in-Kubernetes.md: -------------------------------------------------------------------------------- 1 | # TLS in Kubernetes 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808256) 3 | 4 | In this section, we will take a look at TLS in kubernetes 5 | 6 | #### The two primary requirements are to have all the various services within the cluster to user server certificates and all clients to use client certificates to verify they are who they say they are. 7 | - Server Certificates for Servers 8 | - Client Certificates for Clients 9 | 10 | ![tls](../../images/tls.PNG) 11 | 12 | #### Let's look at the different components within the k8s cluster and identify the various servers and clients and who talks to who. 13 | 14 | ![certs](../../images/certs.PNG) 15 | 16 | -------------------------------------------------------------------------------- /docs/07-Security/07-TLS-in-Kubernetes-Certificate-Creation.md: -------------------------------------------------------------------------------- 1 | # TLS in kubernetes - Certificate Creation 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808252) 3 | 4 | In this section, we will take a look at TLS certificate creation in kubernetes 5 | 6 | ## Generate Certificates 7 | - There are different tools available such as easyrsa, openssl or cfssl etc. or many others for generating certificates. 8 | 9 | ## Certificate Authority (CA) 10 | 11 | - Generate Keys 12 | ``` 13 | $ openssl genrsa -out ca.key 2048 14 | ``` 15 | - Generate CSR 16 | ``` 17 | $ openssl req -new -key ca.key -subj "/CN=KUBERNETES-CA" -out ca.csr 18 | ``` 19 | - Sign certificates 20 | ``` 21 | $ openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt 22 | ``` 23 | 24 | ![ca1](../../images/ca1.PNG) 25 | 26 | ## Generating Client Certificates 27 | 28 | #### Admin User Certificates 29 | 30 | - Generate Keys 31 | ``` 32 | $ openssl genrsa -out admin.key 2048 33 | ``` 34 | - Generate CSR 35 | ``` 36 | $ openssl req -new -key admin.key -subj "/CN=kube-admin" -out admin.csr 37 | ``` 38 | - Sign certificates 39 | ``` 40 | $ openssl x509 -req -in admin.csr -CA ca.crt -CAkey ca.key -out admin.crt 41 | ``` 42 | 43 | ![ca2](../../images/ca2.PNG) 44 | 45 | - Certificate with admin privilages 46 | ``` 47 | $ openssl req -new -key admin.key -subj "/CN=kube-admin/O=system:masters" -out admin.csr 48 | ``` 49 | 50 | #### We follow the same procedure to generate client certificate for all other components that access the kube-apiserver. 51 | 52 | ![crt1](../../images/crt1.PNG) 53 | 54 | ![crt2](../../images/crt2.PNG) 55 | 56 | ![crt3](../../images/crt3.PNG) 57 | 58 | ![crt4](../../images/crt4.PNG) 59 | 60 | ## Generating Server Certificates 61 | 62 | ## ETCD Server certificate 63 | 64 | ![etc1](../../images/etc1.PNG) 65 | 66 | ![etc2](../../images/etc2.PNG) 67 | 68 | ## Kube-apiserver certificate 69 | 70 | ![api1](../../images/api1.PNG) 71 | 72 | ![api2](../../images/api2.PNG) 73 | 74 | ## Kubectl Nodes (Server Cert) 75 | 76 | ![kctl1](../../images/kctl1.PNG) 77 | 78 | ## Kubectl Nodes (Client Cert) 79 | 80 | ![kctl2](../../images/kctl2.PNG) 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /docs/07-Security/08-View-Certificate-Details.md: -------------------------------------------------------------------------------- 1 | # View Certificate Details 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808260) 3 | 4 | In this section, we will take a look how to view certificates in a kubernetes cluster. 5 | 6 | ## View Certs 7 | ![hrd](../../images/hrd.PNG) 8 | 9 | ![hrd1](../../images/hrd1.PNG) 10 | 11 | - To view the details of the certificate 12 | ``` 13 | $ openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout 14 | ``` 15 | 16 | ![hrd2](../../images/hrd2.PNG) 17 | 18 | #### Follow the same procedure to identify information about of all the other certificates 19 | 20 | ![hrd3](../../images/hrd3.PNG) 21 | 22 | ## Inspect Server Logs - Hardware setup 23 | - Inspect server logs using journalctl 24 | ``` 25 | $ journalctl -u etcd.service -l 26 | ``` 27 | 28 | ![hrd4](../../images/hrd4.PNG) 29 | 30 | ## Inspect Server Logs - kubeadm setup 31 | - View logs using kubectl 32 | ``` 33 | $ kubectl logs etcd-master 34 | ``` 35 | ![hrd5](../../images/hrd5.PNG) 36 | 37 | - View logs using docker ps and docker logs 38 | ``` 39 | $ docker ps -a 40 | $ docker logs 41 | ``` 42 | ![hrd6](../../images/hrd6.PNG) 43 | 44 | #### K8s Reference Docs 45 | - https://kubernetes.io/docs/setup/best-practices/certificates/#certificate-paths 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /docs/07-Security/09-Certificate-Health-Check-Spreadsheet.md: -------------------------------------------------------------------------------- 1 | # Certificate Health-Check Spreadsheet 2 | - Take me to [Spreedsheet](https://kodekloud.com/courses/539883/lectures/11777973) 3 | 4 | -------------------------------------------------------------------------------- /docs/07-Security/12-Practice-Test-Certificates-API.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Certificates API 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816667) 3 | 4 | Solutions to the practice test - certificate API 5 | - A new member akshay joined our team. He requires access to our cluster. The Certificate Signing Request is at the /root location. 6 | 7 |
8 | ``` 9 | $ ls -l /root 10 | ``` 11 |
12 | 13 | - View the answer at /var/answers/akshay-csr.yaml 14 | 15 |
16 | ``` 17 | $ kubectl create -f /var/answers/akshay-csr.yaml 18 | ``` 19 |
20 | 21 | - Run the command kubectl get csr 22 | 23 |
24 | ``` 25 | $ kubectl get csr 26 | ``` 27 |
28 | 29 | - Run the command kubectl certificate approve akshay 30 | 31 |
32 | ``` 33 | $ kubectl certificate approve akshay 34 | ``` 35 |
36 | 37 | - Run the command kubectl get csr 38 | 39 |
40 | ``` 41 | $ kubectl get csr 42 | ``` 43 |
44 | 45 | - Run the command kubectl get csr and look at the Requestor column 46 | 47 |
48 | ``` 49 | $ kubectl get csr 50 | ``` 51 |
52 | 53 | - The other CSR's are requested during the TLS Bootstrapping process. We will discuss more about it later in the course when we go through the TLS bootstrap section. 54 | 55 | - Run the command kubectl get csr 56 | 57 |
58 | ``` 59 | $ kubectl get csr 60 | ``` 61 |
62 | 63 | - Run the command kubectl get csr agent-smith -o yaml 64 | 65 |
66 | ``` 67 | $ kubectl get csr agent-smith -o yaml 68 | ``` 69 |
70 | 71 | - Run the command kubectl certificate deny agent-smith 72 | 73 |
74 | ``` 75 | $ kubectl certificate deny agent-smith 76 | ``` 77 |
78 | 79 | - Run the command kubectl delete csr agent-smith 80 | 81 |
82 | ``` 83 | $ kubectl delete csr agent-smith 84 | ``` 85 |
86 | 87 | -------------------------------------------------------------------------------- /docs/07-Security/15-API-Groups.md: -------------------------------------------------------------------------------- 1 | # API Groups 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808255) 3 | 4 | In this section, we will take a look at API Groups in kubernetes 5 | 6 | ## To return version and list pods via API's 7 | 8 | ![api3](../../images/api3.PNG) 9 | 10 | - The kubernetes API is grouped into multiple such groups based on thier purpose. Such as one for **`APIs`**, one for **`healthz`**, **`metrics`** and **`logs`** etc. 11 | 12 | ![api4](../../images/api4.PNG) 13 | 14 | ## API and APIs 15 | - These APIs are catagorized into two. 16 | - The core group - Where all the functionality exists 17 | 18 | ![api5](../../images/api5.PNG) 19 | 20 | - The Named group - More organized and going forward all the newer features are going to be made available to these named groups. 21 | 22 | ![api6](../../images/api6.PNG) 23 | 24 | - To list all the api groups 25 | 26 | ![api7](../../images/api7.PNG) 27 | 28 | ## Note on accessing the kube-apiserver 29 | - You have to authenticate by passing the certificate files. 30 | 31 | ![api8](../../images/api8.PNG) 32 | 33 | - An alternate is to start a **`kubeproxy`** client 34 | 35 | ![api9](../../images/api9.PNG) 36 | 37 | ## kube proxy vs kubectl proxy 38 | 39 | ![kp](../../images/kp.PNG) 40 | 41 | ## Key Takeaways 42 | 43 | ![api10](../../images/api10.PNG) 44 | 45 | #### K8s Reference Docs 46 | - https://kubernetes.io/docs/concepts/overview/kubernetes-api/ 47 | - https://kubernetes.io/docs/reference/using-api/api-concepts/ 48 | - https://kubernetes.io/docs/tasks/extend-kubernetes/http-proxy-access-api/ 49 | -------------------------------------------------------------------------------- /docs/07-Security/20-Practice-Test-Cluster-Roles.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Cluster Roles 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816671) 3 | 4 | Solutions to practice test - cluster roles 5 | - Run the command kubectl get clusterroles --no-headers | wc -l or kubectl get clusterroles --no-headers -o json | jq '.items | length' 6 | 7 |
8 | 9 | ``` 10 | $ kubectl get clusterroles --no-headers | wc -l (or) 11 | $ kubectl get clusterroles --no-headers -o json | jq '.items | length' 12 | ``` 13 | 14 |
15 | 16 | - Run the command kubectl get clusterrolebindings --no-headers | wc -l or kubectl get clusterrolebindings --no-headers -o json | jq '.items | length' 17 | 18 |
19 | 20 | ``` 21 | $ kubectl get clusterrolebindings --no-headers | wc -l (or) 22 | $ kubectl get clusterrolebindings --no-headers -o json | jq '.items | length' 23 | ``` 24 | 25 |
26 | 27 | - What namespace is the cluster-admin clusterrole part of? 28 | 29 |
30 | 31 | ``` 32 | $ Cluster roles are cluster wide and not part of any namespace 33 | ``` 34 | 35 |
36 | 37 | - Run the command kubectl describe clusterrolebinding cluster-admin 38 | 39 |
40 | 41 | ``` 42 | $ kubectl describe clusterrolebinding cluster-admin 43 | ``` 44 | 45 |
46 | 47 | - Run the command kubectl describe clusterrole cluster-admin 48 | 49 |
50 | 51 | ``` 52 | $ kubectl describe clusterrole cluster-admin 53 | ``` 54 | 55 |
56 | 57 | - Check answer at /var/answers 58 | 59 |
60 | 61 | ``` 62 | $ kubectl create -f /var/answers/michelle-node-admin.yaml 63 | ``` 64 | 65 |
66 | 67 | - Check answer at /var/answers 68 | 69 |
70 | 71 | ``` 72 | $ kubectl create -f /var/answers/michelle-storage-admin.yaml 73 | ``` 74 | 75 |
76 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /docs/07-Security/21-Image-Security.md: -------------------------------------------------------------------------------- 1 | # Image Security 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9808251) 3 | 4 | In this section we will take a look at image security 5 | 6 | # Image 7 | 8 | ``` 9 | apiVersion: v1 10 | kind: Pod 11 | metadata: 12 | name: nginx-pod 13 | spec: 14 | containers: 15 | - name: nginx 16 | image: nginx 17 | ``` 18 | 19 | ![img1](../../images/img1.PNG) 20 | 21 | ![img2](../../images/img2.PNG) 22 | 23 | # Private Registry 24 | - To login to the registry 25 | ``` 26 | $ docker login private-registry.io 27 | ``` 28 | - Run the application using the image available at the private registry 29 | ``` 30 | $ docker run private-registry.io/apps/internal-app 31 | ``` 32 | 33 | ![prvr](../../images/prvr.PNG) 34 | 35 | - To pass the credentials to the docker untaged on the worker node for that we first create a secret object with credentials in it. 36 | ``` 37 | $ kubectl create secret docker-registry regcred \ 38 | --docker-server=private-registry.io \ 39 | --docker-username=registry-user \ 40 | --docker-password=registry-password \ 41 | --docker-email=registry-user@org.com 42 | ``` 43 | - We then specify the secret inside our pod defination file under the imagePullSecret section 44 | ``` 45 | apiVersion: v1 46 | kind: Pod 47 | metadata: 48 | name: nginx-pod 49 | spec: 50 | containers: 51 | - name: nginx 52 | image: private-registry.io/apps/internal-app 53 | imagePullSecrets: 54 | - name: regcred 55 | ``` 56 | ![prvr1](../../images/prvr1.PNG) 57 | 58 | #### K8s Reference Docs 59 | - https://kubernetes.io/docs/concepts/containers/images/ 60 | -------------------------------------------------------------------------------- /docs/07-Security/22-Practice-Test-Image-Security.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Image Security 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816673) 3 | 4 | Solutions to the practice test - Image Security 5 | - We have an application running on our cluster. Let us explore it first. What image is the application using? 6 | 7 |
8 | 9 | ``` 10 | $ kubectl get deploy -o wide 11 | ``` 12 | 13 |
14 | 15 | - Use the kubectl edit deployment command to edit the image name to myprivateregistry.com:5000/nginx:alpine 16 | 17 |
18 | 19 | ``` 20 | $ kubectl edit deployment web 21 | ``` 22 | 23 |
24 | 25 | - Run the command kubectl get pods command and check the status of the pods 26 | 27 |
28 | 29 | ``` 30 | $ kubectl get pods 31 | ``` 32 | 33 |
34 | 35 | - Run command kubectl create secret docker-registry private-reg-cred --docker-username=dock_user --docker-password=dock_password --docker-server=myprivateregistry.com:5000 --docker-email=dock_user@myprivateregistry.com 36 | 37 |
38 | 39 | ``` 40 | $ kubectl create secret docker-registry private-reg-cred --docker-username=dock_user --docker-password=dock_password --docker-server=myprivateregistry.com:5000 --docker-email=dock_user@myprivateregistry.com 41 | ``` 42 | 43 |
44 | 45 | - Edit deployment using kubectl edit deploy web command and add imagePullSecrets section. Use private-reg-cred 46 | 47 |
48 | 49 | ``` 50 | $ kubectl edit deploy web 51 | ``` 52 | 53 |
54 | 55 | - Check the status of PODs. Wait for them to be running. You have now successfully configured a Deployment to pull images from the private registry 56 | 57 |
58 | 59 | ``` 60 | $ kubectl get pods 61 | ``` 62 |
63 | -------------------------------------------------------------------------------- /docs/07-Security/23-Security-Context.md: -------------------------------------------------------------------------------- 1 | # Security Context 2 | - Take me to [Video Tutorial]() 3 | 4 | In this section, we will take a look at security context 5 | 6 | ## Container Security 7 | ``` 8 | $ docker run --user=1001 ubuntu sleep 3600 9 | $ docker run -cap-add MAC_ADMIN ubuntu 10 | ``` 11 | 12 | ![csec](../../images/csec.PNG) 13 | 14 | ## Kubernetes Security 15 | - You may choose to configure the security settings at a container level or at a pod level. 16 | - If you configure it at a pod level the settings will carry over all the containers within the pod. 17 | - If you configure it at both the pod and the container the settings on the container will override the settings on the pod. 18 | 19 | ![ksec](../../images/ksec.PNG) 20 | 21 | ## Security Context 22 | - To add security context on the container and a field called **`securityContext`** under the spec section. 23 | ``` 24 | apiVersion: v1 25 | kind: Pod 26 | metadata: 27 | name: web-pod 28 | spec: 29 | securityContext: 30 | runAsUser: 1000 31 | containers: 32 | - name: ubuntu 33 | image: ubuntu 34 | command: ["sleep", "3600"] 35 | ``` 36 | ![sxc1](../../images/sxc1.PNG) 37 | 38 | - To set the same context at the container level, then move the whole section under container section. 39 | 40 | ``` 41 | apiVersion: v1 42 | kind: Pod 43 | metadata: 44 | name: web-pod 45 | spec: 46 | containers: 47 | - name: ubuntu 48 | image: ubuntu 49 | command: ["sleep", "3600"] 50 | securityContext: 51 | runAsUser: 1000 52 | ``` 53 | ![sxc2](../../images/sxc2.PNG) 54 | 55 | - To add capabilities use the **`capabilities`** option 56 | ``` 57 | apiVersion: v1 58 | kind: Pod 59 | metadata: 60 | name: web-pod 61 | spec: 62 | containers: 63 | - name: ubuntu 64 | image: ubuntu 65 | command: ["sleep", "3600"] 66 | securityContext: 67 | runAsUser: 1000 68 | capabilities: 69 | add: ["MAC_ADMIN"] 70 | ``` 71 | ![cap](../../images/cap.PNG) 72 | 73 | 74 | ### K8s Reference Docs 75 | - https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ 76 | -------------------------------------------------------------------------------- /docs/07-Security/24-Practice-Test-Security-Context.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Security Context 2 | - Take me to [Video Tutorial](https://kodekloud.com/courses/539883/lectures/9816674) 3 | 4 | Solutions to practice test - security context 5 | - Run the command 'kubectl exec ubuntu-sleeper whoami' and count the number of pods. 6 | 7 |
8 | 9 | ``` 10 | $ kubectl exec ubuntu-sleeper whoami 11 | ``` 12 | 13 |
14 | 15 | - Set a security context to run as user 1010. 16 | 17 |
18 | 19 | ``` 20 | $ kubectl get pods ubuntu-sleeper -o yaml > ubuntu.yaml 21 | $ kubectl delete pod ubuntu-sleeper 22 | $ vi ubuntu.yaml ( add securityContext Section) 23 | securityContext: 24 | runAsUser: 1010 25 | $ kubectl create -f ubuntu.yaml 26 | ``` 27 | 28 |
29 | 30 | - The User ID defined in the securityContext of the container overrides the User ID in the POD. 31 | 32 | - The User ID defined in the securityContext of the POD is carried over to all the PODs in the container. 33 | 34 | - Run kubectl exec -it ubuntu-sleeper -- date -s '19 APR 2012 11:14:00' 35 | 36 |
37 | 38 | ``` 39 | $ kubectl exec -it ubuntu-sleeper -- date -s '19 APR 2012 11:14:00' 40 | ``` 41 | 42 |
43 | 44 | - Add SYS_TIME capability to the container's securityContext 45 | 46 |
47 | 48 | ``` 49 | $ kubectl get pods ubuntu-sleeper -o yaml > ubuntu.yaml 50 | $ kubectl delete pod ubuntu-sleeper 51 | $ vi ubuntu.yaml 52 | 53 | Under container section add the below 54 | 55 | securityContext: 56 | capabilities: 57 | add: ["SYS_TIME"] 58 | 59 | $ kubectl create -f ubuntu.yaml 60 | ``` 61 | 62 |
63 | 64 | - Now try to run the below command in the pod to set the date. If the security capability was added correctly, it should work. If it doesn't make sure you changed the user back to root. 65 | 66 |
67 | 68 | ``` 69 | $ kubectl exec -it ubuntu-sleeper -- date -s '19 APR 2012 11:14:00' 70 | ``` 71 | 72 |
73 | 74 | -------------------------------------------------------------------------------- /docs/07-Security/25-Network-Policies.md: -------------------------------------------------------------------------------- 1 | # Network Policies 2 | - Take me to [Video Tutorials](https://kodekloud.com/courses/539883/lectures/9948740) 3 | 4 | #### Trafic flowing through a webserver serving frontend to users an app server serving backend API and a database server 5 | 6 | ![traffic](../../images/traffic.PNG) 7 | 8 | - There are two types of traffic 9 | - Ingress 10 | - Egress 11 | 12 | ![ing1](../../images/ing1.PNG) 13 | 14 | ![ing2](../../images/ing2.PNG) 15 | 16 | ## Network Security 17 | 18 | ![nsec](../../images/nsec.PNG) 19 | 20 | ## Network Policy 21 | 22 | ![npol](../../images/npol.PNG) 23 | 24 | ![npol1](../../images/npol1.PNG) 25 | 26 | ## Network Policy Selectors 27 | 28 | ![npolsec](../../images/npolsec.PNG) 29 | 30 | ## Network Policy Rules 31 | 32 | ![npol2](../../images/npol2.PNG) 33 | 34 | ## Create network policy 35 | 36 | - To create a network policy 37 | ``` 38 | apiVersion: networking.k8s.io/v1 39 | kind: NetworkPolicy 40 | metadata: 41 | name: db-policy 42 | spec: 43 | podSelector: 44 | matchLabels: 45 | role: db 46 | policyTypes: 47 | - Ingress 48 | ingress: 49 | - from: 50 | - podSelector: 51 | matchLabels: 52 | role: api-pod 53 | ports: 54 | - protocol: TCP 55 | port: 3306 56 | ``` 57 | $ kubectl create -f policy-defination.yaml 58 | ``` 59 | 60 | ![npol3](../../images/npol3.PNG) 61 | 62 | ![npol4](../../images/npol4.PNG) 63 | 64 | ## Note 65 | 66 | ![note1](../../images/note1.PNG) 67 | 68 | #### K8s Reference Docs 69 | - https://kubernetes.io/docs/concepts/services-networking/network-policies/ 70 | - https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy/ 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /docs/07-Security/26-Practice-Test-Network-Policies.md: -------------------------------------------------------------------------------- 1 | # Practice Test - Network Policies 2 | - Take me to [Practice Test](https://kodekloud.com/courses/539883/lectures/9816676) 3 | 4 | Solutions to practice test - network policies 5 | 6 | - Run the command 'kubectl get networkpolicy' 7 | 8 |
9 | 10 | ``` 11 | $ kubectl get networkpolicy 12 | ``` 13 | 14 |
15 | 16 | - Run the command 'kubectl get networkpolicy' 17 | 18 |
19 | 20 | ``` 21 | $ kubectl get networkpolicy 22 | ``` 23 | 24 |
25 | 26 | - Run the command 'kubectl get networkpolicy' and look under pod selector 27 | 28 |
29 | 30 | ``` 31 | $ kubectl get networkpolicy 32 | ``` 33 | 34 |
35 | 36 | - Run the command 'kubectl describe networkpolicy' and look under PolicyTypes 37 | 38 |
39 | 40 | ``` 41 | $ kubectl describe networkpolicy 42 | ``` 43 | 44 |
45 | 46 | - What is the impact of the rule configured on this Network Policy? 47 | 48 |
49 | 50 | ``` 51 | Traffic from internal to payroll pod is blocked 52 | ``` 53 | 54 |
55 | 56 | - What is the impact of the rule configured on this Network Policy? 57 | 58 |
59 | 60 | ``` 61 | Internal pod can access port 8080 on payroll pod 62 | ``` 63 | 64 |
65 | 66 | - Access the UI of these applications using the link given above the terminal. 67 | 68 | - Only internal applications can access payroll service 69 | 70 | - Perform a connectivity test using the User Interface of the Internal Application to access the 'external-service' at port '8080'. 71 | 72 |
73 | 74 | ``` 75 | Successful 76 | ``` 77 | 78 |
79 | 80 | - Answer file located at /var/answers/answer-internal-policy.yaml 81 | 82 |
83 | 84 | ``` 85 | $ kubectl create -f /var/answers/answer-internal-policy.yaml 86 | ``` 87 | 88 |
89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/07-Security/27-kubectx-and-kubens-commands.md: -------------------------------------------------------------------------------- 1 | # kubectx and kubens commands 2 | - Take me to [Tutorial](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13056451) 3 | -------------------------------------------------------------------------------- /docs/07-Security/28-Download-Presentation-Deck.md: -------------------------------------------------------------------------------- 1 | # Download Presentation Deck 2 | - Take me to [Presentation Deck](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/16092915) 3 | -------------------------------------------------------------------------------- /docs/08-Storage/01-Storage-Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Storage Section Introduction 2 | 3 | Take me to [Introduction](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808276) -------------------------------------------------------------------------------- /docs/08-Storage/02-Introduction-to-Docker-Storage.md: -------------------------------------------------------------------------------- 1 | # Introduction to Docker Storage 2 | 3 | Take me to [Docker Introduction](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13350395) -------------------------------------------------------------------------------- /docs/08-Storage/03-Storage-in-Docker.md: -------------------------------------------------------------------------------- 1 | # Storage in Docker 2 | 3 | Take me to [Storage](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13350400) -------------------------------------------------------------------------------- /docs/08-Storage/04-Volume-Driver-Plugins-in-Docker.md: -------------------------------------------------------------------------------- 1 | # Volume Driver Plugins in Docker 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13350437) -------------------------------------------------------------------------------- /docs/08-Storage/05-Container.Storage-Interface.md: -------------------------------------------------------------------------------- 1 | # Container Storage Interface 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13350453) -------------------------------------------------------------------------------- /docs/08-Storage/06-Volumes.md: -------------------------------------------------------------------------------- 1 | # Volumes 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808274) -------------------------------------------------------------------------------- /docs/08-Storage/07-Persistent-Volumes.md: -------------------------------------------------------------------------------- 1 | # Persistent Volumes 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808275) -------------------------------------------------------------------------------- /docs/08-Storage/08-Persistent-Volume-Claims.md: -------------------------------------------------------------------------------- 1 | # Persistent Volume Claims 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808277) -------------------------------------------------------------------------------- /docs/08-Storage/09-Using-PVC-in-PODs.md: -------------------------------------------------------------------------------- 1 | # Using PVC in PODs 2 | 3 | - Take me the [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/13154680) -------------------------------------------------------------------------------- /docs/08-Storage/11-Download-Presentation-Deck.md: -------------------------------------------------------------------------------- 1 | # Download Presentation Deck 2 | 3 | [Download](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/16093022) -------------------------------------------------------------------------------- /docs/09-Networking/01-Networking-Introduction.md: -------------------------------------------------------------------------------- 1 | # Section Introduction 2 | 3 | Take me to [Introduction](https://kodekloud.com/courses/539883/lectures/9808282) -------------------------------------------------------------------------------- /docs/09-Networking/02-Pre-requisite-Switching-Routing-Gateways.md: -------------------------------------------------------------------------------- 1 | # Pre-requisite Switching Routing Gateways 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9817246) -------------------------------------------------------------------------------- /docs/09-Networking/03-Pre-requisite-DNS.md: -------------------------------------------------------------------------------- 1 | # Pre-requisite DNS 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808290) -------------------------------------------------------------------------------- /docs/09-Networking/04-Pre-requisite-CoreDNS.md: -------------------------------------------------------------------------------- 1 | # Pre-requisite CoreDNS 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9927591) -------------------------------------------------------------------------------- /docs/09-Networking/05-Pre-requisite-Network-Namespace.md: -------------------------------------------------------------------------------- 1 | # Pre-requisite Network Namespaces 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808292) -------------------------------------------------------------------------------- /docs/09-Networking/06-Pre-requisite-Docker-Networking.md: -------------------------------------------------------------------------------- 1 | # Pre-requisite Docker Networking 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808294) -------------------------------------------------------------------------------- /docs/09-Networking/07-Pre-requisite-CNI.md: -------------------------------------------------------------------------------- 1 | # Pre-requisite CNI 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808284) -------------------------------------------------------------------------------- /docs/09-Networking/08-Cluster-Networking.md: -------------------------------------------------------------------------------- 1 | # Pre-requisite Cluster Networking 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808288) -------------------------------------------------------------------------------- /docs/09-Networking/09-Practice-Test-Explore-Env.md: -------------------------------------------------------------------------------- 1 | # Practice Test Explore Env 2 | 3 | Take me to [Lab](https://kodekloud.com/courses/539883/lectures/9816753) 4 | 5 | #### Solution 6 | 7 | 1. Check the Solution 8 | 9 |
10 | 11 | ``` 12 | 2 13 | ``` 14 |
15 | 16 | 2. Check the Solution 17 | 18 |
19 | 20 | ``` 21 | ens3 22 | ``` 23 |
24 | 25 | 3. Check the Solution 26 | 27 |
28 | 29 | ``` 30 | 172.17.0.31 31 | ``` 32 |
33 | 34 | 4. Check the Solution 35 | 36 |
37 | 38 | ``` 39 | 02:42:ac:11:00:1f 40 | ``` 41 |
42 | 43 | 5. Check the Solution 44 | 45 |
46 | 47 | ``` 48 | 172.17.0.32 49 | ``` 50 |
51 | 52 | 6. Check the Solution 53 | 54 |
55 | 56 | ``` 57 | 02:42:ac:11:00:20 58 | ``` 59 |
60 | 61 | 7. Check the Solution 62 | 63 |
64 | 65 | ``` 66 | docker0 67 | ``` 68 |
69 | 70 | 8. Check the Solution 71 | 72 |
73 | 74 | ``` 75 | DOWN 76 | ``` 77 |
78 | 79 | 9. Check the Solution 80 | 81 |
82 | 83 | ``` 84 | 172.17.0.1 85 | ``` 86 |
87 | 88 | 9. Check the Solution 89 | 90 |
91 | 92 | ``` 93 | 10251 94 | ``` 95 |
96 | 97 | 9. Check the Solution 98 | 99 |
100 | 101 | ``` 102 | 2379 103 | ``` 104 |
105 | 106 | 9. Check the Solution 107 | 108 |
109 | 110 | ``` 111 | Ok 112 | ``` 113 |
-------------------------------------------------------------------------------- /docs/09-Networking/10-Pod-Networking.md: -------------------------------------------------------------------------------- 1 | # Pod Networking 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808293) -------------------------------------------------------------------------------- /docs/09-Networking/11-CNI-in-Kubernetes.md: -------------------------------------------------------------------------------- 1 | # CNI in Kubernetes 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808289) -------------------------------------------------------------------------------- /docs/09-Networking/12-CNI-weave.md: -------------------------------------------------------------------------------- 1 | # CNI weave 2 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808283) -------------------------------------------------------------------------------- /docs/09-Networking/13-Practice-Test-CNI-weave.md: -------------------------------------------------------------------------------- 1 | # Practice Test CNI weave 2 | 3 | Take me to [Lab](https://kodekloud.com/courses/539883/lectures/9816778) 4 | 5 | #### Solution 6 | 7 | 1. Check the Solution 8 | 9 |
10 | 11 | ``` 12 | CNI 13 | ``` 14 |
15 | 16 | 2. Check the Solution 17 | 18 |
19 | 20 | ``` 21 | /opt/cni/bin 22 | ``` 23 |
24 | 25 | 3. Check the Solution 26 | 27 |
28 | 29 | ``` 30 | cisco 31 | ``` 32 |
33 | 34 | 4. Check the Solution 35 | 36 |
37 | 38 | ``` 39 | weave 40 | ``` 41 |
42 | 43 | 5. Check the Solution 44 | 45 |
46 | 47 | ``` 48 | weave-net 49 | ``` 50 |
51 | 52 | -------------------------------------------------------------------------------- /docs/09-Networking/14-Practice-Test-Deploy-Network-Solution.md: -------------------------------------------------------------------------------- 1 | # Practice Test Deploy Networking Solution 2 | 3 | Take me to [Lab](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9892583) 4 | 5 | #### Solution 6 | 7 | 1. Check the Solution 8 | 9 |
10 | 11 | ``` 12 | Not Running 13 | ``` 14 |
15 | 16 | 2. Check the Solution 17 | 18 |
19 | 20 | ``` 21 | No Network Configured 22 | ``` 23 |
24 | 25 | 3. Check the Solution 26 | 27 |
28 | 29 | ``` 30 | Click [here](https://www.weave.works/docs/net/latest/kubernetes/kube-addon/) 31 | 32 | OR Execute below command 33 | 34 | kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" 35 | ``` 36 |
-------------------------------------------------------------------------------- /docs/09-Networking/15-ipam-weave.md: -------------------------------------------------------------------------------- 1 | # IPAM weave 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808295) -------------------------------------------------------------------------------- /docs/09-Networking/16-Practice-Test-Networking-weave.md: -------------------------------------------------------------------------------- 1 | # Practice Test Networking Weave 2 | 3 | Take me to [Lab](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9816785) 4 | 5 | #### Solution 6 | 7 | 1. Check the Solution 8 | 9 |
10 | 11 | ``` 12 | 4 13 | ``` 14 |
15 | 16 | 2. Check the Solution 17 | 18 |
19 | 20 | ``` 21 | weave 22 | ``` 23 |
24 | 25 | 3. Check the Solution 26 | 27 |
28 | 29 | ``` 30 | 4 31 | ``` 32 |
33 | 34 | 4. Check the Solution 35 | 36 |
37 | 38 | ``` 39 | One on every node 40 | ``` 41 |
42 | 43 | 5. Check the Solution 44 | 45 |
46 | 47 | ``` 48 | weave 49 | ``` 50 |
51 | 52 | 6. Check the Solution 53 | 54 |
55 | 56 | ``` 57 | 10.X.X.X 58 | ``` 59 |
60 | 61 | 7. Check the Solution 62 | 63 |
64 | 65 | ``` 66 | 10.38.0.0 67 | ``` 68 |
-------------------------------------------------------------------------------- /docs/09-Networking/17-Service-Networking.md: -------------------------------------------------------------------------------- 1 | # Service Networking 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808291) -------------------------------------------------------------------------------- /docs/09-Networking/18-Practice-Test-Service-Networking.md: -------------------------------------------------------------------------------- 1 | # Practice Test Service Networking 2 | 3 | Take me to [Lab](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9816800) 4 | 5 | #### Solution 6 | 7 | 1. Check the Solution 8 | 9 |
10 | 11 | ``` 12 | 172.17.0.0/16 13 | ``` 14 |
15 | 16 | 2. Check the Solution 17 | 18 |
19 | 20 | ``` 21 | 10.32.0.0/12 22 | ``` 23 |
24 | 25 | 3. Check the Solution 26 | 27 |
28 | 29 | ``` 30 | 10.96.0.0/12 31 | ``` 32 |
33 | 34 | 4. Check the Solution 35 | 36 |
37 | 38 | ``` 39 | 2 40 | ``` 41 |
42 | 43 | 5. Check the Solution 44 | 45 |
46 | 47 | ``` 48 | iptables 49 | ``` 50 |
51 | 52 | 6. Check the Solution 53 | 54 |
55 | 56 | ``` 57 | using daemonset 58 | ``` 59 |
60 | 61 | -------------------------------------------------------------------------------- /docs/09-Networking/19-DNS-in-kubernetes.md: -------------------------------------------------------------------------------- 1 | # DNS in kubernetes 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808287) -------------------------------------------------------------------------------- /docs/09-Networking/22-Ingress.md: -------------------------------------------------------------------------------- 1 | # Ingress 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/9808286) -------------------------------------------------------------------------------- /docs/09-Networking/23-Ingress-Annotations-and-rewrite-target.md: -------------------------------------------------------------------------------- 1 | # Ingress Annotationd and rewrite-target 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/14102889) -------------------------------------------------------------------------------- /docs/09-Networking/26-Dowload-Presentation-Deck.md: -------------------------------------------------------------------------------- 1 | # Download Presentation Deck 2 | 3 | [Download](https://kodekloud.com/courses/certified-kubernetes-administrator-with-practice-tests/lectures/16093181) -------------------------------------------------------------------------------- /docs/10-Install/01-Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Section Introduction 2 | 3 | Take me to [Introduction](https://kodekloud.com/courses/539883/lectures/9808337) -------------------------------------------------------------------------------- /docs/10-Install/02-Designing-a-Kubernetes-Cluster.md: -------------------------------------------------------------------------------- 1 | # Designing a Kubernetes Cluster 2 | 3 | Take me to [Designing](https://kodekloud.com/courses/539883/lectures/9817006) -------------------------------------------------------------------------------- /docs/10-Install/03-Choosing-Kuberneter-Infrastructure.md: -------------------------------------------------------------------------------- 1 | # Choosing a Kubernetes Infratructure 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808342) -------------------------------------------------------------------------------- /docs/10-Install/04-Choosing-Network-Solution.md: -------------------------------------------------------------------------------- 1 | # Choosing a Networking Solution 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9817166) -------------------------------------------------------------------------------- /docs/10-Install/05-Configure-High-Availability.md: -------------------------------------------------------------------------------- 1 | # Choosing a HA 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808328) -------------------------------------------------------------------------------- /docs/10-Install/06-ETCD-in-HA.md: -------------------------------------------------------------------------------- 1 | # ETCD in HA 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808331) -------------------------------------------------------------------------------- /docs/10-Install/07-Demo-Prequisites.md: -------------------------------------------------------------------------------- 1 | # Demo Prequisites 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808347) -------------------------------------------------------------------------------- /docs/10-Install/08-Provisioning-VMS.md: -------------------------------------------------------------------------------- 1 | # Provisioning VM's 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808334) -------------------------------------------------------------------------------- /docs/10-Install/09-Install-Client-Tools.md: -------------------------------------------------------------------------------- 1 | # Install Client Tools 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808333) -------------------------------------------------------------------------------- /docs/10-Install/10-Secure-Cluster.md: -------------------------------------------------------------------------------- 1 | # Secure Cluster 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808324) -------------------------------------------------------------------------------- /docs/10-Install/11-Create-KubeConfigfiles.md: -------------------------------------------------------------------------------- 1 | # Create Kubeconfig files 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808341) -------------------------------------------------------------------------------- /docs/10-Install/12-Data-Encryption.md: -------------------------------------------------------------------------------- 1 | # Data Encryption 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808330) -------------------------------------------------------------------------------- /docs/10-Install/13-Kubernetes-Release-Binaries.md: -------------------------------------------------------------------------------- 1 | # Kubernetes Release Binaries 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808329) -------------------------------------------------------------------------------- /docs/10-Install/14-Install-Control-Plane-Components-Intro.md: -------------------------------------------------------------------------------- 1 | # Install Control Plane Componenets Intro 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808349) -------------------------------------------------------------------------------- /docs/10-Install/15-Install-ETCD-Cluster.md: -------------------------------------------------------------------------------- 1 | # Install ETCD Cluster 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9817249) -------------------------------------------------------------------------------- /docs/10-Install/16-Install-Control-Plane-Components.md: -------------------------------------------------------------------------------- 1 | # Install Control Plane Componenets 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808335) -------------------------------------------------------------------------------- /docs/10-Install/17-Install-Control-Plane-Load-Balancer.md: -------------------------------------------------------------------------------- 1 | # Install Control Plane Load Balancer 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808344) -------------------------------------------------------------------------------- /docs/10-Install/18-Install-Worker-node-componenets.md: -------------------------------------------------------------------------------- 1 | # Install worker node components 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808327) -------------------------------------------------------------------------------- /docs/10-Install/19-TLS-Bootstrap-worker-node.md: -------------------------------------------------------------------------------- 1 | # TLS Bootstrap worker node 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808338) -------------------------------------------------------------------------------- /docs/10-Install/20-Demo-TLS-Bootstrap-worker-node.md: -------------------------------------------------------------------------------- 1 | # Demo TLS Bootstrap worker node 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808340) -------------------------------------------------------------------------------- /docs/10-Install/21-Configure-Kubectl-for-remote-access.md: -------------------------------------------------------------------------------- 1 | # Configure Kubectl-for-remote-access 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808345) -------------------------------------------------------------------------------- /docs/10-Install/22-Provision-Networking.md: -------------------------------------------------------------------------------- 1 | # Configure Provision Networking 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9817247) -------------------------------------------------------------------------------- /docs/10-Install/23-Kubapi-to-kubelet-connectivity.md: -------------------------------------------------------------------------------- 1 | # Kubeapi to kubelet connectivity 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808346) -------------------------------------------------------------------------------- /docs/10-Install/24-Deploy-Core-DNS.md: -------------------------------------------------------------------------------- 1 | # Deploy Core DNS 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808332) -------------------------------------------------------------------------------- /docs/10-Install/25-End-to-End-tests.md: -------------------------------------------------------------------------------- 1 | # End To End Test 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808326) -------------------------------------------------------------------------------- /docs/10-Install/26-End-To-End-Tests-Run-and-analyze.md: -------------------------------------------------------------------------------- 1 | # End To End Test 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808343) -------------------------------------------------------------------------------- /docs/10-Install/27-Smoke-test.md: -------------------------------------------------------------------------------- 1 | # Smoke Test 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808348) -------------------------------------------------------------------------------- /docs/10-Install/28-End-to-End-test-part1.md: -------------------------------------------------------------------------------- 1 | # End to End test part 1 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/9808339) -------------------------------------------------------------------------------- /docs/10-Install/29-Practise-Test-instal-using-kubeadm.md: -------------------------------------------------------------------------------- 1 | # Solution Install Using Kubeadm 2 | 3 | 1. Check the solution 4 | 5 |
6 | 7 | ``` 8 | sudo apt-get update && sudo apt-get install -y apt-transport-https curl 9 | curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - 10 | cat < 18 | 19 | 2. Check the solution 20 | 21 |
22 | 23 | ``` 24 | kubelet --version 25 | ``` 26 |
27 | 28 | 3. Check the solution 29 | 30 |
31 | 32 | ``` 33 | 0 34 | ``` 35 |
36 | 37 | 5. Click on **`OK`** 38 | 39 | 6. Check the solution 40 | 41 |
42 | 43 | ``` 44 | kubeadm init 45 | ``` 46 |
47 | 48 | 7. Click on **`OK`** 49 | 50 | 8. Click on **`Check`** 51 | 52 | 9. Check the solution 53 | 54 |
55 | 56 | ``` 57 | kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" 58 | ``` 59 |
-------------------------------------------------------------------------------- /docs/10-Install/30-Solution-Install-a-K8s-cluster-kubeadm.md: -------------------------------------------------------------------------------- 1 | # Solution - Install Kubernetes Cluster using Kubeadm 2 | 3 | Take me to [Lecture](https://kodekloud.com/courses/539883/lectures/13157976) -------------------------------------------------------------------------------- /docs/10-Install/31-Download-Presentation-Deck.md: -------------------------------------------------------------------------------- 1 | # Download Presentation Deck 2 | 3 | [Download](https://kodekloud.com/courses/539883/lectures/16093256) -------------------------------------------------------------------------------- /docs/11-Troubleshooting/01-Troubelshooting-Section-Introduction.md: -------------------------------------------------------------------------------- 1 | # Troubelshooting Section Introduction 2 | 3 | - Lets understand how we can troubleshoot an [Application Failure](https://kodekloud.com/courses/539883/lectures/9808360). -------------------------------------------------------------------------------- /docs/11-Troubleshooting/02-Application-Failure.md: -------------------------------------------------------------------------------- 1 | # Application Failure 2 | 3 | - In this lecture we will go step by step in troubleshooting Application failure. 4 | 5 | - To check the Application/Service status of the webserver 6 | 7 | ``` 8 | curl http://web-service-ip:node-port 9 | ``` 10 | 11 | ![app](../../images/app.PNG) 12 | 13 | - To check the endpoint of the service and compare it with the selectors 14 | 15 | ``` 16 | kubectl describe service web-service 17 | ``` 18 | 19 | ![svc](../../images/svc.PNG) 20 | 21 | 22 | - To check the status and logs of the pod 23 | 24 | ``` 25 | kubectl get pod 26 | ``` 27 | 28 | ``` 29 | kubectl describe pod web 30 | ``` 31 | 32 | ``` 33 | kubectl logs web 34 | ``` 35 | 36 | - To check the logs of the previous pod 37 | 38 | ``` 39 | kubectl logs web -f --previous 40 | ``` 41 | 42 | ![db](../../images/db.PNG) 43 | 44 | 45 | #### Hands on Labs 46 | 47 | - Lets Troubleshoot the [Application](https://kodekloud.com/courses/539883/lectures/9816836) -------------------------------------------------------------------------------- /docs/11-Troubleshooting/04-Control-Plane-Failure.md: -------------------------------------------------------------------------------- 1 | # Control Plane Failure 2 | 3 | - In this lecture we will use how to troubleshoot the Control Plane components. 4 | 5 | - To check the status of the nodes if they are healthy 6 | 7 | ``` 8 | kubectl get nodes 9 | ``` 10 | 11 | - To check the status of the pods if the are running 12 | 13 | ``` 14 | kubectl get pods 15 | ``` 16 | 17 | - To check the status of all the pods of the Control Plane components(if they are deployed with kubeadm tool) and make sure they are **`Running`** 18 | 19 | ``` 20 | kubectl get pods -n kube-system 21 | ``` 22 | 23 | ![node](../../images/node.PNG) 24 | 25 | - If the Control Plane components are deployed as services then check the status of all the components 26 | 27 | ![cp](../../images/cp.PNG) 28 | 29 | - To check the status of **`kube-apiserver`** 30 | 31 | ``` 32 | service kube-apiserver status 33 | ``` 34 | 35 | - To check the status of **`kube-controller-manager`** 36 | 37 | ``` 38 | service kube-controller-manager status 39 | ``` 40 | 41 | - To check the status of **`kube-scheduler`** 42 | 43 | ``` 44 | service kube-scheduler status 45 | ``` 46 | 47 | ![cp1](../../images/cp1.PNG) 48 | 49 | - To check the status of **`kubelet`** 50 | 51 | ``` 52 | service kubelet status 53 | ``` 54 | 55 | - To check the status of **`kube-proxy`** on the worker nodes. 56 | 57 | ``` 58 | service kube-proxy status 59 | ``` 60 | 61 | - To check the logs of the Control Plane components deployed as Pods: 62 | 63 | ``` 64 | kubectl logs kube-apiserver-master -n kube-system 65 | ``` 66 | 67 | ![logs](../../images/logs.PNG) 68 | 69 | - To check the logs of the Control Plane components deployed as SystemD Service 70 | 71 | ``` 72 | sudo journalctl -u kube-apiserver 73 | ``` -------------------------------------------------------------------------------- /docs/11-Troubleshooting/05-Practice-Test-Control-Plane-Failure.md: -------------------------------------------------------------------------------- 1 | # Practice Test Control Plane Failure 2 | 3 | - Lets Debug the Failure of [Control Plane](https://kodekloud.com/courses/539883/lectures/9816848) -------------------------------------------------------------------------------- /docs/11-Troubleshooting/06-Solution-Control-Plane-Failure.md: -------------------------------------------------------------------------------- 1 | # Solution Control Plane Failure 2 | 3 | - Lets have a look at the [Solution](https://kodekloud.com/courses/539883/lectures/13232015) of the Control Plane Failure 4 | 5 | ### Solution 6 | 7 | 1. Check Solution 8 | 9 |
10 | 11 | ``` 12 | kubectl get pods -n kube-system 13 | ``` 14 | 15 | ``` 16 | sed -i 's/kube-schedulerrrr/kube-scheduler/g' /etc/kubernetes/manifests/kube-scheduler.yaml 17 | ``` 18 |
19 | 20 | 2. Check Solution 21 | 22 |
23 | 24 | ``` 25 | kubectl scale deploy app --replicas=2 26 | ``` 27 |
28 | 29 | 3. Check Solution 30 | 31 |
32 | 33 | ``` 34 | sed -i 's/controller-manager-XXXX.conf/controller-manager.conf/' /etc/kubernetes/manifests/kube-controller-manager.yaml 35 | ``` 36 |
37 | 38 | 4. Check Solution 39 | 40 |
41 | 42 | ``` 43 | sed -i 's/WRONG-PKI-DIRECTORY/pki/' /etc/kubernetes/manifests/kube-controller-manager.yaml 44 | ``` 45 |
-------------------------------------------------------------------------------- /docs/11-Troubleshooting/07-Worker-Node-Failure.md: -------------------------------------------------------------------------------- 1 | # Worker Node Failure 2 | 3 | - Lets check the status of the Nodes in the cluster, are they **`Ready`** or **`NotReady`** 4 | 5 | ``` 6 | kubectl get nodes 7 | ``` 8 | 9 | - If they are **`NotReady`** then check the **`LastHeartbeatTime`** of the node to find out the time when node might have crashed 10 | 11 | ``` 12 | kubectl describe node worker-1 13 | ``` 14 | 15 | ![wrk](../../images/wrk.PNG) 16 | 17 | 18 | - Check the possible **`CPU`** and **`MEMORY`** using **`top`** and **`df -h`** 19 | 20 | 21 | ![mem](../../images/mem.PNG) 22 | 23 | 24 | - Check the status and the logs of the **`kubelet`** for the possible issues. 25 | 26 | ``` 27 | serivce kubelet status 28 | ``` 29 | 30 | ``` 31 | sudo journalctl –u kubelet 32 | ``` 33 | ![kublet](../../images/kublet.PNG) 34 | 35 | 36 | - Check the **`kubelet`** Certificates, they are not expired, and in the right group and issued by the right CA. 37 | 38 | ``` 39 | openssl x509 -in /var/lib/kubelet/worker-1.crt -text 40 | ``` 41 | 42 | ![cert](../../images/cert.PNG) -------------------------------------------------------------------------------- /docs/11-Troubleshooting/08-Practice-Test-Worker-Node-Failure.md: -------------------------------------------------------------------------------- 1 | # Practice Worker Node Failure 2 | 3 | - Lets Debug the Failure of [Worker Node](https://kodekloud.com/courses/539883/lectures/9816851) -------------------------------------------------------------------------------- /docs/11-Troubleshooting/09-Solution-Worker-Node-Failure.md: -------------------------------------------------------------------------------- 1 | # Solution Worker Node Failure 2 | 3 | - Lets have a look at the [Solution](https://kodekloud.com/courses/539883/lectures/13195330) of the Worker Node Failure 4 | 5 | ### Solution 6 | 7 | 1. Check Solution 8 | 9 |
10 | 11 | ``` 12 | ssh node01 13 | 14 | service kubelet start 15 | ``` 16 |
17 | 18 | 2. Check Solution 19 | 20 |
21 | 22 | ``` 23 | sed -i 's/WRONG-CA-FILE.crt/ca.crt/g' /var/lib/kubelet/config.yaml 24 | ``` 25 |
26 | 27 | 3. Check Solution 28 | 29 |
30 | 31 | ``` 32 | sed -i 's/6553/6443/g' /etc/kubernetes/kubelet.conf 33 | ``` 34 |
-------------------------------------------------------------------------------- /docs/12-Other-Topics/01-Labs-JSON-PATH.md: -------------------------------------------------------------------------------- 1 | # Labs JSON PATH 2 | 3 | - I want to learn Json, Take me to [JSON PATH](https://kodekloud.com/p/json-path-quiz) -------------------------------------------------------------------------------- /docs/12-Other-Topics/02-Pre-Requisites-JSON-PATH.md: -------------------------------------------------------------------------------- 1 | # Pre-requisite for JSON PATH 2 | 3 | - I want to know more about JSON PATH and its [Pre-requisite](https://kodekloud.com/courses/539883/lectures/10781729) -------------------------------------------------------------------------------- /docs/12-Other-Topics/03-Advance-Kubectl-Commands.md: -------------------------------------------------------------------------------- 1 | # Advance Kubectl Commands 2 | 3 | - To get the output of **`kubectl`** in a json format 4 | 5 | ``` 6 | kubectk get nodes -o json 7 | ``` 8 | 9 | ``` 10 | kubectl get pods -o json 11 | ``` 12 | 13 | ![pod](../../images/jpod.PNG) 14 | 15 | - To get the image name used by pod via json path query: 16 | 17 | ``` 18 | kubectl get pods -o=jsonpath='{.items[0].spec.containers[0].image}' 19 | ``` 20 | 21 | - To get the names of node in the cluster: 22 | 23 | ``` 24 | kubectl get pods -o=jsonpath='{.items[*].metadata.name}' 25 | ``` 26 | 27 | ![node](../../images/jnode.PNG) 28 | 29 | 30 | - To get the architecture of node in the cluster: 31 | 32 | ``` 33 | kubectl get pods -o=jsonpath='{.items[*].status.nodeInfo.architecture}' 34 | ``` 35 | 36 | - To get the count of the cpu of node in the cluster: 37 | 38 | ``` 39 | kubectl get pods -o=jsonpath='{.items[*].status.status.capacity.cpu}' 40 | ``` 41 | 42 | #### Loops - Range 43 | 44 | - To print the output in a seprate column(one column with node name and other with CPU count): 45 | 46 | ``` 47 | kubectl get nodes -o=custom-columns=NODE:.metadata.name ,CPU:.status.capacity.cpu 48 | ``` 49 | 50 | ![loop](../../images/loop.PNG) 51 | 52 | - Kubectl comes with a **`sort by`** property which can be combined with json path query to **`sort`** by name or **`CPU count`** 53 | 54 | ``` 55 | kubectl get nodes --sort-by=.metadata.name 56 | ``` 57 | 58 | ![loop](../../images/loop.PNG) 59 | 60 | ``` 61 | kubectl get nodes --sort-by=..status.capacity.cpu 62 | ``` 63 | -------------------------------------------------------------------------------- /docs/13-Lightning-Labs/01-Lightning-Labs-Introduction.md: -------------------------------------------------------------------------------- 1 | # Lightning Labs Introduction 2 | 3 | #### Welcome to the KodeKloud CKA Lightning Labs! 4 | 5 | - This section has been created to give you hands-on practice in solving questions of mixed difficulty in a short period oftime. 6 | 7 | - This environment is only valid for 35 minutes. You have 5-8 questions to complete within this time. 8 | 9 | - You can toggle between the questions but make sure that that you click on END EXAM before the 35 minute mark. To pass, you need to secure 80%. 10 | 11 | Good Luck!!! 12 | 13 | Note: Answers for most questions should be available under the /var/answers directory on the master node. 14 | 15 | 16 | #### Disclaimer: 17 | 18 | - Please note that this exam is not a replica of the actual exam 19 | - Please note that the questions in these exams are not the same as in the actual exam 20 | - Please note that the interface is not the same as in the actual exam 21 | - Please note that the scoring system may not be the same as in the actual exam 22 | - Please note that the difficulty level may not be the same as in the actual exam 23 | 24 | 25 | - I want to understand what Lightning Lab is, [Let's Explore](https://kodekloud.com/courses/539883/lectures/14559515) -------------------------------------------------------------------------------- /docs/14-Mock-Exams/01-Introduction.md: -------------------------------------------------------------------------------- 1 | # Mock Exams Introduction 2 | 3 | Take me to [Introduction of Mock Exams](https://kodekloud.com/courses/539883/lectures/10853073) -------------------------------------------------------------------------------- /docs/14-Mock-Exams/03-Mock-Exam-2.md: -------------------------------------------------------------------------------- 1 | # Mock Exam 2 2 | 3 | Level Up! 4 | Take me to [Mock Exam 2](https://kodekloud.com/courses/539883/lectures/11099883) -------------------------------------------------------------------------------- /docs/14-Mock-Exams/05-Mock-Exam-3.md: -------------------------------------------------------------------------------- 1 | # Mock Exam 2 2 | 3 | Wohooo! Level Up! 4 | Take me to [Mock Exam 2](https://kodekloud.com/courses/539883/lectures/11118242) -------------------------------------------------------------------------------- /images/Readme.md: -------------------------------------------------------------------------------- 1 | # Images 2 | -------------------------------------------------------------------------------- /images/abac.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/abac.PNG -------------------------------------------------------------------------------- /images/acc1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/acc1.PNG -------------------------------------------------------------------------------- /images/acc2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/acc2.PNG -------------------------------------------------------------------------------- /images/acc3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/acc3.PNG -------------------------------------------------------------------------------- /images/annotations.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/annotations.PNG -------------------------------------------------------------------------------- /images/api1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api1.PNG -------------------------------------------------------------------------------- /images/api10.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api10.PNG -------------------------------------------------------------------------------- /images/api2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api2.PNG -------------------------------------------------------------------------------- /images/api3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api3.PNG -------------------------------------------------------------------------------- /images/api4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api4.PNG -------------------------------------------------------------------------------- /images/api5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api5.PNG -------------------------------------------------------------------------------- /images/api6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api6.PNG -------------------------------------------------------------------------------- /images/api7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api7.PNG -------------------------------------------------------------------------------- /images/api8.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api8.PNG -------------------------------------------------------------------------------- /images/api9.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/api9.PNG -------------------------------------------------------------------------------- /images/app.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/app.PNG -------------------------------------------------------------------------------- /images/args.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/args.PNG -------------------------------------------------------------------------------- /images/at1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/at1.PNG -------------------------------------------------------------------------------- /images/auth1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/auth1.PNG -------------------------------------------------------------------------------- /images/auth2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/auth2.PNG -------------------------------------------------------------------------------- /images/auth3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/auth3.PNG -------------------------------------------------------------------------------- /images/auth4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/auth4.PNG -------------------------------------------------------------------------------- /images/auth5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/auth5.PNG -------------------------------------------------------------------------------- /images/auth6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/auth6.PNG -------------------------------------------------------------------------------- /images/bash.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/bash.PNG -------------------------------------------------------------------------------- /images/bc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/bc.PNG -------------------------------------------------------------------------------- /images/be.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/be.PNG -------------------------------------------------------------------------------- /images/be1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/be1.PNG -------------------------------------------------------------------------------- /images/brc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/brc.PNG -------------------------------------------------------------------------------- /images/ca.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ca.PNG -------------------------------------------------------------------------------- /images/ca1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ca1.PNG -------------------------------------------------------------------------------- /images/ca2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ca2.PNG -------------------------------------------------------------------------------- /images/cap.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cap.PNG -------------------------------------------------------------------------------- /images/cert.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert.PNG -------------------------------------------------------------------------------- /images/cert1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert1.PNG -------------------------------------------------------------------------------- /images/cert10.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert10.PNG -------------------------------------------------------------------------------- /images/cert11.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert11.PNG -------------------------------------------------------------------------------- /images/cert2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert2.PNG -------------------------------------------------------------------------------- /images/cert3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert3.PNG -------------------------------------------------------------------------------- /images/cert4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert4.PNG -------------------------------------------------------------------------------- /images/cert5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert5.PNG -------------------------------------------------------------------------------- /images/cert6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert6.PNG -------------------------------------------------------------------------------- /images/cert7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert7.PNG -------------------------------------------------------------------------------- /images/cert8.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert8.PNG -------------------------------------------------------------------------------- /images/cert9.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cert9.PNG -------------------------------------------------------------------------------- /images/certs.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/certs.PNG -------------------------------------------------------------------------------- /images/cmd.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cmd.PNG -------------------------------------------------------------------------------- /images/cmd1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cmd1.PNG -------------------------------------------------------------------------------- /images/cmi.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cmi.PNG -------------------------------------------------------------------------------- /images/cmp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cmp.PNG -------------------------------------------------------------------------------- /images/cmp1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cmp1.PNG -------------------------------------------------------------------------------- /images/cms.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cms.PNG -------------------------------------------------------------------------------- /images/cmv.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cmv.PNG -------------------------------------------------------------------------------- /images/cp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cp.PNG -------------------------------------------------------------------------------- /images/cp1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cp1.PNG -------------------------------------------------------------------------------- /images/cr1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cr1.PNG -------------------------------------------------------------------------------- /images/crt1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/crt1.PNG -------------------------------------------------------------------------------- /images/crt2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/crt2.PNG -------------------------------------------------------------------------------- /images/crt3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/crt3.PNG -------------------------------------------------------------------------------- /images/crt4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/crt4.PNG -------------------------------------------------------------------------------- /images/cs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cs.png -------------------------------------------------------------------------------- /images/cs1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cs1.PNG -------------------------------------------------------------------------------- /images/cs2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/cs2.PNG -------------------------------------------------------------------------------- /images/csd.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/csd.PNG -------------------------------------------------------------------------------- /images/csec.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/csec.PNG -------------------------------------------------------------------------------- /images/csi.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/csi.PNG -------------------------------------------------------------------------------- /images/csr.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/csr.PNG -------------------------------------------------------------------------------- /images/csr1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/csr1.PNG -------------------------------------------------------------------------------- /images/csr2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/csr2.PNG -------------------------------------------------------------------------------- /images/csr3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/csr3.PNG -------------------------------------------------------------------------------- /images/csr4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/csr4.PNG -------------------------------------------------------------------------------- /images/das.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/das.PNG -------------------------------------------------------------------------------- /images/dask.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/dask.PNG -------------------------------------------------------------------------------- /images/db.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/db.PNG -------------------------------------------------------------------------------- /images/dc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/dc.PNG -------------------------------------------------------------------------------- /images/deployment.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/deployment.PNG -------------------------------------------------------------------------------- /images/deployment1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/deployment1.PNG -------------------------------------------------------------------------------- /images/deployment2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/deployment2.PNG -------------------------------------------------------------------------------- /images/dp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/dp.PNG -------------------------------------------------------------------------------- /images/drain.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/drain.PNG -------------------------------------------------------------------------------- /images/ds-uc-kp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ds-uc-kp.PNG -------------------------------------------------------------------------------- /images/ds-uc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ds-uc.PNG -------------------------------------------------------------------------------- /images/ds-ucn.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ds-ucn.PNG -------------------------------------------------------------------------------- /images/ds.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ds.PNG -------------------------------------------------------------------------------- /images/ds1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ds1.PNG -------------------------------------------------------------------------------- /images/ds2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ds2.PNG -------------------------------------------------------------------------------- /images/dsd.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/dsd.PNG -------------------------------------------------------------------------------- /images/dst.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/dst.PNG -------------------------------------------------------------------------------- /images/el.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/el.PNG -------------------------------------------------------------------------------- /images/enc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/enc.PNG -------------------------------------------------------------------------------- /images/entry.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/entry.PNG -------------------------------------------------------------------------------- /images/entry1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/entry1.PNG -------------------------------------------------------------------------------- /images/env.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/env.PNG -------------------------------------------------------------------------------- /images/er.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/er.PNG -------------------------------------------------------------------------------- /images/erest.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/erest.PNG -------------------------------------------------------------------------------- /images/etc1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/etc1.PNG -------------------------------------------------------------------------------- /images/etc2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/etc2.PNG -------------------------------------------------------------------------------- /images/etcd-ha.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/etcd-ha.PNG -------------------------------------------------------------------------------- /images/etcd.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/etcd.PNG -------------------------------------------------------------------------------- /images/etcd1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/etcd1.PNG -------------------------------------------------------------------------------- /images/etcdctl.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/etcdctl.PNG -------------------------------------------------------------------------------- /images/etcdctl1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/etcdctl1.PNG -------------------------------------------------------------------------------- /images/ex.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ex.PNG -------------------------------------------------------------------------------- /images/hpms.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/hpms.PNG -------------------------------------------------------------------------------- /images/hrd.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/hrd.PNG -------------------------------------------------------------------------------- /images/hrd1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/hrd1.PNG -------------------------------------------------------------------------------- /images/hrd2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/hrd2.PNG -------------------------------------------------------------------------------- /images/hrd3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/hrd3.PNG -------------------------------------------------------------------------------- /images/hrd4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/hrd4.PNG -------------------------------------------------------------------------------- /images/hrd5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/hrd5.PNG -------------------------------------------------------------------------------- /images/hrd6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/hrd6.PNG -------------------------------------------------------------------------------- /images/img1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/img1.PNG -------------------------------------------------------------------------------- /images/img2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/img2.PNG -------------------------------------------------------------------------------- /images/ing1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ing1.PNG -------------------------------------------------------------------------------- /images/ing2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ing2.PNG -------------------------------------------------------------------------------- /images/jnode.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/jnode.PNG -------------------------------------------------------------------------------- /images/jpod.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/jpod.PNG -------------------------------------------------------------------------------- /images/k8s-arch.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/k8s-arch.PNG -------------------------------------------------------------------------------- /images/k8s-arch1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/k8s-arch1.PNG -------------------------------------------------------------------------------- /images/ka.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ka.PNG -------------------------------------------------------------------------------- /images/kc1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc1.PNG -------------------------------------------------------------------------------- /images/kc10.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc10.PNG -------------------------------------------------------------------------------- /images/kc11.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc11.PNG -------------------------------------------------------------------------------- /images/kc12.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc12.PNG -------------------------------------------------------------------------------- /images/kc2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc2.PNG -------------------------------------------------------------------------------- /images/kc3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc3.PNG -------------------------------------------------------------------------------- /images/kc4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc4.PNG -------------------------------------------------------------------------------- /images/kc5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc5.PNG -------------------------------------------------------------------------------- /images/kc6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc6.PNG -------------------------------------------------------------------------------- /images/kc7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc7.PNG -------------------------------------------------------------------------------- /images/kc8.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc8.PNG -------------------------------------------------------------------------------- /images/kc9.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kc9.PNG -------------------------------------------------------------------------------- /images/kctl1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kctl1.PNG -------------------------------------------------------------------------------- /images/kctl2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kctl2.PNG -------------------------------------------------------------------------------- /images/key-value.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/key-value.PNG -------------------------------------------------------------------------------- /images/key-value1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/key-value1.PNG -------------------------------------------------------------------------------- /images/key-value2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/key-value2.PNG -------------------------------------------------------------------------------- /images/key-value3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/key-value3.PNG -------------------------------------------------------------------------------- /images/kgn.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kgn.PNG -------------------------------------------------------------------------------- /images/kp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kp.PNG -------------------------------------------------------------------------------- /images/ks.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ks.PNG -------------------------------------------------------------------------------- /images/ksec.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ksec.PNG -------------------------------------------------------------------------------- /images/kube-apiserver.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-apiserver.PNG -------------------------------------------------------------------------------- /images/kube-apiserver1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-apiserver1.PNG -------------------------------------------------------------------------------- /images/kube-apiserver2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-apiserver2.PNG -------------------------------------------------------------------------------- /images/kube-apiserver3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-apiserver3.PNG -------------------------------------------------------------------------------- /images/kube-apiserver4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-apiserver4.PNG -------------------------------------------------------------------------------- /images/kube-controller-manager.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-controller-manager.PNG -------------------------------------------------------------------------------- /images/kube-controller-manager0.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-controller-manager0.PNG -------------------------------------------------------------------------------- /images/kube-controller-manager1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-controller-manager1.PNG -------------------------------------------------------------------------------- /images/kube-controller-manager2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-controller-manager2.PNG -------------------------------------------------------------------------------- /images/kube-controller-manager3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-controller-manager3.PNG -------------------------------------------------------------------------------- /images/kube-proxy.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-proxy.PNG -------------------------------------------------------------------------------- /images/kube-proxy1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-proxy1.PNG -------------------------------------------------------------------------------- /images/kube-proxy2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-proxy2.PNG -------------------------------------------------------------------------------- /images/kube-scheduler1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-scheduler1.PNG -------------------------------------------------------------------------------- /images/kube-scheduler2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-scheduler2.PNG -------------------------------------------------------------------------------- /images/kube-scheduler3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-scheduler3.PNG -------------------------------------------------------------------------------- /images/kube-scheduler4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-scheduler4.PNG -------------------------------------------------------------------------------- /images/kube-scheduler5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube-scheduler5.PNG -------------------------------------------------------------------------------- /images/kube1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kube1.png -------------------------------------------------------------------------------- /images/kubectl.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kubectl.PNG -------------------------------------------------------------------------------- /images/kubelet.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kubelet.PNG -------------------------------------------------------------------------------- /images/kubelet1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kubelet1.PNG -------------------------------------------------------------------------------- /images/kubelet2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kubelet2.PNG -------------------------------------------------------------------------------- /images/kubeu.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kubeu.PNG -------------------------------------------------------------------------------- /images/kubeu1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kubeu1.PNG -------------------------------------------------------------------------------- /images/kubeu2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kubeu2.PNG -------------------------------------------------------------------------------- /images/kubeu3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kubeu3.PNG -------------------------------------------------------------------------------- /images/kublet.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/kublet.PNG -------------------------------------------------------------------------------- /images/la.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/la.PNG -------------------------------------------------------------------------------- /images/labels-ckc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/labels-ckc.PNG -------------------------------------------------------------------------------- /images/labels.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/labels.PNG -------------------------------------------------------------------------------- /images/lables-animals.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lables-animals.PNG -------------------------------------------------------------------------------- /images/lc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lc.PNG -------------------------------------------------------------------------------- /images/lco.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lco.PNG -------------------------------------------------------------------------------- /images/ld.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ld.PNG -------------------------------------------------------------------------------- /images/ld1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ld1.PNG -------------------------------------------------------------------------------- /images/lf.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lf.PNG -------------------------------------------------------------------------------- /images/lg.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lg.PNG -------------------------------------------------------------------------------- /images/lk.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lk.PNG -------------------------------------------------------------------------------- /images/ln.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ln.PNG -------------------------------------------------------------------------------- /images/loga.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/loga.PNG -------------------------------------------------------------------------------- /images/logs-k8s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/logs-k8s.png -------------------------------------------------------------------------------- /images/logs.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/logs.PNG -------------------------------------------------------------------------------- /images/logs1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/logs1.PNG -------------------------------------------------------------------------------- /images/loop.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/loop.PNG -------------------------------------------------------------------------------- /images/lpod.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lpod.PNG -------------------------------------------------------------------------------- /images/lrs.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lrs.PNG -------------------------------------------------------------------------------- /images/lrs1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lrs1.PNG -------------------------------------------------------------------------------- /images/ls.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ls.PNG -------------------------------------------------------------------------------- /images/lse.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lse.PNG -------------------------------------------------------------------------------- /images/lt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/lt.PNG -------------------------------------------------------------------------------- /images/mcp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/mcp.PNG -------------------------------------------------------------------------------- /images/mcpc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/mcpc.PNG -------------------------------------------------------------------------------- /images/mem.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/mem.PNG -------------------------------------------------------------------------------- /images/mmp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/mmp.PNG -------------------------------------------------------------------------------- /images/mode.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/mode.PNG -------------------------------------------------------------------------------- /images/mode1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/mode1.PNG -------------------------------------------------------------------------------- /images/mon.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/mon.PNG -------------------------------------------------------------------------------- /images/ms.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ms.PNG -------------------------------------------------------------------------------- /images/ms1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ms1.PNG -------------------------------------------------------------------------------- /images/msg.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/msg.PNG -------------------------------------------------------------------------------- /images/na.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/na.PNG -------------------------------------------------------------------------------- /images/na1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/na1.PNG -------------------------------------------------------------------------------- /images/na2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/na2.PNG -------------------------------------------------------------------------------- /images/namespace.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/namespace.PNG -------------------------------------------------------------------------------- /images/namespace1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/namespace1.PNG -------------------------------------------------------------------------------- /images/nat.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/nat.PNG -------------------------------------------------------------------------------- /images/nats.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/nats.PNG -------------------------------------------------------------------------------- /images/nats1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/nats1.PNG -------------------------------------------------------------------------------- /images/node-auth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/node-auth.png -------------------------------------------------------------------------------- /images/node-controller.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/node-controller.PNG -------------------------------------------------------------------------------- /images/node.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/node.PNG -------------------------------------------------------------------------------- /images/note.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/note.PNG -------------------------------------------------------------------------------- /images/note1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/note1.PNG -------------------------------------------------------------------------------- /images/np.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/np.PNG -------------------------------------------------------------------------------- /images/npol.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/npol.PNG -------------------------------------------------------------------------------- /images/npol1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/npol1.PNG -------------------------------------------------------------------------------- /images/npol2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/npol2.PNG -------------------------------------------------------------------------------- /images/npol3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/npol3.PNG -------------------------------------------------------------------------------- /images/npol4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/npol4.PNG -------------------------------------------------------------------------------- /images/npolsec.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/npolsec.PNG -------------------------------------------------------------------------------- /images/ns-old.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns-old.PNG -------------------------------------------------------------------------------- /images/ns.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns.PNG -------------------------------------------------------------------------------- /images/ns1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns1.PNG -------------------------------------------------------------------------------- /images/ns10.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns10.PNG -------------------------------------------------------------------------------- /images/ns11.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns11.PNG -------------------------------------------------------------------------------- /images/ns12.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns12.PNG -------------------------------------------------------------------------------- /images/ns13.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns13.PNG -------------------------------------------------------------------------------- /images/ns2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns2.PNG -------------------------------------------------------------------------------- /images/ns3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns3.PNG -------------------------------------------------------------------------------- /images/ns4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns4.PNG -------------------------------------------------------------------------------- /images/ns5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns5.PNG -------------------------------------------------------------------------------- /images/ns6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns6.PNG -------------------------------------------------------------------------------- /images/ns7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns7.PNG -------------------------------------------------------------------------------- /images/ns8.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns8.PNG -------------------------------------------------------------------------------- /images/ns9.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ns9.PNG -------------------------------------------------------------------------------- /images/nsec.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/nsec.PNG -------------------------------------------------------------------------------- /images/nsel.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/nsel.PNG -------------------------------------------------------------------------------- /images/nsel1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/nsel1.PNG -------------------------------------------------------------------------------- /images/nsl.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/nsl.PNG -------------------------------------------------------------------------------- /images/opt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/opt.PNG -------------------------------------------------------------------------------- /images/os.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/os.PNG -------------------------------------------------------------------------------- /images/other-controllers.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/other-controllers.PNG -------------------------------------------------------------------------------- /images/pki.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/pki.PNG -------------------------------------------------------------------------------- /images/pod.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/pod.PNG -------------------------------------------------------------------------------- /images/pod1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/pod1.PNG -------------------------------------------------------------------------------- /images/pod2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/pod2.PNG -------------------------------------------------------------------------------- /images/pod3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/pod3.PNG -------------------------------------------------------------------------------- /images/pod4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/pod4.PNG -------------------------------------------------------------------------------- /images/post.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/post.PNG -------------------------------------------------------------------------------- /images/prvr.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/prvr.PNG -------------------------------------------------------------------------------- /images/prvr1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/prvr1.PNG -------------------------------------------------------------------------------- /images/r1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/r1.PNG -------------------------------------------------------------------------------- /images/r2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/r2.PNG -------------------------------------------------------------------------------- /images/r3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/r3.PNG -------------------------------------------------------------------------------- /images/r4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/r4.PNG -------------------------------------------------------------------------------- /images/rb.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rb.PNG -------------------------------------------------------------------------------- /images/rbac.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rbac.PNG -------------------------------------------------------------------------------- /images/rbac1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rbac1.PNG -------------------------------------------------------------------------------- /images/rbac2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rbac2.PNG -------------------------------------------------------------------------------- /images/rbac3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rbac3.PNG -------------------------------------------------------------------------------- /images/rbac4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rbac4.PNG -------------------------------------------------------------------------------- /images/rbac5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rbac5.PNG -------------------------------------------------------------------------------- /images/rc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rc.PNG -------------------------------------------------------------------------------- /images/rc1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rc1.PNG -------------------------------------------------------------------------------- /images/rc2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rc2.PNG -------------------------------------------------------------------------------- /images/rc3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rc3.PNG -------------------------------------------------------------------------------- /images/rcd.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rcd.PNG -------------------------------------------------------------------------------- /images/rcd1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rcd1.PNG -------------------------------------------------------------------------------- /images/rci.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rci.PNG -------------------------------------------------------------------------------- /images/rcrl.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rcrl.PNG -------------------------------------------------------------------------------- /images/ref.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/ref.PNG -------------------------------------------------------------------------------- /images/relational-dbs.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/relational-dbs.PNG -------------------------------------------------------------------------------- /images/replication-controller.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/replication-controller.PNG -------------------------------------------------------------------------------- /images/rl.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rl.PNG -------------------------------------------------------------------------------- /images/roles.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/roles.PNG -------------------------------------------------------------------------------- /images/rollc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rollc.PNG -------------------------------------------------------------------------------- /images/rollv.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rollv.PNG -------------------------------------------------------------------------------- /images/rr-pod.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rr-pod.PNG -------------------------------------------------------------------------------- /images/rr.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rr.PNG -------------------------------------------------------------------------------- /images/rs.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rs.PNG -------------------------------------------------------------------------------- /images/rs1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rs1.PNG -------------------------------------------------------------------------------- /images/rs2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rs2.PNG -------------------------------------------------------------------------------- /images/rsc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rsc.PNG -------------------------------------------------------------------------------- /images/rsl.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rsl.PNG -------------------------------------------------------------------------------- /images/rsl1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rsl1.PNG -------------------------------------------------------------------------------- /images/rsm.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/rsm.PNG -------------------------------------------------------------------------------- /images/sc1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sc1.png -------------------------------------------------------------------------------- /images/sc2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sc2.PNG -------------------------------------------------------------------------------- /images/sc3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sc3.PNG -------------------------------------------------------------------------------- /images/sec.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sec.PNG -------------------------------------------------------------------------------- /images/secd.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/secd.PNG -------------------------------------------------------------------------------- /images/sech.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sech.PNG -------------------------------------------------------------------------------- /images/seck.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/seck.PNG -------------------------------------------------------------------------------- /images/seco.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/seco.PNG -------------------------------------------------------------------------------- /images/secp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/secp.PNG -------------------------------------------------------------------------------- /images/secpv.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/secpv.PNG -------------------------------------------------------------------------------- /images/secv.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/secv.PNG -------------------------------------------------------------------------------- /images/sl.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sl.PNG -------------------------------------------------------------------------------- /images/sleep.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sleep.PNG -------------------------------------------------------------------------------- /images/sleep1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sleep1.PNG -------------------------------------------------------------------------------- /images/sleep2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sleep2.PNG -------------------------------------------------------------------------------- /images/sort.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sort.PNG -------------------------------------------------------------------------------- /images/sp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sp.PNG -------------------------------------------------------------------------------- /images/sp1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sp1.PNG -------------------------------------------------------------------------------- /images/sp2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sp2.PNG -------------------------------------------------------------------------------- /images/sp3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sp3.PNG -------------------------------------------------------------------------------- /images/sp4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sp4.PNG -------------------------------------------------------------------------------- /images/sp5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sp5.PNG -------------------------------------------------------------------------------- /images/spvsds.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/spvsds.PNG -------------------------------------------------------------------------------- /images/srv-types.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srv-types.PNG -------------------------------------------------------------------------------- /images/srv1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srv1.PNG -------------------------------------------------------------------------------- /images/srv2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srv2.PNG -------------------------------------------------------------------------------- /images/srv3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srv3.PNG -------------------------------------------------------------------------------- /images/srv4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srv4.PNG -------------------------------------------------------------------------------- /images/srvc1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srvc1.PNG -------------------------------------------------------------------------------- /images/srvc2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srvc2.PNG -------------------------------------------------------------------------------- /images/srvc3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srvc3.PNG -------------------------------------------------------------------------------- /images/srvnp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srvnp.PNG -------------------------------------------------------------------------------- /images/srvnp1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srvnp1.PNG -------------------------------------------------------------------------------- /images/srvnp2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srvnp2.PNG -------------------------------------------------------------------------------- /images/srvnp3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srvnp3.PNG -------------------------------------------------------------------------------- /images/srvnp4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/srvnp4.PNG -------------------------------------------------------------------------------- /images/stg1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/stg1.PNG -------------------------------------------------------------------------------- /images/stg2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/stg2.PNG -------------------------------------------------------------------------------- /images/stg3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/stg3.PNG -------------------------------------------------------------------------------- /images/sum.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sum.PNG -------------------------------------------------------------------------------- /images/svc.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/svc.PNG -------------------------------------------------------------------------------- /images/sxc1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sxc1.PNG -------------------------------------------------------------------------------- /images/sxc2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/sxc2.PNG -------------------------------------------------------------------------------- /images/tandt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tandt.PNG -------------------------------------------------------------------------------- /images/tls.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tls.PNG -------------------------------------------------------------------------------- /images/tls1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tls1.PNG -------------------------------------------------------------------------------- /images/tn-na.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tn-na.PNG -------------------------------------------------------------------------------- /images/tn-ns.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tn-ns.PNG -------------------------------------------------------------------------------- /images/tn-nsa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tn-nsa.png -------------------------------------------------------------------------------- /images/tn.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tn.PNG -------------------------------------------------------------------------------- /images/tntm.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tntm.PNG -------------------------------------------------------------------------------- /images/tp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/tp.PNG -------------------------------------------------------------------------------- /images/traffic.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/traffic.PNG -------------------------------------------------------------------------------- /images/up.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/up.PNG -------------------------------------------------------------------------------- /images/up1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/up1.PNG -------------------------------------------------------------------------------- /images/up2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/up2.PNG -------------------------------------------------------------------------------- /images/view.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/view.PNG -------------------------------------------------------------------------------- /images/web.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/web.PNG -------------------------------------------------------------------------------- /images/web1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/web1.PNG -------------------------------------------------------------------------------- /images/webhook.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/webhook.PNG -------------------------------------------------------------------------------- /images/wrk.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmumshad/certified-kubernetes-administrator-course/dd3c388941e188a018b3988d8fb562afaa8fdfe8/images/wrk.PNG -------------------------------------------------------------------------------- /ubuntu/allow-bridge-nf-traffic.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sysctl net.bridge.bridge-nf-call-iptables=1 3 | -------------------------------------------------------------------------------- /ubuntu/install-docker-2.sh: -------------------------------------------------------------------------------- 1 | cd /tmp 2 | curl -fsSL https://get.docker.com -o get-docker.sh 3 | sh /tmp/get-docker.sh 4 | -------------------------------------------------------------------------------- /ubuntu/install-docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export DEBIAN_FRONTEND=noninteractive 3 | apt-get update \ 4 | && apt-get install -y \ 5 | apt-transport-https \ 6 | ca-certificates \ 7 | curl \ 8 | software-properties-common \ 9 | && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - \ 10 | && add-apt-repository \ 11 | "deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ 12 | $(lsb_release -cs) \ 13 | stable" \ 14 | && apt-get update \ 15 | && apt-get install -y docker-ce=$(apt-cache madison docker-ce | grep 18.06 | head -1 | awk '{print $3}') 16 | -------------------------------------------------------------------------------- /ubuntu/update-dns.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sed -i -e 's/#DNS=/DNS=8.8.8.8/' /etc/systemd/resolved.conf 4 | 5 | service systemd-resolved restart -------------------------------------------------------------------------------- /ubuntu/vagrant/install-guest-additions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | GUEST_ADDITION_VERSION=5.2.4 3 | GUEST_ADDITION_ISO=VBoxGuestAdditions_${GUEST_ADDITION_VERSION}.iso 4 | GUEST_ADDITION_MOUNT=/media/VBoxGuestAdditions 5 | 6 | apt-get install linux-headers-$(uname -r) build-essential dkms 7 | 8 | wget http://download.virtualbox.org/virtualbox/${GUEST_ADDITION_VERSION}/${GUEST_ADDITION_ISO} 9 | mkdir -p ${GUEST_ADDITION_MOUNT} 10 | mount -o loop,ro ${GUEST_ADDITION_ISO} ${GUEST_ADDITION_MOUNT} 11 | sh ${GUEST_ADDITION_MOUNT}/VBoxLinuxAdditions.run 12 | rm ${GUEST_ADDITION_ISO} 13 | umount ${GUEST_ADDITION_MOUNT} 14 | rmdir ${GUEST_ADDITION_MOUNT} 15 | -------------------------------------------------------------------------------- /ubuntu/vagrant/setup-hosts.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | IFNAME=$1 4 | ADDRESS="$(ip -4 addr show $IFNAME | grep "inet" | head -1 |awk '{print $2}' | cut -d/ -f1)" 5 | sed -e "s/^.*${HOSTNAME}.*/${ADDRESS} ${HOSTNAME} ${HOSTNAME}.local/" -i /etc/hosts 6 | 7 | # remove ubuntu-bionic entry 8 | sed -e '/^.*ubuntu-bionic.*/d' -i /etc/hosts 9 | 10 | # Update /etc/hosts about other hosts 11 | cat >> /etc/hosts <