```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