Container Images and Practical
2. k8s.gcr.io/echoserver:1.10
3. nginx
apiVersion: apps/v1
kind: Deployment
metadata:
name: client
namespace: cli
spec:
selector:
matchLabels:
app: cli
replicas:
1
template:
metadata:
labels:
app: cli
spec:
containers:
- name: client
image:
curlimages/curl:latest
env:
- name: ADDRESS
value:
"service_name.svc.cluster.local"
command: [
"/bin/sh"
,
"-c"
,
"while true; do date; curl $ADDRESS 2>/dev/null | grep '<title>'; sleep 0.5; done;"
]
CKA and CKAD: My Notes and Website Links
Let me post all links, for CKA and CKAD exam
Apart form there are many links material on Internet. Here is the list of website, that I am aware about
https://github.com/StenlyTU/K8s-training-official
https://www.manning.com/books/kubernetes-in-action#toc
https://amartus.com/amartus-kubernetes-exam-tips/
https://medium.com/@
https://medium.com/akena-blog/
https://scriptcrunch.com/
https://hackmd.io/@mauilion/cka-lab
CKAD
https://itnext.io/the-
https://itnext.io/
https://itnext.io/learn-how-
https://github.com/
https://azure.microsoft.com/
https://kubernetes.io/
https://discuss.kubernetes.io/
https://kubernetes.io/
https://training.
https://www.edx.org/course/
https://www.edx.org/course/
https://killer.sh/course/
https://github.com/
https://kubernetes.io/docs/
https://learnk8s.io/
https://learnk8s.io/academy
https://kodekloud.com/
https://kubernauts.de/en/
https://docs.google.com/
https://collabnix.github.io/
https://www.katacoda.com/
https://www.youtube.com/watch?
https://docs.google.com/
https://killer.sh/
https://github.com/
https://github.com/
CKA Tips
* Network Policy:
- If we put podSelector: {} then it means all pods
- if we do not mention about podSelector at all, then it means none of the pod.
* We can set env, sa, image, selector, and resources (Requests and Limit) with kubectl set command
* We can set subject (user | sa | group) for rolebinding | clusterrolebinding
* now (k8s 1.18) kubectl run is only for pod. Not for deployment and job
* We cannot create pv, pvc , .... cannot be with kubectl create
* With 'kubectl expose' command we cannot specify nodePort value. With kubectl create service we can.
* with 'kubectl create deploy' we can specify replica. Not containerPort
* kubectl auth can-i VERB_ACTION RESOURCE_OBJECT --as USER --namespace NS
* kubectl explain K8s_OBJECT is useful. kubectl explain K8s_OBJECT --recursive is more useful
* kubectl api-resources is useful to know short form
* grep -A N , grep -B N, grep -C N: Here N is number of line. A means after, B is before
* to run on specific node : nodeName
* mount secret : secretName ; mount configMap : name at Volumes section
* securityContext.capabilities is only for container, not for pod
* useful command: kubectl config set-context --current --namespace=default
* verify taint with kubectl describe node | grep -i Taint
* If we edit replicaset, it impacts when new pod is created.
* If replicaset is part of deployment and if we delete replicaset, it will be recreate with same name.
* If pod is part of replicaset and if we delete pod, it will be created with different name.
* Replicaset has name. Pod has genearateName