docs: add Kubernetes CKS study notes
This commit is contained in:
114
kubernetes/mock exams/exam-2.md
Normal file
114
kubernetes/mock exams/exam-2.md
Normal file
@@ -0,0 +1,114 @@
|
||||
```bash
|
||||
|
||||
# storageclass
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: local-sc
|
||||
annotations:
|
||||
storageclass.kubernetes.io/is-default-class: "true"
|
||||
provisioner: kubernetes.io/no-provisioner
|
||||
reclaimPolicy: Retain # default value is Delete
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
|
||||
# -------------
|
||||
|
||||
# multipod deployment
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: logging-deployment
|
||||
name: logging-deployment
|
||||
namespace: logging-ns
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: logging-deployment
|
||||
strategy: {}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: logging-deployment
|
||||
spec:
|
||||
containers:
|
||||
- command: ["/bin/sh", "-c"]
|
||||
args:
|
||||
- |
|
||||
mkdir -p /var/log/app
|
||||
while true; do
|
||||
echo "Log entry" >> /var/log/app/app.log
|
||||
sleep 5
|
||||
done
|
||||
image: busybox
|
||||
name: busybox
|
||||
volumeMounts:
|
||||
- name: log-vol
|
||||
mountPath: /var/log/app
|
||||
- name: log-agent
|
||||
image: busybox
|
||||
command: ["/bin/sh", "-c"]
|
||||
args:
|
||||
- |
|
||||
touch /var/log/app/app.log
|
||||
tail -f /var/log/app/app.log
|
||||
volumeMounts:
|
||||
- name: log-vol
|
||||
mountPath: /var/log/app
|
||||
volumes:
|
||||
- name: log-vol
|
||||
emptyDir: {}
|
||||
|
||||
# -----------
|
||||
|
||||
kubectl create ingress webapp-ingress -n ingress-ns --rule="kodekloud-ingress.app/*=webapp-svc:80" --class=nginx -o yaml --dry-run > ingress.yaml
|
||||
|
||||
# --------
|
||||
|
||||
# create deployment, upgrade image
|
||||
kubectl create deployment nginx-deploy --image=nginx:1.16 --replicas=1
|
||||
kubectl set image deployment/nginx-deploy nginx=nginx:1.17
|
||||
|
||||
# --------
|
||||
|
||||
cat csr.yaml
|
||||
apiVersion: certificates.k8s.io/v1
|
||||
kind: CertificateSigningRequest
|
||||
metadata:
|
||||
name: john-developer # example
|
||||
spec:
|
||||
# This is an encoded CSR. Change this to the base64-encoded contents of myuser.csr
|
||||
request: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ1ZEQ0NBVHdDQVFBd0R6RU5NQXNHQTFVRUF3d0VhbTlvYmpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRApnZ0VQQURDQ0FRb0NnZ0VCQU5BTEhVNlMxSVE1WWU4QkE1SW0vZlJlVlhaQ0QrUTUxT0NocmtWdXZ2Y0RFcERRCjZvQ2hjRXJoOUVYWlEwL0g4eEVOSkZoTzY1cyszLzVqRmRWZXRWY2RrZk1UVWJJdUtvS092R3ZWSlU4dWowWnQKUy9KRjRGQkQvOXdndXk1azYvY3hFSlF1cHMzLzBwTCtqUi9rK01SM0ZscWZCZG1WV1dVMmxmYm5TWElsQnFLMwova3RMcUhadG9oT2ZVN0hYR2gwUEY5YThCaXpmK0REdE8ya3Z1VFhMMHBJV3FyVkx6QUhPZVdId1phVXpmUmUvCnR1UjFncHF2a2dTNFJPTWdHeExucHZZcXgyV0cxbDNGaTBzTDVxM1F0dkhzelMrZjQwcWVzd2pnU0JQcTM1amQKR1hIakFJdnY4MFliSWxub0FTd0oyUzR0Z3NvNG4yMitZc2FkTXpVQ0F3RUFBYUFBTUEwR0NTcUdTSWIzRFFFQgpDd1VBQTRJQkFRQ01reFAxWElaWUhSUHNuVHdlRGUzTDIzeWhJLzVlOWltbzZrTWd0MVhxRXFNeVJvTUc4dStKCmlPNmFHVFpMSE5QbFVKR3pqSWpGR2RsUUtDMVpiOEUyUVpsOFhjNjA5SzlTOFlFVjg2Y0tNL2xxR1Q3OFp1blEKb1ljRWpwRUZYUHMwQkZMQlYwRnRVeDNVd2JWYmltMGErOEtWSjhFNllnSjcrb2JOaURNc0NpR21hK1J0K0hmRwpHcE1vaEdhQXRoSFhuSEtYbUk1VjNBbmtKM0c3am1rdThWY1ZBYkl3NWs2L1RUQjBZUnQxUXdIZGxMUGU1ZVc4ClBCYnB1bEpaMWxocWhxV01lblVIOU9UTVI4b0ZiazFzaVpSN2VKeU5GMWtWYlRkQWVLT2FsMVk3TlcxamY1Y0gKREhwcFBZRW84ZlJ1UE5GTXFCNTlxQkM4bEF5MGd0MlcKLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCg==
|
||||
signerName: kubernetes.io/kube-apiserver-client
|
||||
expirationSeconds: 86400 # one day
|
||||
usages:
|
||||
- client auth
|
||||
|
||||
kubectl certificate approve john
|
||||
kubectl certificate approve john-developer
|
||||
|
||||
kubectl create role developer --verb=create,list,get,update,delete --resource=pods -n development
|
||||
kubectl create rolebinding developer --role developer -n development --user=john
|
||||
|
||||
|
||||
# ---------
|
||||
|
||||
kubectl run nginx-resolver --image=nginx
|
||||
kubectl expose pod nginx-resolver --port=80 --name=nginx-resolver-service
|
||||
|
||||
k run test-dns --image=busybox:1.28 --rm -it --restart=Never \
|
||||
-- nslookup nginx-resolver-service > /root/CKA/nginx.svc
|
||||
|
||||
k run test-dns --image=busybox:1.28 --rm -it --restart=Never -- nslookup 172-17-1-15.default.pod.cluster.local > /root/CKA/nginx.pod
|
||||
|
||||
# -----
|
||||
# nginx-critical
|
||||
|
||||
k run nginx-critical --image=nginx -o yaml --dry-run > /etc/kubernetes/manifests/nginx-critical.yaml
|
||||
|
||||
# ------
|
||||
# HPA
|
||||
kubectl autoscale deployment backend-deployment --min=3 --max=15 --memory=65% --name backend-hpa -n backend
|
||||
|
||||
Reference in New Issue
Block a user