반응형 전체 글93 [CKA] 11. cluster upgrade | 노드 drain | cordon / uncordon 01. cluster upgrade 진행 / 조건1: 업그레이드 전 drain, 조건2: 업그레이드 후 uncordon [solve][root@k8s-master ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master Ready control-plane 6h48m v1.27.2k8s-node1 Ready 6h32m v1.27.2k8s-node2 Ready 6h31m v1.27.2[root@k8s-master ~]# [root@k8s-master ~]# [root@k8s-master ~]# [root@k8s-master ~]# [r.. 2025. 1. 14. [CKA] 10. kubectl top 명령어 사용 문제 | --sort-by | -l 옵션 사용 01. cpu 사용률이 높은 순으로 pod list를 확인하고 가장 사용률이 높은 pod를 출력해서 특정 파일로 저장한다. [solve][root@k8s-master ~]# kubectl top pods --sort-by=cpu -l app=nginxNAME CPU(cores) MEMORY(bytes) nginx-deployment-cbdccf466-4k8t8 0m 1Mi nginx-deployment-cbdccf466-6nqjr 0m 1Mi nginx-deployment-cbdccf466-bjtj5 0m 1Mi n.. 2025. 1. 14. [CKA] 09. persistent volume | persistent volume claim 생성 01. 특정 조건의 persistent volume을 생성한다. | capacity 2Gi / accss mode는 ReadWriteMany / type은 hostpath [solve][root@k8s-master ~]# vi 16-test.yamlapiVersion: v1kind: PersistentVolumemetadata: name: app-data labels: type: localspec: storageClassName: manual capacity: storage: 2Gi accessModes: - ReadWriteMany hostPath: path: "/srv/app-data"[root@k8s-master ~]# kubectl apply -f 16-test... 2025. 1. 14. [CKA] 08. deployment 생성 | deployment scale out 01. deployment의 scale을 조정 / pod의 스케일인 or 스케일아웃을 확인 [precondition]: deployment의 scale을 3으로 조정하기 위해서 먼저 2개의 pod를 가지는 deployment를 먼저 생성함 [root@k8s-master ~]# vi 10-test.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginxspec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: conta.. 2025. 1. 14. [CKA] 07. pod 생성 | kubectl apply -f | yaml로 pod 생성 | manifest로 pod 생성 Manifest란? 매니페스트(Manifest) JSON 또는 YAML 형식으로 명시한 쿠버네티스 API 오브젝트의 명세.[-] 매니페스트는 사용자가 해당 매니페스트를 적용했을 때 쿠버네티스가 유지해야 하는 오브젝트의 의도한 상태(desired state)를 나타낸다. 각 구성 파일은 여러 매니페스트를 포함할 수 있다.출처 - kubernetes.io.docs 01. 특정 pod를 생성한다. 조건 1: volume mount path 사용, 조건 2: volume must not be persistent [solve][root@k8s-master ~]# vi 8-test.yamlapiVersion: v1kind: Podmetadata: name: non-persistent-redisspec: cont.. 2025. 1. 14. [CKA] 06. kubectl create | kubectl delete | kubectl edit 명령어 사용 문제 01. 특정 pod 2개를 찾아서 삭제한다. [precondition]삭제할 특정 pod 2개를 미리 생성한다. [root@k8s-master ~]# vi 6-test.yamlapiVersion: v1kind: Podmetadata: name: nginx-devspec: containers: - name: nginx-dev image: nginx:1.14.2 ports: - containerPort: 80---apiVersion: v1kind: Podmetadata: name: nginx-prodspec: containers: - name: nginx-prod image: nginx:1.14.2 ports: - containerPort: 80[root@k8s-.. 2025. 1. 11. [CKA] 05.kubelet 복구 | systemctl status kubelet | restart kubelet | enable kubelet 01. 서비스가 되지 않는 노드를 찾고 서비스를 복구한다. [precondition]Node가 서비스되지 않는 상황을 만들기 위해서 node1의 kubelet을 stop한다. [root@k8s-node1 ~]# systemctl stop kubelet[root@k8s-node1 ~]# systemctl status kubelet● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/kubelet.service.d └─1.. 2025. 1. 11. [CKA] 04. kubectl describe 명령어 사용 문제 01. 환경 변수를 가진 pod를 생성하고 pod 내부에서 환경 변수를 확인한다. [solve][root@k8s-master ~]# vi 4-test.yamlapiVersion: v1kind: Podmetadata: name: env-podspec: containers: - name: envar-demo-container image: gcr.io/google-samples/hello-app:2.0 env: - name: var1 value: value1[root@k8s-master ~]# kubectl apply -f 4-test.yaml pod/env-pod created[root@k8s-master ~]# [root@k8s-master ~]# kubectl descri.. 2025. 1. 11. [CKA] 03. kubectl logs 명령어 사용 문제 01. 쿠버네티스에서 특정 Pod의 로그를 가져와 특정 패턴을 검색한 결과를 파일 /opt/error-logs에 저장한다. [precondition] 위 문제의 테스트를 위해서 먼저 error가 출력되는 pod를 생성한다.[root@k8s-master ~]# vi 1-test.yaml apiVersion: v1kind: Podmetadata: name: frontendspec: containers: - name: frontend image: alpine:latest command: ['sh', '-c', 'echo "test is started"'][root@k8s-master ~]# kubectl apply -f 1-test.yaml pod/frontend created[root@k8.. 2025. 1. 11. 이전 1 2 3 4 5 6 7 8 ··· 11 다음 반응형