Giter Club home page Giter Club logo

ckad-questions's Introduction

Sample CKAD exercises and solutions

kubernetes-ckad-color-300x294

Disclaimer

  • Opinions expressed here are solely my own and do not express the views or opinions of JPMorgan Chase.
  • Any third-party trademarks are the intellectual property of their respective owners and any mention herein is for referential purposes only.

Questions by Domain


Docker Desktop Setup

Linux access to Docker desktop

  • Windows Subsystem for Linux requires you to install a Linux distribution from the Microsoft Store.
    • Tick the 'Use the WSL 2 based engine' under the 'General' panel
  • To mimic the CKAD exam please execute all the commands in this repo from this Linux distribution that you installed.
    • The CKAD exam terminal is Ubuntu based.
  • Start the distribution directly by searching for Ubuntu and starting the application

Prerequisite software for Docker desktop

Please install these software components, required to answer questions in later sections:

Metrics Server - Kubernetes top command

Metrics Server installs into Kubernetes

By default the metrics server required for the kubectl top command is not present on Docker Desktop.

Please install the metrics server with the following command:

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
kubectl patch deployment metrics-server -n kube-system --type 'json' -p '[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value": "--kubelet-insecure-tls"}]'

Contour Ingress - Kubernetes Ingress Controller

Contour installs into Kubernetes

contour

By default the Contour Ingress required for the Ingress Networking question is not present on Docker Desktop.

Please install the contour ingress with the following command:

kubectl apply -f https://projectcontour.io/quickstart/contour.yaml

Calico - Kubernetes Container Network Interface (CNI)

Calico installs into Kubernetes

calico

Calico is required for the non native Kubernetes resources lookup question.

curl https://docs.projectcalico.org/manifests/calico.yaml | kubectl apply -f -

To work with Calico Network Policies use the following command:

kubectl get networkpolicy.p

Helm - Kubernetes Package Manager

Helm installs into WSL Linux

Please install the Helm with the following command:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

kubectl convert - Deal with deprecated API versions

kubectl convert installs into WSL Linux

Please install the kubectl convert with the following command:

curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256"
echo "$(<kubectl-convert.sha256) kubectl-convert" | sha256sum --check
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
kubectl convert --help

Octant - Kubernetes UI

Octant installs into Windows 11

octant

  • Consider installing Octant to visualize Kubernetes Resource Types
  • This will help you understand the interaction and relationships between Kubernetes Resource types
  • Installation instructions for Octant can be found here


Logistics

  • You can follow along and cut and paste the example code snippets into your own cluster
  • A single node cluster is sufficient for all examples
  • All code snippets have been created and tested on Docker Desktop
  • To clean up just execute commands in the "Clean Up" section at the end of each section

End of Section

ckad-questions's People

Contributors

jamesbuckett avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.